Something that's being seen and felt throughout the technology space in today's world is how fast everything is going. There's no such thing as "keep yourself up to date every 2-5 years" anymore like there used to be. Now it's "keep yourself up to date now.. and now.. and now". There's a massive shortage of DevOps engineers and SRE's because of this exact purpose.
It's a tough gig and it's hard to keep up, but it's extremely possible.
In this blog post, you'll learn about what you need to break into the DevOps and SRE space.
You'll see "junior" level DevOps and SRE roles. You'll also see several people asking how to get into DevOps or SRE as a junior-level candidate.
Here's the issue; there's no such thing as a junior-level SRE or DevOps engineer. It's not a role that's meant for entry-level engineers. The reason why is because the role requires vast knowledge in so many different areas. Quite frankly, it's tough for a senior or even a principal-level engineer to keep up with.
When you see a junior-level DevOps/SRE role, expect the following:
- It's probably a systems administration style role.
- You'll probably have to deal with fundamental programming tickets
In short, it's most likely an entry-level sysadmin role or an entry-level developer role with a fancy title. There's nothing wrong with that of course because you have to start somewhere, but just know what you're getting into.
In the upcoming section called Technologies, you'll see a short glimpse of what's needed right off the bat to break into DevOps and SRE.
At the end of the day, breaking into a hard engineering discipline is all about having these three components in your mindset arsenal.
- Troubleshooting abilities
- Hunger to learn more
- An interest to dive deeper into what you're doing
You're never going to know every single tool or platform out there like the back of your hand. Sure, you may dabble in everything, but you won't be an expert in everything. It's just not possible, and good organizations know that, so they won't expect it from you.
If you're hungry to learn more, keep up with the latest technologies, enjoy what you're doing, and don't like to be stagnant, breaking into the DevOps and SRE space is great for you.
Below is a list of the technologies you should focus on that you'll need for the current DevOps and SRE market.
- A programming language (Python or Go, or both)
- Configuration language (Terraform which is written in HCL, JSON, YAML)
- Cloud (Azure or AWS is good to start with)
- Source control (GitHub)
- CICD (try out GitHub Actions since you're already using GitHub)
- Containerization (Docker)
- Orchestration (Kubernetes)
- Standard monitoring (systems, services, etc.)
- Application performance monitoring (APM)
As you can see, it's a laundry list of technologies. Not to mention all of the different platforms in each category.
That's why at the beginning of this blog post, you read that DevOps and SRE roles are not entry-level.
Let's run through a scenario with these technologies and how they can work together.
Say you need to learn:
These are four different technologies, but you can use them all to learn from each other.
First, you can learn Python. Learn the basics of the language and how to put together a web app for your "project". Next, you need to learn Docker. Take the web app you created and containerize it. After Docker, you dive into Kubernetes. Use the Docker image you created from the Python web app to orchestrate via Kubernetes. Finally, learn about CICD by taking the Docker image and deploying to it Kubernetes using CICD.
As you can see, you can take four different technologies and use them all together to not only learn but reinforce what you've learned.