How I Started in DevOps

And how you can land that next role

Wondering how you can support this newsletter? I would love it if you bought me a coffee. It helps me write more code and more newsletters.

Buy Me A Coffee

Hey everyone! Hope you've had a good past few weeks. It’s been a minute since my last issue.

I received a question recently that I don’t think I’ve necessarily answered in these newsletters:

How do you get into a DevOps role?

This is probably a fairly common question from many software developers or operations team members looking to expand their skillset and gain new experience. They feel “stuck” in their current role and have a hard time moving into DevOps.

Before I get to the point...

First off, I want to clarify something. To have success in any career path, I believe you need three key components:

  1. Hard work

  2. Talent / Passion

  3. Luck

Hard work

Hard work is at the top of the list because, it turns out, you have to work hard to achieve your goals. I spent almost 3 years learning how to program before finding my first programming role. I had a few small gigs here and there along the way, but nothing serious. During those 3 years, I learned for around 2 hours a day, watching tutorials, building terrible, nearly unusable applications, and overall gaining knowledge about how software systems work. All this while being a full-time student and working 30-40 hours a week.

It doesn’t stop there, though. During my career, I’ve consistently continued to do this. I study for certifications, watch YouTube videos on the latest technologies and best practices in the industry, and read books based on where I am in my career.

I am not telling you this to brag; I am just telling you how it is.

Also, I am in my late twenties with no children, which helps me have time to do all this. However, if you do have children, you might need to make some sacrifices to get a leg up on competing applicants for a role.

Talent / Passion

I will never claim to be the most talented engineer. There are engineers who are naturally gifted and get things much faster than I do. However, I do have a passion for software engineering and computers in general. I enjoy my work. I personally believe everyone should enjoy their work. Most people go 40 hours a week hating their life, which is not a life, if you ask me.

You may be doing this for a paycheck, but understand that if you are getting into a highly technical role like DevOps, there will be people who do have that passion and talent, or one or the other. These are the people you are competing against for roles.

All that being said, to be a DevOps engineer does not necessarily mean you are required to have passion or talent. Hard work is certainly more important, but it does help.

Luck

Lastly, luck plays a big role in anyone’s career. You can stumble into the right person at the right time who helps skyrocket your career to where you need to be.

If you haven’t read Malcom Gladwell’s book Outliers, I highly recommend that you do. It’s a lovely book that, to me, is on the science of “luck”.

How it happened for me

Enough of the Tony Robbins spiel. Let’s talk about how I got to where I am today.

When I started my career, I did “consulting”. The majority of the work I did was fix bugs, upgrade systems, and maybe add a feature for clients. I worked in a variety of languages from Python, Java, JavaScript, PHP, and TypeScript. The work wasn’t in-depth, but one thing it taught me was how to learn quickly and go from problem to solution fast.

I did this for around a year until I found a new role...

I was hired for full-stack development. The company was great and I had plenty of room for growth. I had finished a new feature that was quite trivial. I had added an “about” page to our software that displayed the current version, commit SHA, and some more metadata about the current deployed artifact. Nothing special, but it worked fine.

All things were going smoothly. Then my manager asked if I was interested in working on the CI/CD team.

I had interviewed with the team lead and he seemed to take an interest in me. After I had proved that I could learn quite quickly with the new feature, he wanted me on his team.

This team was responsible for infrastructure automation, managing internal infrastructure for developers, build and deployment automation, and building tools to make the developer experience better.

I had almost zero experience with any of this. The only relevant task I’d done in the past was automate some minor business processes with a Python script. However, it sounded like a great way to put my career in the right trajectory. I had heard that DevOps engineers tend to make more than software engineers. It was clearly valuable knowledge to know how to do all the things they were doing on the team.

So I said yes.

I moved onto the team and was immediately flung into the fire. There were build processes to automate, configuration as code to update, and resources to deploy on the cloud.

I loved it.

Ok, that’s a pretty short story, but to be honest, if I had to break down the 3 components of success in my experience, it probably looks like this:

50% luck

30% hard work

20% passion

So what should you do?

I can't really give a simple, generic "do X and you’ll achieve Y" answer for everyone reading this. It’s not that simple.

What I can tell you is this:

Be nice, be cool, network effectively, learn quickly, don’t be afraid to take chances on yourself, don’t fear the unknown, do the tasks nobody else wants to do, and most of all, make friends with leprechauns because you’re going to need a little luck.

Just a reminder that you can reply to this newsletter and I’ll receive an email. Let me know what you think or if there’s anything you’re interested in hearing about.

Thanks for reading, and until next time!