When you bring new engineers on-board, it’s important to make them productive as soon as possible. Spending days (or weeks) in training session, locked down permissions, and/or watchful eyes simply constrains your shiny, new developer from getting shit done. (I’ll be honest and say that I’ve been one of those types in the past.)
At Etsy, every engineer has access to deploy code to our production site. We use a tool called “Deployinator” to do this quickly and easily. It’s one button. A culture of unit and functional testing (know when your code done broke), transparency (know when releases are happening), operational metrics (know when your servers are crying), and personal accountability (know when it’s your fault) keeps the entire process under control.
Earlier this week, we did something brand new for us…
watching a new engineer who started at Etsy today push code RIGHT NOW. awesome.
~chaddickerson, Etsy’s CTO
That’s right. On his very first day, Jason got setup in his development environment, made a change to our code base (albeit a small one), tested, committed, and deployed to the production web servers.
I can just hear it: “Why would you ever let someone deploy code on their first day?” But if you’re asking this question, I have to assume that you’ve also found your self wondering at times, “How long is it going to be before Joe Newbie is going to be up to speed?”
Sure, it’s going to take time for every new hire to learn all of the ropes. But it’s better for them to be productive, confident and experienced in releasing code (even if it’s small changes!) while they’re learning all of the other details than it is for them to sitting on their hands waiting for coach to put them into the game.
And in case you’re wondering, Jason has already released code three times in his first week… possibly four by time I finish writing this.
Want to get in on the action? We’re hiring in both Engineering and Operations.