Certifications. Are they worth the money?

Now that I've spent some time coding in my free time to generate some content for this blog, I thought I'd take a stab at just talking about my experience in the industry and how it relates to specific topics. So there won't be any code in this post, nor any real facts or opinions that represent the opinion of my employer. This post will largely be to represent my opinion as a software developer with 10+ years in the industry.

So let's get started with today's topic: professional certifications. I'm sure a lot of us have thought about getting certified in something or maybe are already certified in something. Whether that be AWS, Kubernetes, Java, and the list goes on. But what I'd like to talk about today is, are they really worth the time and financial cost.

I'll try to approach this question from a few different angles:

  1. As a software developer that has passed certification exams in the past
  2. As a hiring manager
  3. As a human being that has a family and interests outside of work

Let's start with the first angle. I think most folks who read this blog are involved in the tech industry somehow. Whether that's as an engineer, or maybe as a product owner or someone who doesn't typically touch code. Whatever the role, we all should be familiar with things like AWS or Kubernetes and no doubt know that those technologies as well as many other technologies provide a way for you to get "certified" with them by passing a proctored exam. Now let's talk about the exam though. Except for a small group of certifications (certified Kubernetes administrator is one that falls into this small group), most certification exams are multi choice as that's the easiest way for the company that owns the technology to churn out certifications. Now they may try to make the multiple choice questions a little more non-standard, e.g. having more than one right answer and not telling you how many right answers there are. But in the end they are multiple choice and the entropy of the universe could have a monkey that knows how to type at a computer pass the exam eventually. I see this as an inherent flaw in most professional certifications these days. Speaking conversely though of the small group that fall outside of the multiple choice realm, I do see a lot more merit in those. The CKA exam for example drops you in the middle of a terminal with a kubernetes cluster and basically throws scenarios at you. That's a very pratical exam and much more useful than multiple choice in my book. I would hope that one day more companies take the time to adopt such a model of certification exams. But for now, I do see a defined split in quality between these two ways of certifying people in tech.

Let's talk about my life as a hiring manager though and sifting through resumes with various badges for X, Y, and Z certifications. To be completely honest, seeing such a badge will make me take a slightly closer look at your resume. Maybe even get you an interview if you're lacking in other areas. But in my experience, I've seen AWS certified solutions architects who couldn't tell me the difference between horizontal and vertical scaling. Or don't know the difference between EBS and S3. Now if I'm looking for a junior developer, then a certification will go a long way if you don't have years of experience to show me. It may even be something I recommend to folks if they don't have a degree or much on their resume. But again, your skills demonstrated at the interview have to line up with that of a junior developer. So while a certification may get me to look past some short comings in your resume, they in no way guarantee you a job. You need more than just the curriculum from such exams, you need to branch out so that you know that, for example, an autoscaling group in AWS is a form of horizontal scaling, not just all the technical specs of ASGs.

Lastly, let's talk about a view of somehow who just has a life outside tech. I myself have a wife and two beautiful kids. And while my wife understands that my field requires me to keep up with the latest tech and do things like code a bit after hours to stay relevant, I also like to spend time with her and the rest of my family. Now, do certifications count as something important enough for me to take time away from my family? The answer's a bit murky, because in general when talking about improving my skills as a software developer, I find much more value in preparing for the certification exam than actually spending the money to have the badge on my resume. That to me means, if my company is starting to work on something I've never encountered before, then maybe preparing for a certification in that thing is a good way for me to get familiar with it quickly, and that could be something that takes me away from my family for a few nights that week. Would I spend hundreds of dollars to maintain a badge on my resume after doing so? Most likely not, but again, I like to think that I have enough practical experience after 10 years that I don't need the safety net of a certification when job hunting.

So to sum up, while I think most certification exams are inherently flawed in the way they test you, such certifications do have their place in the industry. For a junior developer who's just trying to break into the field, certifications may be a great idea. For a seasoned veteran in the industry that's just looking for a new skill, then maybe just the studying for the certification is a better use of your time and money than having the badge on your resume.

That's about it folks. As always, thanks for reading, and have yourselves a wonderful day!