

Ask HN: What are the skill set a DevOps should possess - aforarnold

Hello All,
Recently I was going through some job offer and title of the positions &quot;DevOps&quot;. It seems more like a backend developer but why people title these positions as &quot;DevOps&quot; not &quot;Backend Developer&quot;. Are there specific skill set a &quot;DevOps&quot; should have? If you are working as a DevOps, please share responsibility of the role and if you have idea, please share it.
======
Someone1234
Depends on the role.

Some "DevOps" are "SysAdmin with a little development" while others are
"Development with a little SysAdmin."

But for either you need to likely be comfortable setting up a WAMP or LAMP
environment (and similar popular software, Nginx, IIS, postgresql, Cassandra,
memcached, etc). along with decent familiarisation in scripting both (e.g.
bash + PowerShell) and a good solid grasp in whatever languages they use (e.g.
Java, Python, etc).

Overall most DevOps positions are unpaid for the qualifications they require
and expect unreasonable levels of knowledge. There are people who could do
DevOps but they have enough experience now so that they'd never take the
salaries offered for the majority of DevOps roles (i.e. you rarely see medium-
large companies after DevOps, they prefer two specialists and pay each more).

I'd definitely be careful with DevOps, unless it is a sub-10 person business
they're likely just trying to cheap out on either development or systems
support. In either case it speaks badly of a company.

------
penguinlinux
I am a devops engineer and there are lots of things I do at my work.

Manage a Cloud infrastructure from creating, destroying and provisioning
instances using tools like Ansible and in the past Puppet and chef.

The environments where I have worked are so large that doing things manually
does not scale and you have to automate all these processes. I have to work
with developers to help them setup their dev enviroments using Vagrant and
have them mirror production.

Also, I have to make sure the code the developers work with is managed and
deployed to our instance using automated tools like Jenkins or Travis CI. Help
the developers troubleshooting networking, DNS , SSL issues once we detect
bugs on production on sandbox and help them get access to logs, automate
alerts using New Relic, Elastic Search .

I work with environments where I have to know and understand the whole stack.
Hadoop, kafka, Django, Postgres , MySql, Mongodb and be able to pin point
where our bottle neck might be when we have production problems. A lot of
developers just work on one part of the system so they come to me when they
need help understanding the whole stack.

My work involves helping making the developers and the business work with
operations and work as a team. hence the term DevOps .

Automate all the things! that's my job

------
davismwfl
DevOps is not a backend developer. When I personally think of DevOps and what
we view it as with my team is a person that is not purely a developer or
purely traditional IT. Instead it is the person that can bridge those two
roles and thinks differently about them both. A Good DevOps person should be
able to interact with the dev team at all levels and provide insight to
deployment options, strategies and structures, including code level details
that might cause issues for deployment. At the same time that person must be
well versed in the hardware, networking and automation tasks that will handle
the raw deployment.

I can see a job description where many of the traits of a traditional backend
developer are listed in the DevOps role, but they are not one in the same.
That said, small teams will many times use a backend developer that has solid
networking, hardware and automation skills to fill the DevOps role as well as
his/her developer duties. We do that because we don't have the revenue yet to
afford to separate those two positions.

------
vishalzone2002
I have worked a lot with DevOps people in general. The best ones had following
: \- Amazing shell scripting and linux command weaponry. \- They keep up with
the latest tools like docker, new relic or puppet \- They over monitor stuff
using tools like ganglia, zabbix, logstash(splunk), datadog, etc. \- They have
flexible mindset (to do quick hacks) to buy time for dev team. \- They have
flexible time schedule. (act to an alert at 3 AM) \- They consider themselves
to be part of Dev team, admin team, DB team and are clear in communicating
their ideas.

~~~
aforarnold
That means a "DevOps" should have all the experience to work in different
teams. For example he may start his career as dev then move to some sys admin
jobs. Meanwhile after working for couple of years with both Dev and sys admin
team he could call himself "DevOps".

------
motyar
For me "DevOps" is one who can convert any machine into server.

 _I may be wrong_

