I have come across two separate discussions this past week where it became clear that some people have no idea what DevOps is.
The first one was an Israeli company here in Israel - https://devopsexperts.co.il/. Here is the proposed syllabus:
They are offering this course - for a fee (of course), selling the hope that if someone would graduate the course - then they would be able to get a position as an DevOps engineer.
Someone asked on a channel - “Was this course worthwhile?".
I would like to share with you my answer.
I do not want to take away anyone's livelihood but there is no such a thing a “teaching/learning” DevOps. There is no single course that can encompass all the capabilities that one would need to become a successful DevOps professional. Above and beyond that - in each and every organization - the term DevOps will mean something completely different.
There are a number of basic topics that one can learn - and with them build up a strong foundation of skills in order help your specific company. If I would evaluate a potential candidate - and their education was based mainly on this course - I would not hire such a candidate.
The demand for talented professionals is high , everyone wants DevOps engineers - and there are not many people that have enough experience or the know how. Of course with a demand - people identify an opportunity to make money.
Looking at syllabus - it has so many flaws. The course was 45 hours (which means about 1 work week)
- Scripting - what language are they going to teach you? Python? But who says that the company you might work for - could be using something completely different.
- Version Control - so this is basically git.
- Linux fundamentals - basic Linux course
- Provisioning Resources - with what? Terraform? Ansible? something else?
- Build Automation - Building a pipeline - with which tools?
- Continuous Monitoring - is that even a concept?
- Working with containers - docker run, docker build, docker pull/push
- Configuration Management - use which technology - I can name at least 3 CM tools that you might use
As you can see, this is a 50,000 ft. view of what you might do in your day to day work as a DevOps engineer - but in no way or form can you learn any of these things in a course - and definitely not in 45 hours.
For me a good candidate would be someone that has the ability to learn, understands the big picture of how software is built, deployed and managed on a regular basis. There is no list of technologies that could be checked off a list that would qualify a candidate. Does someone know Jenkins? That might be great - but if we use something else - CircleCI, Electric Commander? What will the specific Jenkins knowledge help?
DevOps is not something that you can learn in school, or in a course. It is a collection of technologies that you collect during the years, it is a state of mind that you become accustomed to as you grow, it is a set of organizational practices that you pick up on your journey.
Not something you can learn in school.
Next one was Microsoft - who decided to rebrand VSTS into Azure DevOps. Again a shiny buzzword which Microsoft assumes will attract people to the product and their offering.
“Azure now has a new set of five DevOps services,” Jamie Cool, Microsoft’s newly retitled director of product management for Azure DevOps, told The New Stack. “They’re going to help developers be able to ship faster, [with] higher quality. Oftentimes when I have conversations, ‘DevOps’ can mean different things to different folks. So to us in this context, we really think of DevOps as the people, the process, and the products for delivering constant value to customers.”
Here in the statement above is the problem (the emphasis is mine). Products do not deliver DevOps, at least not what Azure is offering. I do agree with the part about the people and the process - but not the products. Maybe the tools - but not products.
If they would have branded the product Azure CI/CD then I would have been all for it - but to me it seems that this is marketing play - trying to catch a goal that today everyone is trying to achieve.