How To Transform From Dev To DevOps – A Complete Guide
Last Updated on January 31, 2024
Skill gap in DevOps team – how to fill it
The skill gap is still a thing. Even though big players are making news headlines with ongoing global-scale layoffs – according to the 2023’ Upskilling IT Report almost 1/3 of IT organizations describe the lack of skilled resources as the biggest challenge for the IT leaders. In many cases, the post-pandemic layoffs are the result of excessive hiring during the covid-time. Regardless, organizations have problems retaining skilled individuals – to put it simply, they snaffle experienced specialists from each other – and attracting qualified candidates.
In such a case, internal upskilling could be important in addressing the skill gap issue. But this brings another problem – specialists don’t have time for upskilling themselves. I feel that I need to clarify a few things here. Generally, the IT workforce is known for improving skills constantly. Simply because the technology and people behind it can not become obsolete. But the upskilling process can be daunting, especially as a specialist who is transforming from one domain into another – a skilled software developer switches into the DevOps profession – requires further training in two or more areas. That’s why upskilling is challenging.
However, when you do succeed, it’s also incredibly rewarding. The question I would like to answer here is what are the necessary skill sets for DevOps specialists and how to transform from software development into DevOps.
DevOps transition begins
This part was created for people who are switching from a non-technical background to IT. Hence, they still have a lot of learning ahead of them to acquire an understanding of software development and IT processes, and later practical experience in these areas too. If you have been working in IT for several years, you should skip this section.
I’ve got terrible, soul crushing imposter syndrome, it clouds my learning at times. My biggest issue throughout my study is not knowing what questions to ask, I have to spend ages thinking of how I get the question right and stack overflow fills me with dread.
– Quora User
Working in the IT industry – especially in a technical position – can be extremely rewarding. But to become good at software engineering, frontend, database engineering, or any other specialization you need to build a solid foundation. The impostor syndrome is not strictly related to IT professions. This is more or less an issue concerning all soon-to-be entry-level specialists from various fields. What to do if you feel a bit like an impostor among all those people who have been writing code for years or have a degree in the STEM field?
STEM education is not that challenging and no, you do not have to go back to the university. You see, there is this great open-source project run by MIT – yes, the Massachusetts Institute of Technology – the MIT OpenCourseWare. Thanks to the effort of many wonderful people, everybody can access the highest quality educational content. This way you can become a listener of the best technical university in the world! Almost all core subjects required for the computer science and electrical engineering major are available in the form of recorded lectures – you have also access to student notes, scripts, projects, and test materials. I have prepared a list of the most important subjects that you should cover first. But feel free to discover on your own what the MIT OpenCourseWare has to offer.
📌 Intro to programming and how to think like a CS
Introduction To Computer Science And Programming
Introduction To Computational Thinking
💡 Math and abstract thinking
Mathematics For Computer Science + online textbook
Probabilistic Systems Analysis And Applied Probability + in-class materials
Linear Algebra
📚 Level-up
Introduction To Algorithms
Software construction
Design And Analysis Of Algorithms
Computer System Engineering
Computer Systems Security
Network And Computer Security
Database Systems
☀️ Trending right now
Introduction to Machine Learning
Introduction to the Deep Learning
How to move from theory to practice? Start coding – just like that. Find some coding games or coding practice challenges and start solving your first IT problems this way. Next, familiarize yourself with the tools, methodologies, and IT project management. There are plenty of fantastic books available that will shed more light on these topics. Remember, familiarity with core topics will give you a better boost for upskilling in the future. In the next part, I am going to discuss what is important for successful DevOps transition.
A Dev in the DevOps
As a software developer, you are experienced in creating applications. OK, this is a big simplification. What I mean is you are looking at security issues, code optimization, infrastructure, processes, and many more areas mainly from the perspective of a programmer. The problem is that DevOps goes beyond coding and DevOps requires a completely new skill set.
So where to look for valuable content? If you want to cover the basics, you’ll find plenty of introductory specializations on edX, Coursera, and other learning platforms. But how to find the true gems among average and quasi-similar materials? In a way, this is the problem of the modern web search. It becomes harder and harder to find articles that provide the reader with deep insights into DevOps operations, real use cases, or in-depth perspectives.
This is an even bigger problem if as a new guy in the team, you don’t know what exactly to ask.
In cases such as this, search for people who bring valuable knowledge into the discussion and start following them. You can go no wrong this way. Thanks to this strategy you will gain access to much more in-depth content and a completely new perspective on many topics. If you don’t know with whom to start I prepared my own top choices. Build your own TOP 10/20/50 list from here
Gareth Rushgrove: X
Gene Kim: LinkedIn | X
Jez Humble: LinkedIn | X
John Allspaw: LinkedIn | X
John Willis: LinkedIn | X | Presentations
Nicole Forsgren: LinkedIn | X
Patrick Debois: LinkedIn | X | Blog
In summary: cover basics and then move to more advanced content regarding DevOps in general. Search for case studies that would help you understand the framework and how DevOps is used in daily tasks.
Technical skills needed for the DevOps job
Design and deploy infrastructure as a code, build and monitor CI/CD pipelines for different deployment strategies, and deploy scalable microservices using Kubernetes or other technologies…
In a way, we are getting into a rabbit hole. Even as a newbie in a DevOps team, you need to
- understand an application architecture,
- be proficient in at least one programming language,
- showcase serious Linux command line knowledge,
- have a good grasp of how networking works,
- and know a database basics.
It’s more like pre-requirements you must have before getting into DevOps for some serious tasks. If you come from a software programming team you already have a practical understanding of development phases, for example how versions of code are managed, and how to integrate and deploy them to servers. It’s your domain knowledge, however, you will learn new tools and technologies. The list presented below is very subjective – a DevOps toolbox heavily depends on an organization’s technological stack.
- Cloud: AWS, Google Cloud Platform, Azure
- Source control: git, GitHub, Bitbucket, GitLab
- Data protection and compliance: GitProtect
- Security scanning: SonarQube, Aqua, GitGuardian
- Testing & debugging: JUnit, Postman, Swagger, Gatling, Selenium
- CI/CD: CircleCi, Jenkins, Bamboo, and GitLab again
- Scripting: Python, shell and PowerShell knowledge is a must
- Infrastructure as Code: Terraform
- Container tech: Kubernetes, Docker
- Monitoring: SumoLogic, Splunk, AppDynamics, Raygun, Catchpoint,
- Automation: Ansible, Chef, Puppet
📘 Starting from basics: DevOps methodology
Introduction to DevOps: Practices and Tools A three-course specialization curated by Linux Foundation available on the edX platform.
DevOps on AWS is made and developed by the AWS Team. It’s a four-part program covering most basic topics related to AWS infrastructure.
DevOps and Software Engineering by IBM. This one is a 101 type of course. It covers all basic topics like git and intro to programming. According to the authors, it will take over a year to process all provided materials. It is an introductory-level specialization, however, it provides you with great insight into a methodology.
Accelerate: The Science of Lean Software and DevOps offers solid guidance about what works in software organizations and what doesn’t. What makes this position so valuable – this book shows the real data behind the findings.
The DevOps Handbook is another great resource filled with practical guidance, and again, backed by real-world examples. It’s more than five hundred pages of invaluable insights into the DevOps ways. A true must-read for a new person in this field.
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation offers practical knowledge on CI/CD. Jez Humble and David Farley cover planning, development, testing, and deployment phases and teach many good practices to go by when building a CI/CD pipeline.
Continuous Integration by Martin Fowler is another great introduction to CI/CD.
🚀 Level up: it’s about tools and infrastructure
Gareth Rushgrove’s DevOps Newsletter is a true pearl. You get a review of the most valuable content and articles in your mailbox every Monday. It’s worth subscribing.
The Humans Of DevOps is another rare finding. This is a podcast curated by the DevOps Foundation featuring guests from around the (DevOps)world to present the best practices, ideas, and learning resources.
DevOps Engineer and DevSecOps Learning Path by Google can be a great start, especially if you plan to pass the Professional Cloud DevOps Engineer Certification in the future.
Azure Learning Path for DevOps Engineers by Microsoft is a good option while getting to know Azure – especially the labs. Microsoft provides also Virtual Training Days dedicated to their Azure stack. You can check for upcoming new dates here.
The Offical AWS Training and as a primary AWS Cloud Getting started guide.
AWS Certified Cloud Practitioner Certification Course (CLF-C01) is another great study material provided by freeCodeCamp. The training is about 13 hours long and covers most topics needed for the exam.
Hands-On Cloud Administration in Azure is a great way to get any entry-level started. As expected it provides good insight into how to manage, run, deploy, and automate the Azure cloud environment. It also offers core samples to get you started. If you are also interested in Azure security great reference provides Microsoft Azure Security Technologies Certification and Beyond by the same publisher.
🛰️ Becoming a proficient DevOps engineer
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures. Every decision in a software architecture comes with some trade-offs. There are no best practices available that are going to fit every project, As a specialist you learn to choose between various compromises. And these books cover these challenges in great detail. It’s worth mentioning that this is a successor to the Fundamentals of Software Architecture written by these same authors.
Cloud Native DevOps With Kubernetes covers many different topics, starting from ways to run Kubernetes clusters, configuration scenarios, and possible pitfalls and issues to expect. The good part is that it offers a vast view of the main topic, but not especially deep. This may turn some people off the book. Nevertheless, it still can be a great guide to Cloud Native DevOps.
Docker Deep Dive is a special position. This is a well-written book accessible for beginners for whom it provides clear explanations of core concepts. For more mature Docker practitioners it offers an in-depth explanation of the architecture and a deep dive into concepts like containers, images, scaling, and security. Another great thing about this title, it is updated regularly – the current version is from 2023.
Docker in Action is from 2019 but still has to offer a solid grounding in Docker technology. It covers a large amount of materials, additionally, the author supplemented technical details with relevant use cases.
Puppet 8 for DevOps Engineers sheds some light on what could be achieved with Puppet. It is a detailed explanation of the language and technology. The title benefits from a lab section to test key concepts in a real environment.
Infrastructure as Code by O’Reilly is a book full of good advice. It will teach you how to run infrastructure and applications based on good patterns worth following, and the bad ones you’d better avoid at any cost. It’s a must-have for serious Terraform practitioners.
Chaos Engineering: System Resiliency in Practice. Could outages become a kill switch for your organization? And if so, how to prevent them before they impact your infrastructure? This guide will show you how to navigate complex systems while optimizing to meet security/compliance goals. Also, a big plus for case study chapters.
Moving forward – putting Sec into DevOps
Incorporating security earlier in the software development lifecycle shows real results in many vulnerabilities detected, better collaboration, more efficient deployment cycles, and overall, a higher level of security. According to the 2023’ GitLab Global DevSecOps Report 74 percent of security professionals said they have either shifted left or plan to in the next three years. This is 17 percent more than a year before. DevSecOps is the next big stage in the growth of the methodology hence worth familiarizing with in 2024.
GitLab Global DevSecOps Report is full of insights about the biggest challenges in software development, implementation of AI, usage of the DevSecOps platforms, and more. For the most part, this is a good starting point for someone interested in DevSecOps in general or a reverence guide for organizations on the eve of security transition.
Shifting Left Approach: is it a business challenge? presents an overview of available shift left test strategies, and possible alternatives. It also sums out the biggest advantages of the shift left approach and provides best practices supported with real-life case studies.
DevSecOps – way to improve source code protection, quality, visibility, monitoring, and compliance will help you distinguish which activities can and should be automated and in which DevSecOps is a better option.
Automated Security for DevOps is a good reverence guide to the topic of Security in DevOps by providing examples of how to integrate automated security into the CI/CD pipeline.
The most popular continuous monitoring and DevSecOps tools article presents the 10 most critical solutions for building an effective security strategy. This is a good reference guide. The list could be much longer but the final choice will heavily depend on your organization’s tech stack. And it’s worth keeping in mind that using too many tools can grow into a security problem in the near future. Why? Experienced security specialists are pointing out that an extended toolbox impacts the amount of time spent on maintaining toolchains and makes staying compliant much more difficult.
Why back up DevOps tools: what is worth remembering? As security is taking a central role in DevOps, like literally, specialists become more aware of the potential risks and threats. No one questions the need to secure virtual machines against data loss and accidents. However, it is a great surprise for many leaders that organizations need to provide that same level of protection to their DevOps data. What else you can add to this security equation? This article will help you connect all the missing dots to build a complete and comprehensive DevOps data protection strategy.
[LIVE DEMO] How to ensure cyber resilience for your DevOps data 🚀
Automate backups and disaster recovery for critical:
📌 GitHub, Bitbucket, GitLab
📌 Jira Software, Jira Service Management, Jira Work Management data
📌 Azure DevOps and Confluence [soon]
[FREE TRIAL] Ensure compliant DevOps backup & recovery with 14-day trial 🚀