I’m an IT Manager with a team of software engineers, for context.
I don’t think DevOps is a useful title as it’s ambiguous at best, although I have my own interpretation- as do most people, which really is the problem. Not dissimilar to agile (or Agile as the consultancies will sell to you).
I would assume it means:
- You can develop software in at least one primary language or specialty.
- You may have multiple contexts under your belt and refer to yourself as ‘full stack’, such as web, UI and HTTP APIs and database (maybe).
- You know how to manage integration and deployment, probably CI (but that term is also used loosely I’ve found).
- You probably have some experience of test automation (needed for the CI really).
- You probably have some experience with managing infrastructure and basic networking requirements, possibly only in cloud infrastructure nowadays as it’s so accessible.
- You have worked in a team where you have responsibility to respond and deal with production/operational incidents, maybe even facing off to customers directly or indirectly.
So overall I would assume you had broad experience across the discipline and maybe weren’t an expert in any one area but could manage most tasks an engineer could be asked to perform.
That said, I’ve seen DevOps engineers being described as literally just a person that babysits a Continuous Integration pipeline and doesn’t develop anything. I’ve also seen people who could manage just about any aspect of an applications lifecycle (often through experience at small companies or startups) who just describe themselves as a ‘developer’.
Things I’d like to see ideally in the role would be:
- Development experience in front and back end contexts.
- Test-driven development focus with strong automation skills.
- Worked in true CI/CD environment (i.e. multiple production deployments per day).
- Knowledge of complete deployment pipeline.
- Worked with at least one cloud platform.
- Worked in a team that manages their own uptime, logs, production incidents, certs/credentials, analytics etc.
Then I would consider that a true DevOps engineer role, in an ideal world. Probably not realistic or at least expensive.