How to Move From Developer to Devops Engineer

I've gotten asked how I made the transition from developer to devops engineer. This is the long form answer.

Background

If you are new here I built the bulk of my career in the mobile space. During that time I've done a bit of everything. During one of my internships I learned about AWS and we used Beanstalk. I tried to keep up with things there, but then I had to call AWS crying about a $500 bill I couldn't afford as a student.

After that experience I got another freelance job (in web development) where I was learning more about automation and TDD. Now I'm going to say I'm not the best tester, but if you want to get better hang out with a Ruby developer. They are a wealth of knowledge for backend things. Anyway during this time I was helping write test and understand automations in a way that really changed me.

Those experiences led me to get start learning about automations with mobile apps while also going back to the cloud. I was making Alexa apps in AWS that forced me to learn some of the basics of the cloud, and then in mobile I was just trying to automate tests, builds, and deployments as a one person team. I figured if I got better at these I would make more money.

The last 2-3yrs of my mobile career I was trying to automate as much as possible so I only had to focus on new bugs and features as teams grew/changed/whatever. I lead a lot of initiatives to help with documentation, setup ci/cd, and optimizing our cloud use with cost and security (I'm maybe a mobile security snob😅). All of this played a big part in to getting where I'm at now.

What I do now?

I'm a Staff Devops Engineer. When I got serious about making the career switch it took me about 3-4mos to secure a job. It was my 27th birthday and I was once again just feeling like mobile had run it's course. I was having fun doing things in the cloud, hosting my own servers, and managing backends with AWS or Firebase.

On my birthday I made a plan. I was going to focus on certs to get me through the Devops door and go hard on applying. Jobs really became easier to talk to after I got my Terraform cert (because Terraform is a core skill). I was able to get a "entry" level Devops job and I'd like to think I've been excelling since.

Wait there is entry level?

No. There is no such thing as entry level Devops to be honest. When I say it I mean it was entry for someone who had the skills but not the title and daily work. Like I mentioned above, I'd been moving teams to automation in mobile for the past few years before leaving that space. I'd say I'm passionate about creating that separation for developers to just focus on code and not have to worry about everything else to get to deployment.

How can you transition?

Again I want you to realize everyone doesn't have my experience or move like me. That's ok. I'm going to tell you what I think will help you transition and stand out in the process. There are 5 main skills I think you need to know about to even get in the door:

  1. Python basics - scripting, simple programs, core fundamentals
  2. Cloud - don't ask anyone just pick one. Use the one most common at your workplace if you have to. That way you know you can ask people for resources if you get stuck
  3. Docker - everything now is about containers. Docker is the base for all those convos so learn how to write, build, and deploy containers. I personally wouldn't focus on docker compose here (see next point)
  4. Kubernetes basics - This is container orchestration and the main reason I say don't learn docker compose. Understand the terms in Kubernetes. Maybe even try it yourself using minikube or k3s. You want to understand enough that you don't need to always ask about the vocabulary. This allows you to focus on the concepts and ask deeper "why" questions
  5. CI/CD - as a developer you probably use this but don't understand under the hood. Jenkins will be the most common tool here, BUT I don't think you need to make it a core tool to learn before getting a job. I would learn something like github actions and be able to talk about at what points you automate and why.

No cloud certs??

Well...this is awkward because I don't have any.😬  Everything for me has been experience and to a certain extent it doesn't really make sense for me to get one at this time.

Anyway this is about you so if you want to get one I recommend the solutions architect cert for whatever cloud provider you picked above. As you get the certs or at least study them, I recommend that you write a blog or talk about them on socials.

Any other certs?

Not really but if you want to know which ones I have I'll list them...

  1. Security+ (active) - not really needed here
  2. AWS CCP (inactive) - sounds impressive but honestly useless
  3. Terraform Associate (active) - https://backpackkevin.com/is-the-terraform-cert-worth-it/
  4. Kubernetes and Cloud Native Associate (active) - I needed a less stressful entry into the Kubenetes space

That's it?

Yup, that's all I got. I'm not saying it's easy or that you will be lucky to find something withing 3-4mos like I did. Give yourself 6 months to really get into the grove and find someone to take a chance on you. You got this!