Race to the Bottom with Cloud Certifications

Certification is how you turn junior people into senior people overnight.

The AWS certs are pretty difficult: the material is not difficult — definitely not rocket science — but there is a-lot of material, and if the Cloud Practitioner exam is any indicator, the exam will want their answers. (In the exam I took, I counted nine questions that could have been answered differently and still been arguably correct, but not the answer that Amazon was looking for.) The exams are picky, and that means that even if you know all of the subjects that they test for, you will fail unless you read their material and learn their answers.

The AWS exams are picky, and that means that even if you know all of the subjects that they test for, you will fail unless you read their material and learn their answers.

It is good material though. A-lot of what is in the AWS Solutions Architect certification curriculum is what was covered in my book on secure and reliable architecture: things like designing for failure, designing for increments, defense in depth, caching and replication, designing for manageability, and so on. The patterns are timeless. The AWS program, however, is entirely in the context of AWS’s services, and so it is missing much of the conceptual foundation: you just use their IAM service and then you don’t have to think about or understand access control models. You just secure your VPC with two-factor auth, create a public subnet for your apps, secure your VMs with AWS Security Groups (a strange term that is not used by the industry at large), and use AWS Cognito for authenticating your users and you don’t really need to understand defense in depth, or do you?

AWS has tried to make things appliance-like, but it is not: there is brittle JSON everywhere, there are keys, there are configurations galore, and there is your application code, which can do anything you tell it to do.

The certifications also do not cover software architecture. That is okay if you are building simple software services that respond to events and just make entries in a NoSQL database, but while a-lot of e-commerce sites are like that, many are a-lot more complex. Not everything is suitable for the event-oriented design that Amazon has been evangelizing. In fact, among the open source projects that I myself have created in recent years (here, here, here, here), none fit that pattern.

  1. Cloud strategy
  2. Agile and DevOps
  3. Security
  4. Microservices
  5. Development (coding)
  6. Increasingly: DevOps for machine learning
  1. Cloud platforms (AWS, Azure, GCP, others)
  2. Languages (Java, Ruby, Python, Scala, Javascript, Go, Kotlin, Swift, some C, others)
  3. SQL databases (Oracle, DB2, MySQL, MS-SQL, Postgres)
  4. NoSQL databases (Dynamo, MongoDB, Cassandra, Elastic Search)
  5. In-memory caches (Redis, memcached)
  6. Containers and container platforms (Kubernetes, OpenShift, ECS, Docker using Alpine on Atomic or RHEL, and Centos)
  7. Messaging (Azure Event Hubs, Kafka)
  8. CI/CD orchestration (Jenkins, AWS CodePipeline, VSTS, Gitlab CI/CD)
  9. Software provisioning (Chef, Puppet, Ansible)
  10. Test automation (BDD: Cucumber, Robot Framework, JBehave, SpecFlow)
  11. Large scale batch and stream processing (Hadoop, Spark, Storm, HDInsights, Java stream APIs)
  12. Increasingly: Machine learning platforms — TensorFlow, Theano

The cloud providers want you to do everything in the cloud, but they do not have your interests at heart.

So remember that AWS, Azure, Google, and all of those do not have our interests in mind: they have theirs in mind. Their certifications are no exception.

To be a competent architect, you need a decade or more of experience with a range of technology stacks: only then can you have perspective.

The fact that a company has gotten all of their staff Solution Architect certified in AWS should not be confused with all of their staff being architects. It is not the same thing.

The recruiting firms are in a race to the bottom, and want to turn us all into checkbox commodities that they can screen for quickly. They don’t care what you really know or can do.

My concern is that recruiting firms do not understand these things. They go for the certifications. They will recruit the wrong people. They are in a race to the bottom, and taking us with them. They are trying to turn us into commodities that can be evaluated quickly by checkboxes: Jenkins? Check. Scrum Certified? Check. Python? Check. EC2? Check. AWS Certified — no? Sorry, move on — no matter what else you have done in your career, even if you friggin’ created a whole Web based product for a startup, or you are Azure certified instead of AWS (Azure has all the same kinds of things as AWS), or did some truly singular things that prove incredible capability. And commodities tend to be selected based on the lowest cost — not the best quality, effectively filtering out the best and the brightest.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store