How To Become A DevOps Engineer: An Untimed Guide
This was originally done as a TikTok trend but after seeing the response & recognising that the original content was inaccessible for many, I've turned it into a blog!
Let me introduce myself...
My name is Jennifer Opal, I'm a DevOps Engineer currently working for Dropbox Sign. Outside of my day-to-day, I'm a Multi-Award Winning Technologist, Technical Blogger, Keynote Speaker & Neurodiversity & Inclusion Advocate. On top of this, I also sit on the Co-Production Board of a UK-based charity called, 'Neurodiversity in Business'. You can learn more about me, my work outside of my full time job as a DevOps Engineer & more by checking out my bio page here. I also run 'The Opal Newsletter' which you can subscribe to here where I share technical blogs, opinion pieces on neurodiversity & mental health, tech career advice & guidance every month. Unfortunately, I wasn't able to get new content out this year due to mental health & personal challenges but I plan on getting content out to you all for 2023!
So how did you get into the tech industry?
Well, I kind of fell into it! I was at university studying my degree in Business & French Language when I came across a social enterprise called 'Code First: Girls'. They were offering free 'Intro to Web Development courses for women & non-binaries in an effort to get more women into tech. I applied for the course & was accepted. I'd never done coding before & it was a skill that seemed quite out of reach for me. I didn't grow up around doctors or engineers let alone degree holders. Once I completed the course in October 2017, I knew coding was for me! I started learning it on my own after the course was done. Five months after the course was done, I was diagnosed with dyslexia, dyspraxia & inattentive ADHD. It definitely put a damper on my coding journey until Code First: Girls launched their furtHER Program, which is now their Nanodegree Program. I applied & was accepted onto the three - four-month program which was free! After I completed assessments & projects, I got through to the interview stages & received a job offer.
I dropped out of uni, left London & moved to Belfast, Northern Ireland to work as a Software Engineer for a major telecommunications company. I went from working in the Test Automation Team for a year, moving into the Big Data Team as a DevOps Big Data Engineer then moving on from that company to joining Dropbox Sign.
How come you won awards?
I shared my story as a black, neurodivergent woman in tech & my experiences. I held companies accountable while educating people on my experiences. On top of that, I also passed on my technical knowledge to others in an effort to keep the door open & also shared my truth and challenges of being neurodivergent in a fast-paced industry.
I've been featured in The Guardian, given a Keynote Talk at Bloomberg, interviewed on podcasts, contributed to a book called 'The Voices In The Shadows", and was named one of the Most Influential Women In Tech UK 2022 by ComputerWeekly.com & one of seven Rising Stars In Tech To Watch 2022/2023 by ComputerWeekly.com. This is just the tip of the iceberg but you can learn more at JenniferOpal.com.
My intersectionality gave me space to inspire others. My technical knowledge allowed me to pass on my knowledge to teach others. My neurodivergent identity helped me advocate for other neurodivergent people & bring change. All this from taking a breath, stepping out of my comfort zone & sharing my story.
DevOps, DevOps, DevOps...
The demand for DevOps Engineers has been high for as long as I've been in tech & probably even longer. However, many will hear it but not know what it is. Many want to become one but have no idea what to learn. I would assume the high salaries (depending on location) are what is attracting the questions.
DevOps is interesting but also overwhelming so I'll be breaking down what it is, and what to learn as well as providing the resources I can find on them to help you learn more.
"My intersectionality gave me space to inspire others. My technical knowledge allowed me to pass on my knowledge to teach others."
Let's get to the DevOps part...
What is DevOps?
There is not one decided definition of DevOps so I'm going to define it in my own way. DevOps is simply a culture. It's a way for engineers within development & within operations to collaborate together, on the various services or products, through the entire service lifecycle.
The service lifecycle can start from the planning and the design through to the development and deployment process to its customers. Being that DevOps embodies so much, you're doing multiple roles in one from system administration to database administration to server architecture to documentation & so much more.
DevOps is not one thing, it's a culture which is something I feel people get confused about which I understand. I used to think the same thing until I dug into it! That's it. Well, the simplified definition anyway but I'll provide resources on where you learn much more about it.
I want to learn about it. Where do I start?
Before you start, ensure that you go at your own pace with each section. I find DevOps overwhelming myself & I have mentors that have been in the DevOps & SRE space for years who say the same thing so it helps me feel better. Take your time to understand it all.
One thing I won't do is give time estimates on how long it should take you. As someone with disabilities that impact my reading, comprehension & learning, I don't feel comfortable giving estimates for you to measure yourself on. You're more than welcome to set that for yourself if you'd like if it helps create accountability for you as you learn.
DevOps Foundations
The first place to start is by knowing what DevOps is before getting into the technical stuff. Here are some good places with useful info:
a. DevOps In 10 Minutes (Simplilearn)
b. DevOps Tutorials for Beginners (Edureka!)
Operating Systems & Networking Protocols.
Learning about OS systems is so vital. Changes in the code repositories are deployed onto servers so familiarising yourself with Linux or Unix commands is useful. I would recommend Unix. Practise using the Command Line Interface (CLI) as well. You can, then, go on to learn about shell scripting. You can find some free courses on Udemy & Edureka’s YouTube Channel.
Here are some YouTube videos listed below:
a. Unix Shell Crash Course (Geek's Lesson)
b. Intro To Unix (Edureka)
c. Unix Architecture (Edureka)
d. Linux Crash Course (FreeCodeCamp)
e. Networking Protocols Documentation (W3 Schools)
Version Control
Git is the go-to! You will need to learn about version control. Code for various projects is stored in code repositories so understanding how this works would be ideal. I would check out this site to learn it interactively:
a. Git Branching (Learning Git Interactive Site)
Scripting Language
There are many languages people recommend. From Java to Ruby but I would start with Python. There are many resources to learn about it from FreeCodeCamp to Codecademy. The reason why I picked Python is simply that it's the language I first learned, it's a language I still use, it's helped me to understand other programming languages better & lastly, there is a large number of resources available to learn the language for free. Whatever language you start from, you can pick up others after & you'll have to anyway.
I had to learn Ruby because I was using Puppet, I had to become proficient in Shell Scripting, has to familiarise myself with Regex as well. You will constantly be learning so don't waste time trying to pick a language. Start with Python & learn more afterwards.
a. Learn Python (Python Docs)
b. Learn Python 3 (Codecademy) *I suggest not paying for the Pro version. You are better off buying a Udemy course instead to save on cost.
c. Python Bootcamp (Udemy) *Always wait for the sale to get it for less than £20. Sales happen very frequently.
CI Tools
Jenkins is a Continuous Integration server & you can download it on your laptops & set it up! You can also automate the builds of a project. I found a free Jenkins course on Udemy with project suggestions to follow them.
a. Free Jenkins Tutorial (Udemy)
Configuration Management Tools
Puppet helps us maintain an organisation’s systems in their desired state. I use this in my day-to-day but other examples of tools like this include Ansible & Terraform. Doing projects on any one of these tools is all fine.
a. Puppet Docs (Puppet)
b. Ansible Docs (Ansible)
c. Jenkins: From Zero to Hero (Udemy) *This course has projects & follow-alongs using Jenkins & Ansible, Jenkins & AWS, Jenkins & Docker & more. You can search for similar courses so you're getting more for your money. Please wait for the sales though. They tend to happen every week almost!
Databases
Databases are used a lot so it would be useful to learn more about them too. FreeCodeCamp has some project suggestions & tutorials below that you can try out. It also gives you project ideas & tutorials using Shell Scripting which will be beneficial later.
a. Relational Databases Certification & Projects (FreeCodeCamp)
Monitoring
Knowing what is going on in your servers is so important so being able to create dashboards to provide readable ways of monitoring the performance is incredibly important. There are many monitoring tools but as Grafana is free, I would go for that. They also have blogs, learning resources & templates you can have a look at on their website too.
a. Grafana Docs (Grafana)
Cloud Providers
AWS is the most popular cloud provider which I use in my day-to-day so I would recommend this. AWS Learning has many project ideas & new users can get access to some of their services for 12 months which is a great amount of time to familiarise yourself with it. Some popular services on AWS that you may want to try out are our EC2, Cloudtrail, CloudFront and RDS.
Remember to write technical blogs for your projects on Dev.to, Medium or even create your own website. Cloud providers will charge you after a while & you need to provide your card details in order to set up an account so I would take screenshots & delete the project once it's done.
a. AWS Learning (AWS)
Containerisation
Understanding containerisation tools would be beneficial. I did struggle to install Docker on my Macbook Air so ended up using my Macbook Pro to familiarise myself with it. You shouldn't have any issues but if you encounter any bumps, Google the errors you're encountering. It's highly likely that someone else has had the same issue & found a way to resolve it. I'll add that you should familiarise yourself with Kubernetes (also written as K8s). Kubernetes & Docker work together. While Docker is a technology that automates the deployment of applications in containers, Kubernetes provides the technology to control how and where the containers deploy.
a. Docker 101 Tutorial (Docker)
b. Docker Labs (Docker)
c. Jenkins: From Zero to Hero (Udemy)
d. Kubernetes Basics (Kubernetes)
e. Kubernetes Crash Course (TechWorld With Nana, YouTube)
f. Docker & Kubernetes (The Complete Guide, Udemy)
Technical Writing
I know this isn’t mentioned much but as a dyslexic who wasn’t prepared to write documentation, I encourage you to learn about it. Google provides a free course on Technical Writing.
a. Technical Writing (Google)
To wrap up the DevOps Talk...
What other DevOps jobs are there? How much can I make?
There are so many career options in DevOps, not just Engineering. Here's a breakdown of some of them as well as the possible salaries you can earn in the UK or the US.
Systems Administrator: $61k-$78k / £27k - £47k *
DevOps Engineer: $116k-$136k / £28k-£116k
Security Engineer: $117k-$154k / £20k - £72k
Release Engineer: $60k-$70k / £21k - £87k
DevOps Consultant: $102k-$132k / £27k - £98k
Cloud Engineers: $120k-$141k / £38k-£57k
Now, you could probably earn more with contracting but you may lose some benefits from doing so depending on where you are such as having to do your own taxes, no paid annual leave or health insurance etc.
What certifications should I get?
This can vary depending on career path & experience level. The ones that have been recommended to me are from:
a. Linux Foundation (various certs available varying from beginner to intermediate & various roles like SysAdmin or Engineer)
b. AWS (Cloud Certification varying from beginner (CCP) to advanced (e.g. DevOps Engineer or Security Speciality)
c. Terraform, Docker & other common DevOps tools offer certifications too but I haven't had anyone personally encourage me to pursue one but it doesn't mean you shouldn't for your own technical development.
It’s important that you build projects with your certs. Don’t just depend on having the certification. Create technical blogs of your projects on Dev.to, Medium or even your own website! Take screenshots of your projects if they are on the cloud to avoid paying for them as you’ll need to delete them once you’ve done.
I want to highlight that I don't have any certifications myself yet but these are the ones that were recommended to me by other DevOps Engineers in my network.
Do you know any other places or programs I can learn from?
There are many places for you to find resources for you to learn on your own or with others. These are not DevOps specific but they offer a range of resources on various topics we're touched on. Here's a list of places I know & some others I've tried.
UK Bootcamps & Workshops.
Code First: Girls (High recommended as this is where I started my coding journey. Open to women & non-binaries).
Coding Black Females (the founder, Charlene Hunter MBE, & their team are amazing. I've been a mentor in a past program & love the work they do. They do have events, workshops, and talks & have an amazing community so I would look into them too.)
Free Level 3 Qualifications (UK Government Courses, England Only. Open to over 19s.)
Free Websites
Codecademy (Avoid paying for the Pro Version)
AWS Learning (12 months of free access to some services, project ideas & workshops)
Udacity (They have some free courses on various topics that may be useful.)
YouTube (FreeCodecamp, Edureka & Simplilearn have great educational content.)
Low-Cost Websites
Coursera.com (may have to pay for some courses or to get a certification at the end of course completion)
Pricey Option
LinkedIn Learning (I get access to this for free through work but they do have a huge library of great content. I believe university students get access to LinkedIn Learning for free with their student email addresses but this was a few years ago. You'd have to check if this is still an option now.)
Pluralsight (there's an annual fee for using Pluralsight. You can get courses & labs on there as well but I'll be honest & say I haven't used Pluralsight since 2020. I also used it for free because I got access to it through work.)
Do you have any more advice?
Yes! DevOps is huge & can be overwhelming. Give yourself grace & take your mental health & learning style into consideration. I learn well by building things or writing about them so I can relay them to myself as well as keep the information in my mind so think about how best you learn.
Do not compare your journey to others. Everyone is different, everyone lives differently & learnt differently. I am neurodivergent. I have dyslexia, dyspraxia, inattentive ADHD & anxiety. I always prioritise that over everything. I encourage you to do the same & be patient with yourself. I'm four years into tech & I've been talking about getting my certs for ages but life happens, mental health happens & that can alter your goals while you heal. It's okay! We're human.
I advise you don't set unrealistic goals when it comes to completing courses, projects or even getting certs. If you work well that way, that's fine but just because someone got a cert in 30 days or a week, it doesn't mean you need to & it's okay to not earn or create something in the same amount of time. It doesn't make you less capable or smart.
Share your projects! Do not just watch the videos & memorise answers for certs. Test yourself, build projects & teach them! The best way to learn is to teach & that is how you learn too. Write technical blogs about your projects on Dev.to, Medium.com or create your own website to share your projects.
Connect with the tech community especially if you're part of an underrepresented group. As a black woman engineer, I'm yet to experience working with another black woman but connecting with other black women, femmes & non-binary people outside of work has had such a huge impact on my confidence. Make friends in the tech community, connect with people who reflect you & look like you, and follow people that look like you & inspire you. It really helps in the long run!
Most importantly, enjoy the journey, and connect with the tech community on various social platforms, I recommend Twitter & have fun! The opportunity will come to you! I’m excited to see where your tech journey takes you! 💖
Subscribe to The Opal Blog on Substack using the button below & check out my other blogs too. There’s more to come!
You can find me on Twitter, Mastodon, TikTok or LinkedIn if you'd like to connect. Learn more about me, my tech career, and neurodiversity advocacy & more at JenniferOpal.com.
Happy Learning!
Lovely write up!! I was looking into cloud devOps, still a beginner in tech myself and in CFG program. Thanks for certifying my path and I sure do know what to do now. Love the blog!! Keep doing more!!
Great, Blog post. Love all the link super useful