Search for skills “Linux” in your favourite website job hunting thingy. You see something you’ve might have never heard of before. Jobs in “DevOps”. Hmm, Dev and Ops. Developer and Operator? Can’t be. Developer and Operations. Yeah, could be. You look at the skills they’re asking for to be a “DevOps Engineer”.
- You need to be able to collaborate
- Communication skills
- Coding, Bash, python, groovy, perl, php, java
- SysAdmin Skills
- Automation: Puppet, Chef, Ansible
- Pipeline: Jenkins, Bamboo, TeamCity, Maven
- Application servers: Tomcat, Wildfly
- Databases: Postgres, MongoDB, mySQL
- Logging: Elasticsearch, Logstash, Splunk, Graylog
- Source Code Management: Git, GitHub, BitBucket, Gerrit, Subversion
- Containers: Docker, Kubernetes
- Repo Management: Artifactory, Pulp, DockerHub
- IAAS / PAAS: AWS, VCloud Director, Azure, OpenStack, OpenShiftWell, that’s quite a list, you go through the list and, well, surprisingly you have about 50% of it. You’re not an expert in all of course, but you know what they products are.
So, do employers really want all of these skills? Specific products as well as in technology areas? When you speak to them they say they are “nice to haves”.
What they don’t want is a sysadmin who doesn’t code, or a developer who doesn’t have any infrastructure skills. I think these days, anyone in that kind of role has to do both. Developers and Operations staff need to know a bit of the other’s skill. You’ll always get a gap somewhere between dev and ops skills.
I don’t think DevOps personal are developers. They aren’t expected to code an application, but they’ll need to know bash python to a degree that will enable them to automate things. In real life terms a DevOps engineer would need to know about API calls. You’d probably need to know API’s for things like Elasticsearch, AWS or Azure. At this sort of level you’ll be able to write API calls so that you wouldn’t need to go to a products portal. You can’t automate things from a portal web front end, but you can with APIs.Things from shutting down VMs to automating software deployment.
Working in an Agile environment.