I consider myself a fairly ambitious person when it comes to my career, and often consider the paths available to me for progression — common themes I think about are agile software development, management skills in the software industry, and improved software engineering skills. One of the ways I’ve enjoyed boosting my skills and profile, is through professional certifications. I’ve asked lots of my peers about their opinions on these, and seem to get very mixed responses. I think they’re quite valuable, so here’s why.
A few years ago, I got my first professional certification, the google cloud associate cloud engineer, and immediately, a few things happened. Quite a few people, almost all of whom were senior to me, and several outside my department, asked me all about it. My company was relatively early on in their cloud migration to GCP, and nobody else had one of these certifications. People wanted to know how I had studied for it, how long did it take me to prepare, what was on the exam, what the process was like, was I going to do any more of them etc… (I’ll answer some of these later). I didn’t consider myself an expert, I’d only been using GCP a little over a year, but other people recognised that I probably knew at least a little bit about the tech we were trying to move towards.
I’d thought about doing more of these at the time, but I became really engaged with my work and didn’t think much more of it over the next few years. I spent a lot of time on developing my personal skills, software development skills, mentorship skills, and generally improving my professional toolset.
How do you study for the exam?
I eventually became an advocate for DevOps processes within the organisations I worked with, and when google announced their DevOps engineer certification at the end of January 2020, I decided I would study for it. This is normally the process for me:
- take a look at the exam syllabus, and decide if I think that loosely fits within my skillset, and if I feel confident I’ll be able to study for and pass the exam.
- Go to the official study materials — almost always a course on coursera. These are normally pretty great, and cover the basic material to get you familiar with the domain. I make handwritten notes for these, and everything I study up until the exam. After I’ve completed this training, I’ll try out the google practice exam. Unfortunately these are only about 18 questions — on this first run, I’d hope to get at least 60%. Note down any areas I’ve gotten wrong to focus on later, but try not to memorise the answers!
- At this point, because I work better under pressure, I’ll get my exam booked, and only give myself 4/5 weeks, so now I’ve got a deadline to work to.
- In an attempt to cover all bases, I’ll then check out the resources available on acloudguru.com to get their take on things (except their practice exam, I’ll leave that til the end), which helps build confidence again.
- I’ll list out all the GCP products that might be covered in the exam, and read through their concepts page thoroughly. I’ll tackle any remaining qwiklabs sessions I think could be helpful.
- Throughout this entire process, I’ll have collected a bunch of random links in a bookmarks folder, and I’ll now go through all of these to get comfortable with some edge cases. There are often a bunch of solutions architecture best practices available from google that aren’t so easy to find, on their solutions pages.
- Re-read all of my notes. Should be feeling reasonably confident by this point. Try the google practice exam again, should be hopefully above 80%. Now complete the acloudguru exam — these are longer and give you better feedback for areas of improvement. A score below 80% should be concerning — go back and study up thoroughly on those topics.
- Sit the exam. I’ve done 2 in test centres, and 2 at home — I like going in person, but it’s not too hard to set things up to do it from home too.
How long does it take to prepare?
This is a difficult question to answer obviously, but I’ll try to explain my timeframe and effort level, and perhaps you can gauge for yourself.
Your ability to complete these exams will obviously depend on your prior knowledge of the subject area. If you’ve worked on the AWS network stack for a few years, the networking exam might not be much of a stretch to study all the concepts. If you’ve never touched networking in any depth before, you’d obviously need a quite lot more time to understand the concepts. I’d certainly recommend that you have at least some prior experience with GCP in the area you’re preparing for too.
Personally, I typically studied for about 2–3 months, around 3–4 nights per week, for 3–4 hours, so maybe 125 hours. This isn’t always the case
- the devops exam was difficult, because there were fewer study resources available, this took maybe 3–4 months.
- the data engineer was pretty straightforward for me, because I was using the tools daily at that time, so I managed to study for and pass the exam in under a month, with less effort than other exams.
- the networking engineering exam prep was difficult for me, because I didn’t have a great deal of hands on experience in my role with networking, so I studied this book first to get a better grasp of networking: https://www.amazon.co.uk/Computer-Networking-Top-Down-James-Kurose/dp/0133594149/ref=sr_1_5?crid=1Y6N7YLCCOU4L&dchild=1&keywords=networking+a+top+down+approach&qid=1609211962&sprefix=networking+a+top+down%2Caps%2C135&sr=8-5 — after this, I spent around 2.5 months prepping for the exam.
What’s on the exams?
While google doesn’t allow you to dish out the questions, mostly nothing will come as a surprise in the exam. I only ever had one question that I didn’t feel was covered at some point during my preparation. The questions are really well designed, and quite difficult — often at a glance, most of the answers will seem reasonable — the distinction is often some small detail listed in the question.
Questions mostly test on your foundational knowledge of the platform, knowing what’s possible, and choosing between basic options to fulfil requirements. Undoubtedly, there will be some questions about using the gcloud SDK. These are easy points to win if you’ve got the hands on experience, and easy points to throw away otherwise, because you can bet all these answers will look right!
But the best questions, are the situations about businesses trying to achieve some goal, with a little list of requirements, normally around cost, latency, minimal effort, availability, etc…, with a list of feasible options — this is where your knowledge of the platform needs to be sharp. During a few exams, I’ve sat for a good 10 minutes wondering about some of these.
Lastly, you’ll maybe get a few freebees — questions so easy you’ll wonder if they’re serious.
Don’t get thrown off if you get into a bad streak early on — one of my exams I had 5 hard questions in the first 10, and was starting to panic, but they typically even out. Always go through them all at the end. I’ve typically finished my first run through the questions with 45 mins left to go, maybe by then I’ll have marked around 10 for review, I’ll go over all of those and make a decision one way or the other. With 15–20 mins left, I’ll go through every question again and read them all carefully — this is an important step, and I’ve almost always had a question somewhere that I answered just a little bit too quickly or confidently the first time around. I’ve never needed the full 2 hours for the exam, and never felt under a lot of pressure to get it finished quickly.
Would you do any more exams? In other words, what’s the value of them?
In short — absolutely.
I didn’t study computer science at university, and sometimes wonder how much more useful that might have been with hindsight, so I often study resources listed on https://teachyourselfcs.com to try to catch up to where I might otherwise have been (that’s where I got the networking book).
These preparing for these exams gave me additional experience I might not have gotten otherwise. It fills out any gaps that might be in my knowledge about GCP, and makes me more confident using the platform. I know for sure that after studying some of these exams, there are things I’ve looked back on and thought, “that would have been so much easier if I’d only known about this other option”. In a past role, we struggled for ages with another provider to set up a VPN, agreeing on security, getting the right people in the right place — all could’ve been completely avoided by using VPN peering if I’d only mentioned it!
I’ve often asked engineers what they think of these exams, and asked hiring managers if they take them into consideration when hiring. Some engineers don’t see the point, they’ve gotten by fine without them. Some hiring managers don’t much care, but if they’re directly relevant to the role you’re applying for, these can be a real booster to some people, and they certainly make you look competent.
In July and August, I completed the DevOps engineer and Data engineer exams, and shortly after that I switched to a new role as a consultant, and I definitely attribute some part of that success to having those certifications. Now that I’m in a consultant role, I work with clients who are looking for certified expertise in a given area, and these certifications are the best way to prove that. On Christmas Eve, I then passed my networking exam.
I will certainly look to add more of these to my belt in the near future. I’ll tackle the GCP certified security engineer next, as it’s closely related to the networking aspects, and I have good experience with the security aspects of GCP. Then I’ll aim for the architect exam, as I’ve been designing solutions on GCP for a while, and I’m confident I’ve got the skills to get started on it. Perhaps towards the middle of next year, I’ll spend more time on machine learning. I’ve got some decent experience there with the products, but it’s not the mainstay of my job, so I know it’s a bigger task for me personally.
The only one I would be happy to skip for now is the collaboration engineer, as it’s a little further outside the skillset I’m building at the moment.
As for certs outside of GCP, I would definitely consider some others, such as certified kubernetes admin, application developer, and security exams, these are probably very worthwhile and attractive to certain clients. Personally, I’ve got a lot of skills in this area and I’m confident I could pass these with some studying, but I’d like to focus more on agile software development and management once I’m done with the GCP certs I’d like to achieve.
I’m always planning ahead for where my career might take me, and hopefully these certifications I pick up along the way will be an indicator of my competence at various stages of my career to future employers. If nothing else, they’ve certainly helped me measure my progression with my skills.