And we're big fans of them. Being a small company, our interns actually do interesting stuff.
This summer I'd like to have a more Ops-oriented dev-Intern, since we need help with things like:
- Deployment automation
- Software package install automation (not everything can be puppeted, alas)
- OS configuration optimization
- Automation of statistics gathering
- Automation of new-machine staging
- Building pretty interfaces to the automation for a diverse audience (all of our Engineers are in the on-call schedule, you see)
- Building pretty interfaces for status tracking of how things are running (application-specific things, not just OS/HW level things)
In short, we need a DevOps intern. Or if you're old-school, we need a Systems Programmer. But this also involves more than just automation engineering! Oh, yes!
- Working through the software-package dependency tree for upgrading the Linux distro-version underlaying large parts of our infrastructure!
- Package names change, which affects the configuration management setups!
- Libraries perform differently!
- Libraries go away completely, which mean we need to roll them and deploy them ourselves!
And that's not all! Such an intern is guaranteed to be involved in our August Major Maintenance window, which is very likely to include a bunch of hardware things! We don't know what that'll be yet, as that is determined by how fast we grow in the next two months, but it's likely to involve hardware, and it's likely to involve this Intern in the process of getting it integrated! It'll be a long weekend, but that's how these things work. Experience!
Enough with the Rah! Rah! Rah! stuff. What skills are we actually looking for?
- Ruby. If you don't know it, you'll learn it fast. Nearly all of our automation so far is written in it, and the rest is hidden inside a Ruby wrapper. You're unlikley to need much, if any, Rails.
- Linux. One of the major projects of this summer will be deep in that, so being literate on it is an extremly good thing.
- Sub-categories of skills we'd like to have are bash and package management.
- Configuration Management engines like Puppet/Chef. The domain-specific-languages of these are Ruby-like, so be familiar with it. Nice-to-have.
- Good IM/Chat Skills. Half the current DevOps team are remote-workers, so you'll have to work well with them through IM, group-chat and hangouts.
The official Intern posting is over here, but is kind of detail-light for a reason. You're welcome!
That link also includes all of the "why working for us is a really good idea" stuff in case you need more of that.