What is DevOps? How does it relate to other ideas and methodologies
within software development? Linux Journal Deputy Editor and longtime
software developer, Bryan Lunduke isn't entirely sure, so he asks some
experts to help him better understand the DevOps phenomenon.
The word DevOps confuses me.
I'm not even sure confuses me quite does justice to the pain I
experience—right in the center of my brain—every time the word is uttered.
It's not that I dislike DevOps; it's that I genuinely don't understand what in
tarnation it actually is. Let me demonstrate. What follows is the definition
of DevOps on Wikipedia as of a few moments ago:
DevOps is a set of software development practices that combine software
development (Dev) and information technology operations (Ops) to shorten the
systems development life cycle while delivering features, fixes, and updates
frequently in close alignment with business objectives.
I'm pretty sure I got three aneurysms just by copying and pasting that sentence, and
I still have no clue what DevOps really is. Perhaps I should back up and
give a little context on where I'm coming from.
My professional career began in the 1990s when I got my first job as a
Software Test Engineer (the people that find bugs in software, hopefully before
the software ships, and tell the programmers about them). During the years that
followed, my title, and responsibilities, gradually evolved as I worked my way
through as many software-industry job titles as I could:
- Automation Engineer: people that automate testing software.
Software Development Engineer in Test: people that make tools for the testers
- Software Development Engineer: aka „Coder“, aka „Programmer“.
Dev Lead: „Hey, you're a good programmer! You should also manage a few other
programmers but still code just as much as you did before, but, don't worry,
we won't give you much of a raise! It'll be great!“
- Dev Manager: like a Dev Lead, with less programming, more managing.
- Director of Engineering: the manager of the managers of the programmers.
Vice President of Technology/Engineering: aka „The big boss nerd man who gets
to make decisions and gets in trouble first when deadlines are missed.“
During my various times with fancy-pants titles, I managed teams that included: