thoughts on software development and everything else

AWS Certified Developer Associate


It’s been a long time since my last update! In that time I finally got around to taking the AWS Certified Developer Associate exam. I finished Stephane Maarek’s excellent Udemy course last year, but life got busy and by the time I got around to booking my exam, I needed some revision.

I chose the CDA because it seemed like the right level and domain for me.
Cloud Practitioner is a bit basic as I have been working with AWS products for several years.
The Professional levels were a bit beyond me as designing and operating AWS resources is not part of my day-to-day work, more something I do occasionally as needs arise.
I thought Developer fitted better than Solutions Architect or SysOps Administrator, as my experience with AWS is from a developer’s perspective.

Also very useful were Jon Bonso’s popular practice exams which allowed me to pick up a few things that I hadn’t seen or remembered from the course.

If you’re thinking about taking AWS exams, or indeed any other qualifications, Udemy is a great place to find resources. Don’t pay list price! Udemy courses go on sale all the time, and the base prices are often absurd. Stephane’s course is listed at $95 and Jon’s exams at $30, but I got them for $13 each.

Of course I made good use of my favourite study tool - Anki flashcards!

I took the exam at Auldhouse in Ponsonby. I thought going to a special-purpose exam centre would a much more focused environment than working at home. Plus I had poor experiences with strict exam proctors during my LCFS and CKAD exams, and my home office has a ton of papers, computers and other stuff that would need to be cleared out before it would be pass scrutiny.

Their facilities were nice and quiet, I was one of only two people in the room. I appreciated the design of the exam that let you flag questions to return to later, and then that the exam forced you to go through a review screen before finishing to make sure you hadn’t missed anything.

The exam felt pretty difficult, I walked out of there feeling like I had 60% confident answers, 30% educated guesses and 10% complete guesses. But, when my results came back the next day I was stoked to find I passed with 90.5%!

This qualification leads directly to the AWS Certified DevOps Engineer Professional level certification, which I might pursue in future if I want to move deeper into a DevOps specialisation. At the moment I’m more dev than ops, but I do enjoy setting up and maintaining systems of automation and CI/CD that provides part of what Joel Spolsky calls The Development Abstraction Layer. He defines this as everything that takes the code that a developer writes and turns it in to products.

The level a programmer works at (say, Emacs) is too abstract to support a business. Developers working at the developer abstraction layer need an implementation layer - an organization that takes their code and turns it into products. Dolly Parton, working at the “singing a nice song” layer, needs a huge implementation layer too, to make the records and book the concert halls and take the tickets and set up the audio gear and promote the records and collect the royalties.

The abstraction exists solely to create the illusion that the daily activities of a programmer (design and writing code, checking in code, debugging, etc.) are all that it takes to create software products and bring them to market. Which gets me to the most important point of this essay:

Your first priority as the manager of a software team is building the development abstraction layer.

The abstraction layer includes things like marketing, sales, accounting, and customer service, but I think DevOps - which wasn’t a widespread phrase in 2006 when Joel wrote this - is an important part of this layer in modern companies.

There are also specialty certs in security, data analytics and machine learning that look very interesting. Watch this space!