Software engineers working with cloud platforms like Amazon Web Services (AWS) or Google Cloud have a lot to stay current on. Training and certifications are an important way to hone and showcase skills related to cloud development.
The Gigster Talent Network is full of world-class developers, designers, and product managers with decades of expertise in cloud development. We recently spoke with one of our Gigsters, Jeremy Branham, about his approach to certifications and how he stays up-to-date with the constant changes to cloud development platforms.
Jeremy Branham has worked with Gigster for over 6 years and contributed to dozens of development projects. He specializes in cloud development, AI, and machine learning.
One thing certifications like AWS do is help you stay up-to-date with cloud provider training. I have a lot of experience with AWS but there are a lot of things that have changed since I started using AWS.
I worked with a client several years ago to lay out their initial architecture. At that time, the decisions I made were based on what I knew was currently possible with AWS. For example, some notifications from an S3 bucket went over to the SNS service. Now you can directly trigger SQS from S3 notifications. Had I known this was possible at the time it could have changed the whole architecture to be more efficient. So we recently went back in and rearchitected some of those things and addressed scalability concerns based on changes to AWS.
There are so many offerings within each provider it's difficult to stay up-to-date with all the changes. One of the best ways is through certifications.
I try to stay up-to-date on developer blogs, like the AWS Developer Tools Blog. I read a lot. I read a lot of Medium articles and newsletters like Towards Data Science. If you can get on some good distribution lists they’ll send you related information. And of course, going back to the technical documentation and practicing with it.
I still think practical implementation is the best teacher. That’s how you can see where the errors come up. They always happen, there’s always an error. This gives you an opportunity to Google and research and figure out why this error is occurring. I usually end up with a better insight into how it fits together. By researching the error message I can understand the problem space a little better and how the architecture fits together.
I know there is a lot of value in the courses and the learning part of them. The value of the certification itself depends on who is looking at it. The certifications are definitely an accomplishment and an indication that I’m staying on top of changes, but the knowledge itself is the most valuable piece of it.
The certification is a roadmap to the most important pieces. Even looking at what the certification entails can give pointers on what is important to learn and what clients are looking for. AWS has architecture certifications and then more specialized certifications around machine learning, data engineering, DevOps, cloud software engineering, security, and more that come out every year.
I’ve seen the AWS Partner Certifications are more appealing to the bigger clients. This is especially related to data pipelines and machine learning. Clients want AWS support on projects because they’ve been vetted and the company can be secure that their data is being handled properly. Certifications make these clients more comfortable with the developer’s knowledge and their ability to troubleshoot those issues.
Absolutely. Specifically around AI and machine learning. A decade ago when a Stanford team broke off and started machine learning and AI classes, which later became Coursera, those classes were really helpful. They really helped me understand how the technology works under the hood and lowered the barrier for me working with Python and getting hands-on experience. Those types of faster, hands-on application courses and certifications are great because they are something I can put into practice really quickly.
I spent a lot of time early on burning time. I spent a lot of wasted time on a tech stack or platform that wasn’t going to last. Those are wasted skills.
Google and Stack Overflow weren’t around when I was first starting. I learned how to code out of a textbook. Things are slightly different today.
Focusing on some of the best practices and principles would have helped me develop my skills faster. I come from an object-oriented background. Solid principles were a really big help. I’d recommend looking at design patterns. They aren’t the solution to everything but there are some really good patterns out there and they help illustrate why they are important. A pattern is usually created to solve a pain point. So if you understand the whole problem space of that pain point, understanding the pattern makes sense. Learning this lets you modify the pattern and apply it to other pain points.
It’s related to the clients I’ve talked to and the gigs I’ve looked at lately. It’s more localized to my needs and my clients. It may not be the industry at large.
Microsoft, Google, and AWS all have large market share. But I also see other things trending that are attempting to take market share from the bigger providers. For example, Vercel is becoming more popular. The Next.js framework is becoming more popular and Vercel is a way to deploy those particular applications in a very rapid way and not have to worry about infrastructure. This doesn’t work at scale for larger clients and projects, but it may compete with platforms like AWS Beanstalk or Fargate. It’s important to know the alternatives like Vercel and Netlify.