How do you find a company destined for “elite” status?
Ok, so now you may be getting excited: there are really companies like this out there because DevOps makes good business sense. But how can you find a company like this to work for? Ask questions during the interview. What is their software development process? What Continuous Integration (CI) best practices are implemented? Do they use the pull request in Git to automatically run a static analysis tool? Do they use a code coverage tool to determine how many lines of code are tested in their automated tests? Do software engineers (SWE) write the unit test first and then write the code? Do SWE add unit tests and component tests to the automated process before they ask SDET (Software Development Engineering in Test) teams to implement End-to-End (E2E) tests or manual tests?
Find out more about the culture. Is there a shared commitment to excellence, not passing the buck, so DevOps engineers don’t have to hound SWE to fix a problem? Do engineers trust in the tests enough so they can trust the automated deployments? Is there sufficient test coverage so engineers can trust the code? (from DevOps: The Big Picture, by Richard Seroter on Pluralsight.)
Determine if the automations create a process or pattern that will not be dropped under pressure. Many manual checks or steps are dropped when schedule pressure hits. But with a robust and well-built automation, the team will still use version control, and the build will still use unit tests to prevent pushing defects to production. Ask if the team is oriented toward overall outcome (less bugs found in testing, more test coverage by SWE), not individual team outcome that are often at odds (Ex: SWE done with code faster, SDET small issue queue). (DevOps Foundations: Core Concepts and Fundamentals, by Chris Behrens on Pluralsight).
What did you find?
Now you know there are companies out there who can push new code within an hour instead of accumulate enhancements for 6 months before they release them. And now you know how to find them. What kind of answers do you hear from employers? Do they even track any of the key DevOps KPIs or can they quantify recent improvements? Do they struggle to make progress on the journey or do DevOps Engineers spend more than 50% of their time creating/improving automations? I’d love to hear the stories of what you find out there, so please reply in the responses below.