Kesha Williams is an award-winning software engineer, machine learning practitioner, and AWS training architect at A Cloud Guru. An Amazon-recognized pioneer in machine learning and an expert Java developer, Kesha is a technical instructor in Java, cloud, DevOps, and machine learning. She’s taught and mentored thousands of developers across the world through her work, and through her social and professional networking platform, Colors of STEM.
She’s also a member of the HackerRank Skills Advisory Council, a panel of tech industry experts dedicated to defining an industry-standardized library of technical skills as a resource for those in tech.
HackerRank Senior Director of Product Management, Dan Somrack, connected with Kesha remotely to learn more about her journey from Java developer, to engineering manager, to cloud computing instructor. Along the way, we got Kesha’s advice on hiring cloud engineers—and her take on the importance of mentoring and community in tech.
Listen to the full interview below, or read on for our biggest takeaways.
A crash course in key cloud computing skills: what they are, and how to find folks that have them
While the notion of cloud computing has existed since the 1960s, cloud computing as we know it today is a much more recent advancement. Popular cloud computing providers like Amazon Web Services (AWS), for example, only emerged in 2006.
Since then, it’s revolutionized the world of tech. “When you’re using cloud computing, you as a developer, or as an organization—you’re no longer responsible for maintaining the hardware,” Kesha explains. “You actually leave that to the cloud providers.” It allows companies to ship products to market faster, and cheaper.
But hiring cloud engineers to build and maintain those cloud environments can be tricky. “Some of the requirements are different from your average software engineering job,” Kesha says.
The key skills of a cloud engineer skill set
When it comes to seeking out cloud engineer candidates, she says the key is to look for someone that understands both cloud architecture and development.
“You can’t just be great at architecture, and you can’t just be great at development. You have to blend those two skills into this cloud engineering role,” Kesha explains. When evaluating a cloud engineer, you need to ensure they have a balance of both skills.
"I've worked with architects that really understand the theory of how cloud services work...but practically, when it comes to implementation, things don't always fit together as neatly as you expect them to,” Kesha recalls. "On the flip side, I've seen very skilled developers...but they don't really understand the pros and cons of the different cloud services, and how they fit together." The key is to find candidates who can comfortably and practically exercise both skill sets.
Kesha’s advice for identifying strong cloud engineer candidates
But cloud engineer skills aren’t necessarily easy to assess in a simple 1:1 phone call. To begin narrowing down top candidates, she says, you can start with looking for certifications. But they’re not the be all and the end all to finding the right candidate.
“If they have the certification, and the job experience, and they’ve mastered one of the cloud providers—like Amazon Web Services (AWS)—it’s a good base,” Kesha says. For AWS, some of the certifications she looks for are the AWS Solutions Architect certification, and The Cloud Practitioner certification for candidates newer to the field.
“Make sure that they understand the different compute services, the storage services, the security services, and networking, and how they all fit together,” Kesha says. Looking at their side projects, too, can help garner a more complete understanding of their experience. As they’re evaluating candidates, she says, hiring managers can also use the HackerRank Skills Directory as a guide to leveling candidates. It defines a wide variety of key cloud computing skills, along with key competencies expected at the basic, intermediate, and advanced levels for each.
Upleveling cloud computing skills as a developer
And for developers looking to uplevel their skills in cloud computing, or prepare for a cloud engineer interview? Kesha says the Skills Directory can help them level themselves and determine areas to skill up. “For developers, it helps identify the areas that you need to know, or maybe areas where you’re strong, and areas where you’re weak and may need to skill up before an interview,” Kesha explains.
“Think of it like a learning path, really, with an outline to follow” Kesha says. “It shows you, for the basic competency [in a skill], these are the things that you need to know, or for intermediate, or for advanced.”
For those getting started in cloud, Kesha suggests starting with a foundational skill. “Always have a foundational skill that can apply to the cloud, but that you can fall back on,” Kesha explains. “For me, that foundational skill is Java.” From there, you build layers of expertise. “Once you have that foundational skill, then master one of the cloud service providers like AWS. And then, once you’ve mastered their basic services, pick a specialty,” she suggests. Whether it’s the internet of things (IoT), machine learning, or cybersecurity, taking this layered approach will help build up your experience. “It just really helps you stay marketable,” Kesha says.
The role of mentoring in tech: tips for getting started & creating community
In addition to being a cloud instructor and speaker, Kesha also dedicates much of her time to mentoring. She’s a mentor at Technovation, the New York Academy of Sciences, and her own organization, Colors of STEM. In a lot of ways, her motivation to mentor others stems from her own history in tech.
Getting started in mentoring
“When I was coming up in tech, I didn't really have a lot of female role models, or role models that looked like me. And being in the industry for 25 years—over those years, there were actually several times where I considered leaving tech because of how alone and isolated I felt,” Kesha explains. “And I just didn't want others to feel that way, and so I wanted to be for others what I never had.”
For those that want to get started in mentoring, Kesha suggests using a framework with mentees that helps relate the tech back to day-to-day problems. “I try to show them how it can apply to real life. That’s the first step,” she says. “And then I try to demystify the technology, and just show them that it’s not as complicated as people make it out to be. And I do that through real world examples.” For example, in a cloud computing mentorship course she taught for Women Who Code, she highlighted a soda theft detection model and an emotion detection model she created at home with AWS DeepLens.
The importance of finding community in tech
Mentoring is just one way that Kesha helps others to build community in tech. To her, it’s been an influential force in her career. “There have been many times where I’m the only female, or I’m the only African American [in the room]. And what’s worked to keep me in IT was realizing that there’s nothing else I enjoy doing,” Kesha explains. “There’s nothing else I want to do with my life. And so I had to find other people that were just like me.” For Kesha, that came in the form of building community.
“I joined Women Who Code many years ago, and that, for me, was a saving grace,” Kesha recalls. “I would attend events, and I would just look around the room, and I would see people that were just like me. And having that community is really what kept me in IT.”