Hacker News new | ask | show | jobs
by atmosx 3474 days ago
DevOps is like programming: unlimited/infinite.

First things that come to mind:

- You can create puppet modules, Chef recipes, SaltStack formulas (not familiar with Ansible but sure as hell has similar features)

- You can get certifications (Chef, Puppet, SaltStack, Ansible, etc.)

- You can get DB certifications and write your experiences about master/slave configurations, etc.

- Orchestration and schedulers tools, k8s, mesos/marathon.

- You can get certified for AWS, GCE and Azure.

- Became proficient in Bash, Fabric/Capistrano. Display some automation scripts on your blog/github-repo. Can you configure a firewall to fetch a list of IPs (say porn websites) from the internet and block or redirect access to these IPs using bash?

- Study distributed systems, replication, possible problems (split brain, etc.). How does consul/etcd/zookeeper reach consensus. When to use one tool over another, why not use Redis instead of consul?!

- Study big data on Coursera (hadoop/cloudera/HDFS/MapReduce)...

It's a never-ending story. Just take a look at look[1] at what companies are requesting. A devops should be able to write code (with varying degrees of expertise) and understand architectural/design challenges. I'm not saying you need to know everything - you can't, there are simply too many tools around - but you have to learn at least some of them and you can explain what you learn via blog posts or github code.

[1] https://weworkremotely.com/categories/6-devops-sysadmin/jobs...

1 comments

He clearly didn't mean sysadmin's automation that is nowadays called "DevOps". He meant "system administration" gigs.
DevOps work is sysadmin work with the addition of junior level software engineering experience (usually bash and python).

Source: Linux|Sys|Network Admin/IT Manager who moved into DevOps.

Funny. Sysadmin's work always included writing missing tools, which is often above junior programmer's level. What you say is basically DevOps being system administration for beginners.
I think you misunderstand me.

Yes, sysadmins have always written the glue between disparate systems, implemented monitoring, etc using bash, and now more than ever, python. But now DevOps roles are expected to (in my experience) lean closer to closer to application reliability engineers; not only must you perform admin tasks, and write tools to automate infra tasks, but you must also dive into app code at a moments notice when shit is broken.

Well, OK, but this was expected from sysadmins as well. It was always sysadmin who is responsible that the application died, no matter the real reason. Where do you think the idea of putting programmers on call to reduce crashes came from?
> It was always sysadmin who is responsible that the application died, no matter the real reason.

Out of the last 15 years of tech experience, I've only seen this be the case in the last 3 years, where the sysadmin/Devops engineer was required to have more ownership beyond "your application is broken, I've restarted it and notified the developer".