Sitting halfway between a good habit and a good business practices, any software engineer or systems admin exploring projects beyond the scale of a single developer have to start thinking about their methodologies.
Development methodologies, like any good work habit, are only felt when they aren’t used. And being familiar with different dev methodologies helps not only with the ability to adapt to different development environments, it also bridges the gap between working as simply a “code monkey” and actually being able to coordinate different development processes into the one thing all knowledge workers love and want: a real product.
But putting “practices Agile” on your CV isn’t exactly a hard way to sell a vital skill. That’s why with a little term called DevOps, you can put methodology and practice together into one identifiable (and highly valuable) knowledge skill.
What Is DevOps?
DevOps is a meta-methodology, a framework of how to orient programming methodologies across teams of any size, and one which makes itself well suited to the Startup business model.
To understand DevOps means unpacking a little bit of what it means, which can sound weighty to the uninitiated. In effect, DevOps is a blending of two approaches to software development:
Agile Development – the practice incrementally. eveloping features and definitions in a manner that allows software projects to be scalable and modular going forward. This practice is often contrasted with Cascade methodologies, which favor version-based development with absolute specifications.
Integrated Operations – the practice of involving operations and administration of software into the development process, having closer cooperation between those who build the infrastructure of software and those who manage or retain it.
Another helpful way to think about DevOps is to break the word down to it’s compounds: Development and Operations. In an ideal environment (if such a thing exists), DevOps is implemented as the full integration of all levels of a project to allow for progressive software development.
How does DevOps Relate to the Current Industry?
In many ways, the Startup boom that we’re now experience was already accounted for, years in advance, with the development of the Agile apparatus back in 2001. The so-called Agile Manifesto was an attempt for forward-seeing developers to turn software development onto a more (one could say) “agile” path, allowing for a development cycle that felt more like an actual cycle: with feature revisions and a project scope that could grow or shrink to meet the needs of clients.
So it’s no wonder that Agile as a methodology has been well embraced by startups, particularly ones that need to squeeze every drop from their talent (and if you’ve worked in an agile environment, you know exactly what that means.)
DevOps, on a whole, is well suited to small development teams, as expertise can easily inform project direction, and coordinating operations between a small team is much simpler when all parties have a complete perspective of the project. In particular for Startups — where growth can vary from overnight exposure to incremental advancement: DevOps allows for scalable project development through the agile process, as revisions do not come through extended development pushes.
It’s true that DevOps, as a knowledge skill, has relatively few practical applications for the majority of development. For the most part, project and operations managers oversee the implementation of methodologies, but it’s invaluable to demonstrate familiarity with DevOps or any work methodology with high exposure. You may not be in the position to lecture others on proper version control or the right revision schedule, but you won’t be scratching your head or singled out when project management starts cleaning house.
If you can speak the language of development, you’re a thousand times easier to work with than someone who can’t — or won’t.