Hello Everyone! Hope you all are doing well… As a recent grad from university, I have basic knowledge of C, C++, Java, Python, SQL, and Andriod Development. I have a keen interest to learn and pursue a career in DevOps but have no idea where / what to get started with… Can anyone please guide me? It would be much appreciated
DevOps covers a lot of different topics.
Networks, operating systems, servers, databases, security, automation/scripting, deployment/pipelines, cloud services, hardware, etc.
Not sure where you should start but some fundamental knowledge about networks, operating systems, and servers might be a good start.
DevOps is one of those borderline “buzzword” terms, as it’s heavily used, and can be used in so many contexts, it can essentially mean nothing. This doesn’t mean it’s useless, but rather you might have to “dig” for substantial information to actually understand what it is.
To me, DevOps means a specific way for companies to work. This might be a broad term, but it usually is good enough to include “real DevOps”, and ignore those just saying they are doing DevOps.
My view of DevOps comes from The Phoenix Project, which is my go-to source for anything related to DevOps. Its more of a novel that follows an IT manager who is put in charge of a critical IT project, “The Phoenix Project”, who learns “DevOps” to get the project off the ground, and deal with common issues found within some organizations around their IT operations.
It’s a fun and interesting read by itself. Its companion book, The DevOps Handbook is the actual book that lays out what DevOps is, how it works, how organizations can implement it, and provides examples from other large companies, like Etsy and Google.
DevOps could incorrectly be applied to situations within a company that have a DevOps role, or use some specific DevOps technologies. This could be an indicator they are doing it, or they could be doing only part of DevOps.
For example, a company doing DevOps, would strive to improve the flow of work through the entire system, this could be the company as a whole, or an individual working within the company. This is in comparison of traditional “silo” of work.
For example Developers are managed for how many issues they can implement, where-as all these issues are then “tossed” to QA, who are managed based on how many issues they can check/verify/deploy.
These 2 silos (QA, and Dev) are managed independently even though the company requires them both to work to deliver value to the customer. In A DevOps approach, these 2 “silos” are broken down to get those 2 elements to work together (along with other parties) to improve the flow of work continuously.
The handbook provides the example of TurboTax, which is a company that provides software for individuals and companies to handle their taxes. TurboTax is a company that believes in DevOps, and because of this they achieved deploying thousands of builds to production during tax season with no end-user impact.
I highly recommend checking out those 2 resources I linked above, and keeping them in mind. Doing DevOps could be a title where you are both Dev and Ops, but at its core DevOps is an “organizational mindset of how to work”, because of that one doesn’t just “do DevOps”, one has to get everyone else to get on board with the idea, implement and stick with such approaches.
Such isn’t easy to implement into every organization, nor can it always be possible due to a number of factors. However, when done correctly, DevOps can be a powerful way to work.
Hopefully that helps you at least get an idea of where you can get started, and what to look out for
Thank you for offering your valuable advice!!
Thanks a lot for sharing the links!!