HACKER Q&A
📣 sweetheart

Is an AWS certification worth it for learning the basics of dev ops?


For context, I'm a senior software engineer primarily working on the frontend. I'm also a founder of a small company and the only technical person on the team at the moment. I want to (need to!) learn more about dev ops so that I can migrate us off limited tools like Firebase, which are starting to limit us.

Is an AWS cert a reasonable and effective way to do that? How did y'all learn more about dev ops?

I don't want to be an SRE, but I want to be able to build our applications without being locked into very limited and opinionated services.


  👤 devKnight Accepted Answer ✓
I would recommend Cantrills aws courses[0]. the Solutions Architect course is what you're after. Its only 40 bucks and worth more then that. Completely jam packed with information. It walks you through the scenario of updating a non-profit orgs infra from an in house one to an aws cloud version.

The cert might be a good thing to aim for, but if you could specify what exactly you want/need to learn how to do. we could probably give more detailed information

[0] learn.cantrill.io


👤 davidmichael
If you want to get familiar with DevOps basics in a cloud environment I would start with the Cloud Resume Challenge (https://cloudresumechallenge.dev/). It provides a good way to get started on building things with IaC and using pipelines to do so.

It also provides practical, real-world experience that none of AWS' certs offer.


👤 whoknew1122
I work at AWS, and worked at private businesses who used AWS prior to joining AWS. I also have a handful of AWS (including DevOps Pro) and non-AWS certs.

An AWS cert will teach you how to do DevOps using AWS tools. It'll teach you how to build a CI/CD pipeline, deploy containers, manage Kubernetes, etc. all in AWS. But to really understand it all, you need to know the underlying tech.

I would suggest learning the underlying tech first. And then if you decide you want to deploy on AWS, get the AWS cert. But if you don't know the difference between a Packer file and a Dockerfile; or if you don't understand IaaC, the AWS cert (assuming you pass the exam) will be of little use.

If you want to do AWS, I may suggest getting a Developer Associate/DevOps Pro training course and going through it. But any time you run into a concept you don't know, stop the course and go backfill your general DevOps knowledge. It'll help you retain the AWS knowledge, and you'll also be in a better position to actually put that cert to use.


👤 0xbadcafebee
Really what you want to learn is architecture and systems engineering. AWS is just a collection of SaaS tools that you use to build a solution. They all have their own qualities which some other systems share. Actually using AWS is like becoming a plumber; you're just connecting pieces together. The more important part is understanding what the underlying design is and why you would use one piece of technology or another in a given solution.

To answer your question: I don't think you're going to gain a whole lot out of the certification, but if it leads you to better understand how to build distributed systems, it couldn't hurt. Try to focus more on understanding the underlying concepts than the way AWS implements something. (Learning "the way AWS does it" is often a shitload of extra work which doesn't contribute to helping you understand how to design and operate systems)

Also fwiw, think of the word "DevOps" is a word that means 'the practice of technocultural collaboration'. There is no 'dev ops', but there is systems operations, systems engineering, systems architecture, systems administration. It doesn't really have to do with development, even if there is sometimes quasi-programming or developer-like concepts involved.

Sometimes I think I should start a computer systems engineering & operations school... It's a really deep set of topics that there aren't good books about.


👤 austinshea
I would be focused on trying to simply run your workloads on your own.

It can be with EC2 or on your own physical/virtual Linux machine, but it should involve the required databases, the various components (e.g. your front & backends,) and some way of providing access (it could just be the option address and a port at the start.)

Lastly, figure out what it looks like to update code safely.

Afterwards, you should have a pretty good idea of how you can leverage cloud services to enhance or replace aspects of this, but will be dependent on none of them.

I can’t imagine that you’ll get this valuable perspective from any available course.


👤 speedgoose
If you don’t want to be locked, AWS is perhaps not for you. IMHO you should learn software containers and other standard devops tools.

👤 andersonpaac
Just curious, how are you getting limited by Firebase for whatever your use-case is?