Skip to main content
3 answers
2
Asked 405 views

What is a good roadmap for devops?

I have basic to intermediate knowledge about the field in general, but i havent been using a roadmap so i have been wandering from course to course, which is why i need a clear and simple roadmap to guide my path.
Thanks in advance!

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

2

3 answers


1
Updated
Share a link to this answer
Share a link to this answer

Will’s Answer

Hey Mostafa,

Welcome to CareerVillage and great job posting your first question here!

Here's a categorized roadmap to becoming a DevOps professional along with some helpful resources for each category:

Foundational Knowledge and Skills
- Gain a strong understanding of programming languages, computer networks, and operating systems.
- Learn about software development methodologies, such as Agile and Scrum.
- Familiarize yourself with version control systems like Git.

Resources:
1. FreeCodeCamp (https://www.freecodecamp.org/)
2. Codecademy (https://www.codecademy.com/)
3. Udemy (https://www.udemy.com/)

DevOps Tools and Technologies
- Explore popular DevOps tools and technologies used for automation, continuous integration/continuous deployment (CI/CD), and infrastructure management.
- Learn about containerization platforms like Docker and container orchestration systems like Kubernetes.
- Gain experience with configuration management tools like Ansible or Chef.

Resources:
1. Docker Documentation (https://docs.docker.com/)
2. Kubernetes Documentation (https://kubernetes.io/docs/home/)
3. Ansible Documentation (https://docs.ansible.com/)

Cloud Computing and Infrastructure as Code (IaC)
- Understand cloud computing concepts and providers like Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP).
- Learn about Infrastructure as Code (IaC) tools like Terraform or AWS CloudFormation to automate infrastructure provisioning.
- Gain knowledge of cloud-native architectures and microservices.

Resources:
1. AWS Documentation (https://docs.aws.amazon.com/)
2. Microsoft Azure Documentation (https://docs.microsoft.com/azure/)
3. Google Cloud Documentation (https://cloud.google.com/docs)

Continuous Learning and Professional Development
- Stay updated with the latest trends and best practices in DevOps through online resources, blogs, and industry publications.
- Pursue relevant certifications to validate your skills and knowledge.
- Engage with DevOps communities, attend conferences, and participate in hackathons or open-source projects.

Resources:
1. DevOps.com (https://devops.com/)
2. The DevOps Handbook (Book by Gene Kim, Jez Humble, Patrick Debois, and John Willis)
3. DevOps Institute (https://devopsinstitute.com/)

Best luck!
1
0
Updated
Share a link to this answer
Share a link to this answer

Edmond’s Answer

I'm assuming by 'devops' you're referring to becoming a proficient programmer. I'd suggest checking code.org and freecodecamp.org - these would give you a simple path to follow from beginner to a specific level. What I especially like about code.org is that it gives you a good idea about all the fields in software development.

DevOps, as others noted is about getting a program from start to where it can be deployed and used in production - however one big piece is missing form it and that's security. You should be mindful and focus on DevSecOps instead. It ensures that security is baked in the design from day one and it's not an after-thought.

I'd suggest attending an owasp.org local chapter in-person meeting. OWASP is about secure code and attendees are majority professional software developers; gives you a better forum to ask that question, plus it's a great community to network and create connections for later in your career.

Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

Dave’s Answer

Thank you for the great question, and topic! For the benefit of those reading this question, DevOps is a combined term for development (Dev) and operations (Ops), and is a practice which brings together functions which were previously considered completely separate, with the main goal of improving processes, quality, reliability and security of products. It means developers have more responsibility for how their products are run and maintained in production, but it also means the operations side of a business has a responsbility to get invovled earlier in the development process. The union between the two providing a better end product, in a more efficient and secure manner.

For learning about DevOps, there are two tracks equally deserving of your attention: culture/process and tools. A lot of people will dive right in and say start learning Ansible! Start learning Terraform! Yes, those are critical tools that you'll want to learn about, but it is the mind set behind DevOps that I find to be far more critical. Start by reading the Wikipedia page on the topic--it's a good starting place. There is a development philosophy called Agile which is worth investigating, but with a word of caution: nobody implements Agile the same way, and most don't do it well, either. The concepts are still worth learning about, as it is commonly used, talked about and (frequently) abused in product development circles!

Learn about Site Reliabilty Engineering (SRE). SRE was championed by Google, and while it predates what we know now as DevOps, it has a lot in common. There are some excellent books on the topic you can probably checkout from a library.

The heart of a lot of DevOps is about automation. Learn about automating simple tasks, then move on to more intermediate and advanced ones. This is where you start getting into the tools. Learn the basics behind one or two good programming languages, I suggest Python, Go, Rust. The implementations are free to download and use. For learning and using Python, look at the Automate the Boring Stuff link below. And then learn about Ansible. Ansible is the gold standard for DevOps automation--useful for deploying servers, services, applications, configurations, and just about anything you want to do.

For learning languages, ansible, etc... I suggest setting up Linux on a little PC somewhere, or create an account with Amazon Web Services (AWS). There are "free" tiers for their VM service (EC2) that you can use without paying for anything. That said, AWS, Azure and other cloud services get complex very quickly, so starting with a small personal computer is probably the best place for most, at least initially.

Dave recommends the following next steps:

Check out the Wikipedia DevOps page: https://en.wikipedia.org/wiki/DevOps
Check out Microsoft's What is DevOps page: https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-devops/
Investigate Agile Software Development: https://en.wikipedia.org/wiki/Agile_software_development
Learn Python, Go and/or Rust programming language. Take a look at https://automatetheboringstuff.com/
Setup a PC, or a cloud-based free virtual machine (Amazon AWS) that you can use for learning programming and automation basics
0