Jun 11, 2024
No tags 😭
Post for Geeklore.io
Geeklore.io is an RPG-inspired DEV community aiming to gamify the learning in tech. Enabling juniors and providing a playground for any tech practitioner is the goal.
I am working as a Senior DevOps engineer / DevOps Lead. I became a senior in the 3rd year of my career. I spent 1 year as a Jr. Sysadmin, then 1 year from Junior to Mid-Level DevOps, and in the 3rd year I got hired as a Senior DevOps. I spent around two years being a Senior DevOps and started engaging in Team Lead and Solutions Architect activities.
I personally trained 10-15 people to become Junior DevOps or a Junior SysAdmins. 6 of them found jobs, the others decided tech is not for them (or remained in tech support roles). That’s just how it goes. Sometimes it’s not for you. The ones that made it are now mostly mid-level with one going strong and is (I assume) going to be a senior soon.
In this document I am going to note down the information I give every one personally so that I don’t have to spend hours explaining my views on the industry, and my experience from training guys and going through the ladder myself.
Keep in mind the contents of this document are my opinions and observations. That makes the information here not a hard and well-known truth. If you are a person just coming into tech, I hope this document helps you get over some of your fears and concerns. And if you are a practitioner or already in the industry and you don’t agree with my views - send me a personal message in the social media that I posted this or an email at [email protected]. I would love to go into a discussion!
And here is how the document is structured:
What is the DevOps role?
The DevOps role differs from company to company but in its core, DevOps is System Administration on steroids. You use code and tools from very talented programmers to manage infrastructure and make the developers’ lifes easier.
As a DevOps, you are often in one very sweet spot of having lots of power over an organization’s tech direction. Once you spend some years in DevOps, you might find yourself in positions having to argue what DevOps is with developers.
For some DevOps is a role with well-defined responsibilities, for others - a philosophy / ideology. Do yourself a favor and look at DevOps as a philosophy / ideology. This opens many mind doors for you and broadens your vision about the industry.
Oh, and you will never be bored as a DevOps, I promise. 😉
There are three types of companies hiring Junior DevOps engineers:
The first type (no experience SMB) is most-likely an outsourcing / services agency that seems to have added DevOps to their services list a while ago. It is possible the company does not yet have a stable DevOps team and is still figuring it out.
The second type (experience required) is most-likely a company with experience with DevOps. Examples include:
The third type (huge enterprise) is the worst. Keep in mind a business might be an enterprise but the technical team / division be at the early stages - that is fine. But generally don’t work for an enterprise if you are just starting out… I mean if it’s FAANG - ok. Otherwise, you will probably be forgotten in a week with no proper training provided.
Startup / SMB: Looking for a DevOps engineer with no-experience (intern positions, tech-support to DevOps, just graduated university)
The Startup / SMB that is looking for DevOps engineers with no-experience is perfect for a newcomer to the tech world because it is an opportunity that is hard to top. If a company is fine hiring you in the DevOps domain with no prior experience, that is your golden egg. You can’t do any better than this. I think so because if you decided to go into development, you would not be able to find a job if you haven’t gone through some intensive (and probably paid) bootcamp. Examples in my country include Telerik and Softuni.
Here are the pros & cons for such company:
Pros:
Cons:
As I mentioned earlier, the roles vary from company to company. What one DevOps engineer does in a company might have absolutely nothing to do with one in another. With this in mind, here is a list of the activities you will most likely find yourself participating in:
Theory: Networking, System Administration, Cloud, Programming, Infrastructure as Code, Automation techniques, Architecture Blocks, Databases
Git: Being comfortable executing basic operations with GIT:
CI/CD: Setting up build and deploy pipelines. Platforms include
Cloud: Browsing around a cloud platform [AWS, Azure, GCP, Oracle (please don’t work with Oracle cloud, go for AWS and/or Azure)]. In the cloud platforms you will have to gain experience in the following areas:
Containerisation: Understand what containerisation is and containerize applications. Technologies here include:
Container Orchestration: You are expected to work with containers and those containers should be running somewhere. This is where Kubernetes comes in. Keep in mind Kubernetes is an enormous platform with many components and to be considered a senior in Kubernetes, you will have to have worked your a$$ out for a few years. A perfect example of a senior Kubernetes person who is often saying he will never know everything about Kubernetes is Nigel Poulton. Technologies inside the Kubernetes ecosystem that you might find yourself work with are (assuming you have already deployed your cluster):
Infrastructure as Code: You are expected to deploy and manage infrastructure with code. This is one of the core ideas of DevOps. Technologies include:
Programming & Scripting: You will also find that you may need to write scripts. Bash, Python, JavaScript and GoLang are the four most popular scripting choices. While many will argue the JavaScript is sh*t. Well, I don’t think so. JavaScript helped me feel comfortable around codebases and was the door for me to go write in other languages. Don’t get scared of programming and please don’t deny writing code. Being a good DevOps professional, you are required to be able to write code. You don’t have to be a full-stack engineer, just be able to write code. If you won’t write code, you will probably stay Junior to Mid-Level for many years to come.
This is a huge list of technologies and I understand it might seem too much for a first job.
Don’t worry. As a Junior in such places, a lot of the time you will be expected to simply understand a concept and the technologies you will work with are substantially less than that.
If the company you land your first job in is in the early stages of DevOpsing, you might find yourself hopping from tech to tech constantly. As you can imagine this is only in your plus.Trust me, they don’t know what’s going on either.
Startup / SMB: Looking for a DevOps engineer with experience (1-2y+ as a SysAdmin or similar)
While for me this is the absolute best place to be in, I am sorry to inform you that it might be near impossible for you to land a position with no prior experience in such a place.
Those golden companies that understand how to structure and keep a DevOps team alive understand that a person that works in DevOps is required to have experience in a broad area of technologies. Real experience that is unfortunately hard to acquire if you don’t get the chance to do it in the real world (System Administration / Some Tech Support roles).
Now, assuming you are a person that is just starting in tech, you are probably completely unmotivated and angry at my document. Great! Let’s note down why those companies are so good to be in. Hopefully you will turn your hatred against me into motivation and prove me wrong by landing that golden job as a first!
The tech stack from up top is still viable here. The difference is that a company with a well-defined DevOps team will have their tech stack standardized. This means the technologies you will get to work with from the previous chapter will be much more in-depth and you will be expected to become a professional at those.
And here are the pros and cons.
Pros:
Cons:
Enterprises (Accenture, IBM, HP, Salesforce)
Okay.. enterprises. Here are the reasons why enterprises are a bad choice for a first job. 🙄
Pros:
Cons:
Note: I am reminding you this is my personal opinion. There are exceptions to this like VMWare and Siteground. Although I doubt VMWare is looking for Juniors. Siteground is cool 😎
Now that you have a better understanding of what to expect in your first DevOps job, let’s talk training.
[ LINK HERE WHEN I AM DONE WITH THE TRAINING POST ]
Discover More at Geeklore.io
Welcome to my digital corner where technology meets lifestyle! On Geeklore.io—a platform I crafted with passion during my weekends—I delve into the realms of tech, DevOps, community building, and the intertwining paths of our professional journeys. My aim? To ignite conversations and share insights that resonate.
Enjoyed the insights? Dive deeper into my collection of articles at Geeklore.io and join our growing community of curious minds. Let's explore the possibilities together!
Feeling social? Drop a "hi" on X/kubeden. I cherish every interaction and personally respond to all messages. Let’s connect and collaborate!
Latest Comments
I was planning to continue focusing on Data Science, but after reading this, I'm considering giving DevOps a try as well. Well written!
Hey, I am glad you liked it. DevOps in my opinion is a wonderful field because you get to “play around” with a great amount of tech and that helps you choose what you like and what not.