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!
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!
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.
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", named as 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.
The demand for DevOps Engineers have 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) is what is attracting the questions.
DevOps is interesting but also overwhelming so I'll be breaking down what it is, 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."
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 adminstration to database administration to server architectute 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.
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 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 confortable 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.
The first place to start is by knowing what DevOps is before getting into the technical stuff. Here's some good places with useful info:
a. DevOps In 10 Minutes (Simplilearn)
b. Devops Tutorials for Beginners (Edureka!)
Learning about OS systems is so vital. Changes in the code repos 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's 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)
Git is the go-to! You will need to learn about version control. Code for various projects are 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)
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 because 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 amount 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.
Jenkins is a Continuous Integration server & you can download it on your laptops & set it up! You can also automate builds of a project. I found a free Jenkins course on Udemy with project suggestions to follow them with.
a. Free Jenkins Tutorial (Udemy)
Puppet helps us maintain an organisation’s systems in its 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 are 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 have a 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 are used a lot so it would be useful to learn more about them too. FreeCodeCamp has some project suggetsions & 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)
Knowing what is going on in your servers is so important so being able to create dashboards to provide readible ways of monitoring the performaceis 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)
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 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)
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)
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)
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.
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.
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.
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 it so I can relay it to myself as well as keep the information in my mind so think about how best you learn.
*US salaries from Salary.com
*UK salaries from Checkasalary.com, Payscale.com, Glassdoor.co.uk