DevOps roles
What a DevOps role is:
- Writing code / software.
- Building tools.
- Doing the painful things, as often as you can.
- Being on the on-call rotation for 2 a.m. production outages.
- Infrastructure design.
- *NIX. Because Windows freaking sucks. (That said, I use OS X and prefer it to any *NIX distribution, but under the hood, it's *NIX, too.)
- Scaling stuff. Scale matters.
- Maintenance. Like rebooting that frail vhost with a memory leak that no one's bothered to fix or take ownership of.
- Monitoring. Lots of it.
- Virtualization.
- Agile development methodology.
- Software release cycles and management.
- Automation. Automation. Automation.
- Designing a branch/release strategy for the provided SCM (git, Mercurial, svn, etc).
- Metrics / reporting. Goes hand-in-hand with monitoring.
- Optimization / tuning.
- Load / performance testing and benchmarking, including performance testing of highly complex systems.
- Cloud. Really, you don't have to have cloud experience, but it can fundamentally change the way you think about complex systems.
- Configuration management. (You've surely heard of Puppet, Chef, Ansible, etc. Yes?)
- Security.
- Load balancing / proxying. (Of services, systems, components and processes.)
- Authentication services.
- Command-line fu (like
awk
.
- Package management. Freaking package management.
- CI/CIT/CD -- continuous integration, continuous integration testing, and continuous deployment. This is the closest thing to the real meaning of "DevOps" that a Systems Programmer will do.
- Databases. All of them. SQL, NoSQL, whatever.
- Solid systems expertise. We're talking about the networking stack, how hard disks work, how filesystems work, how system memory works, how CPU's work, and how all these things come together. This is the traditional "operations" expertise you've heard about.
What a DevOps role is not:
- Easier than being a software engineer.
- Never writing code. I write tons of code.
- Installing Linux and never touching your favorite OS again.
- Working the third shift. (At least, it shouldn't be; if it is, quit your job and come work with me: Keep Austin Bazaar.)
- More "fun" than being a software engineer.
- Greenfield. You'll deal with old stuff in addition to new stuff.
No comments:
Post a Comment