Being a Cloud Engineer: AWS Certifications vs A Different Strategy
Ryan Poplin

Being a Cloud Engineer: AWS Certifications vs A Different Strategy

One thing is certain: I enjoy being an AWS Certified Developer - Associate (In a nutshell, people know that AWS has setup some expectations and that you've met them). However, there's still 2 more Associate, 2 Professional and 3 (coming to a testing facility near you) Specialty certification exams still to take, right? This short post is going to highlight a few reasons why I'm not planning on getting anymore of them, keeping the one I do have active (why you should get the AWS Certified Developer - Associate exam passed) and what I personally am going to be doing instead of focusing on passing the other available exams. I'll be conversational, so no bullet points!

I don't want to focus on getting anymore of the certifications (disclaimer: I do own and use all of the acloud.guru exam training courses for my own personal material reference when I need something specific) because after studying for the one I have, passing it and working with it for the past 6 months, I realized something interesting: If I laid a foundation for building things on a cloud platform and I'm an engineer; what is it exactly that I cannot figure out without passing the other exams (they all need to be retaken every 2 years to maintain their active status, too)? For me, not much.

Ideally passing the recommended first exam (the Developer one) you know how to program and know how to use the AWS SDK and CLI to setup and to use tools like SQS, SNS, S3, EC2 (Docker/ECS isn't covered in the Developer exam, yet the industry considers it a basic deployment skill to have at this point) and gets you to think about security, networking, costs and context around your development (these aren't usually expected from all Developer's, this is a huge step in the right direction).

However, you end up needing to create Architecture diagrams for those services you're setting up to get a visual representation of your project so all of your team members can understand it at a high-level (this is another industry basic) and when you take the other lessons you've learned to get your application setup, you'll start to be able to draw out advanced architectures and eventually be a self created AWS Solutions Architect out of necessity.

As our applications need to have performance, security, health, logs and alerts you start getting into the SysOps Admin area. However, system logs, application logs and alerts are another truly standard deployment expectation for Developers to account for in the real world. Advanced log aggregation, searching and visualizations tend to be handled well with ELK stacks already setup as a service with many companies, too. Scale is another SysOps Admin thing, yet we can't build something and not have those requirements accounted for before a release, as Developers already.

DevOps and Big Data are a big deal. Infrastructure as Code (IaC) is becoming a standard (we all should be version controlling our cloud architectures so we can hit an enter button and create it without traversing a hundred dashboard configs), understand compliancy in your domain, understand how to really be compassionate about your team, their skills and how to get things flowing in the business you're apart of. As for Big Data, we're in the data age and if we're not making decisions based on data 100% we'll probably start to understand we're not collecting it via a strategy at all. Being a solid DevOp today, you should have some comfort deploying and managing clustered processing tools such as AWS Redshift and EMR, understand how to use AWS Kinesis and enter into the streaming world of the Unified Log Paradigm, applied data science techniques like machine learning for recommendation systems and time-series analysis.

Serverless, functionally stateless systems are emerging and truly flip the coin on classic development, architecture, sysops, devops and data science with tools like Lambda. These concepts aren't even fully accounted for by the certifications body at AWS as this time of writing.

I know that's a lot of stuff, but I've personally been working with most of what I'm mentioning above in a 6 month period. I personally don't think the AWS exams are going to keep up to date in a way that's going to be truly helpful to me as a person who's just trying to 'Develop' on the platform, however; I've got this opinion now because 'I did' study, pass and have the AWS Certified Developer - Associate under my belt. I get to legally say: "I'm Ryan Poplin, I'm AWS Certified and I'm a Cloud Engineer! I build products on their platform; in the Cloud." That's good enough for me.

So in a nutshell, get the AWS Certified Developer - Associate because more important than anything; you need to be able to build stuff (and you get some vocal authority on your opinion in a way you can't have if you weren't certified)! Learn, grow and teach others. Don't get bogged down by thousands of dollars and hours of training for a bed of certifications that in my opinion really don't prove in themselves that you can really use them together. I'd just sit back and say let's start creating a bunch of repos showing these skills and how they generally come as requirements to modern software development, and still be able to say I'm certified to build stuff from AWS!

In closing, here's my strategy: Keep the certification I've got active, continuing working everyday with the technologies that are apart of every single exam anyways and worry about the real world projects that I'm creating. I'm not going to worry about taking 5 - 7 exams every 2 years to prove I know how to do something I'm already making a living doing, yet appreciating the expectations set by AWS and maintaining my club membership!

Let me know your thoughts on my post/rant in the comments,

Thanks for your time,

Ryan Poplin




Wow, that is surely a great perspective! At the end of the day, anyone that does something for a living should hold active certifications from the company that supports the product you work on. Seems like common sense.

Certifications, like online courseware and like the old problem sets at the end of the chapter in college textbooks, serve as a framework to keep you motivated and focused to cover an area of study. They have transient value in helping you complete studies by a deadline. Much like college degrees, they send a signal that you are able to commit, persist and complete a subject matter study that you are likely able to practice reliably at a modest level of performance. They may also send signals to a client or a hiring manager that you are able to respond to the challenge of being able to acquire new skills and refresh existing skills. It states that you are resourceful enough to self-educate rather than wallowing in helplessness at work, bugging and distracting team-mates with pleas for basic assistance or blocking wait on the architect or technical lead to 'splain things to you. Surprisingly, there are quite a few folks with college degrees that can neither self-educate nor function independently, so, as a result, masters degrees are becoming the new entry hiring requirement! Certifications are certainly cheaper than a Masters program, and likely more relevant to hiring managers and VCs on the hire side. Personally, I hold a stack of Java certifications which have never served any purpose other than signaling to a hiring manager that I am "wise" enough and possibly egoless enough to know that disciplined reading and self-study always trumps "learning from others", "on the job mis-experience", "group think", "they way we have always done things here" etc etc etc. A textbook or courseware author is able to groom and tune the content far better than any hastened, annoying interruption of the technical architect in the hallway. Don't expect to learn from other people ; pay for the preparation and presentation of content in context and then devote uninterrupted time to study it. Surprisingly, I regularly run into people (even in 2016) that still don't know the fundamentals of hashCode/equals, who have misguided understanding of Java Exceptions and are unaware of whats out there in java.util.Collections - all of which are explicitly exposed to you and tested against in Java certification. You cannot build a big system without mastering these key concepts. And if you have your "own way" of dealing with Exceptions or handling object identity in collections - you are creating technical debt. So, the process of preparing for Java certification really serves the goal of insuring that you are exposed to the Key Engineering Objectives of the language with regard to building large systems. With certification, you are likely to use the platform you are training on to its key design center features, and achieve solid, on-time, stable solutions. So, from a personal level, Java certification was a HUGE PAYOFF personally in getting the right ideas into my head early into my career, and avoiding crap design, and not heaping reams of tech debt onto my successors. Whatever you do don't stop! Likely 90% of the value opportunity in learning the AWS product is attained from just one certification exam. You're right, you've already hit and passed the diminishing returns point ; Much like 80% of the value of a college education is probably attributed no more than 6 classes at the sophomore and junior level! But, by no means, don't stop learning. You're likely in "the zone" for rapidly acquiring knowledge with the strategy you propose!

To view or add a comment, sign in

More articles by Ryan Poplin

Others also viewed

Explore content categories