As more and more collaborations give rise to new abstractions in technical operations, I pondered about DevOps and how a leading success story in operations focused engineering has positioned itself in the industry. Wikipedia describes DevOps as "DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from the Agile methodology."
CICD or Continuous Integration Continuous Development pipelines are a major feature in the DevOps wheelhouse for shortening the systems development life cycle. It owes its successful start to the open-source community via the development of Jenkins and blossomed out from there upon massive industry adoption. The big leap for CICD came in cloud adoption with companies like JFrog and Github along with leading providers like Azure and AWS, who went and created a very integrated and stable ecosystem. This led to the shortening of the systems development lifecycle to only a fraction of what a manual deployment would take. CICD can truly be hailed as a breakthrough we industry practitioners now take for granted.
So, is that the lot for the DevOps professional? After interviewing for a number of DevOps roles, I can see many companies see CICD as being the one forte that matters. In truth, it's a major component, yet it does not form a complete set of skills requirements for the DevOps engineer. The DevOps engineer to be effective at bridging the gap between operations and software development requires more than CICD knowhow. Any engineer can learn CICD in a relatively short period of time (and getting shorter with pipeline improvements from multiple vendors), but what remains consistent are the following attributes, which make up an effective DevOps Engineer:
- Programming know-how in Python, Go or even Bash along with a willingness to sharpen one's skills prior to taking on a project that requires them. Automation of back-office tasks in Operations often falls to the DevOps (V Site Reliability Engineer, aka SRE) engineer. Also, Software Developers and QA Developers are not perfect, they can deliver imperfect code to the staging area for the DevOps engineer to deploy. Here is where the programming know-how of the DevOps engineer features in CICD tests, checks and troubleshooting. It also features in quality assurance around integration testing where necessary; along with more qualitative engagement of software development when deployments go wrong due to code bugs. This shortens the systems development lifecycle and increases reliability via automation in production.
- Troubleshooting skills for the DevOps engineer must be top class by the very nature of the role the engineer occupies. Here is where the good DevOps engineer provides a valuable escalation point for production and platform engineers. The advanced systems knowledge of the DevOps engineer along with advanced troubleshooting skills places the engineer in a position to shorten time to mitigate in relation to production issues. The DevOps engineer in cases where understanding and data discovery become stalled is a valuable escalation point for assistance in figuring out the issue and aiding the SRE in issue discovery along with the resulting generation of solutions.
- Project Managers in most development projects rely on technical expertise, which often falls to the Software Developer of even managers to fulfil. The DevOps engineer brings a blend of technical expertise and know-how that aids software projects in many areas. The holistic technical understanding of the soft development life cycle tends to be deep and much wider than the Software Developer's narrower understanding at depth.
Like all things tech, DevOps is an evolving concept but with continuing adoption, the space is going to become more exciting as technically creative with time. Cloud success has paved the way and will continue to lead in our industry's march through time.
Stay tuned for more on DevOps in this blog along with articles on other areas of interest in the Infrastructure and Writing arenas. To not miss out on any updates on my availability, tips on related areas or anything of interest to all, sign up for one of my newsletters in the footer of any page on Maolte. I look forward to us becoming pen pals!