Cheezburger Network Doesn’t Show Its New Employees the Bathroom Until They’ve Checked In Code

with 39 comments

What do your new employees do on their first day?

Fill out paperwork?  Collect up office supplies?  Fiddle around with the customizations on their computer?

At Cheezburger, our new developers write and commit code to our production software on Day One.  Yes, you heard that right…we throw a newbie into the fire before they even have time to know what hit them.

I would strongly encourage you to aim for this goal with your new employees on Day One.  The result will be happier, more empowered employees with an attitude of ownership and a focus on productivity.

Even if you don’t work with developers, you can find ways for your team members in other departments—marketing, sales, finance, operations, etc.—to contribute on their first day.  For example, for marketing it could be to identify an improvement to the copy on the site or run a new SEM campaign. For sales or customer service, it might be hopping on the phone with an actual customer.

To illustrate, let me explain to you what we do with our new developers at Cheezburger. Given that there are only eight hours on the first day, and the developer does, in fact, have some paperwork to fill out, that means there are a few puzzle pieces you need to have in place to prevent this from being a complete disaster.

1.  Start with a small, specific task that you want the developer to complete, such as a minor bug fix or a simple code change.

For example, our most recent developer fixed a bug where if a customer attempted to use a password that was too short the error message was unclear.  From a technical skills perspective, this basically meant adding a new test (to catch the bug) and a new case to a switch statement (to fix the bug).

Let’s be clear: the point of the exercise is not to have someone show you their amazing coding chops.  The point of the exercise is for them to learn the process for getting code from their keyboard into our software.  It’s simply impossible for a developer to be productive member of your team if they don’t know that process, so that’s what we teach them first.

2.  Have a well-documented procedure so that the developer can install a development environment on their workstation.

When our developers arrive on their first day, sitting on their desk is a brand new computer.  We have already setup all the accounts to all of our systems that they are going to need.  And, in their e-mail is the licence keys for any software that they are going to use.  In other words, there is nothing blocking them from getting started.

Next, we provide them a document with a 17-step process for transforming their machine into a development environment.  This includes steps for installing software they will need to develop on our code base, for fetching our code from source control, and, finally, for building and running the code on their machine.  All in all, it takes about 90 minutes to get up and running (which includes installing an IDE and database server).

In addition to the installation guide, we have also developed a few essential pieces of bootstrapping software to accelerate the install process.  One piece sets up and manages the database schema automatically, and the other manages application configurations from machine to machine.

Now, don’t think this comes for free.  We have invested in the creation of this process because it has more benefits than just setting up workstations.  When we need to build a new machine, we have the steps documented.  Or, heaven forbid, in the event of disaster recovery, we have the steps to be back up and running.

3.  Assign a mentor.

Even the best developers are not going to figure out how to follow your process and fix that bug on their own.  It’s just impossible.  On Day One, a new employee is still trying to figure out the location of the bathroom, for goodness sake!

So, we assign them a mentor to coach them through the day.  And, we don’t just say, “Oh, you can ask so-and-so if you have any questions.”  No…I take another developer and have him sit with the new employee, side-by-side, at the new guy’s desk, for the entire day helping him through the process.

Most companies don’t want to waste a second of developer time…they want developers pounding out code.  Yet, we’re “wasting” an entire day of developer time, so that we can get a second developer up to speed much faster.  In my view, that’s not waste because ROI on that day is spectacular!

In sum, the net result is that by late afternoon on a developer’s first day at Cheezburger they have been genuinely productive and are fired up to come back on Day Two for more!

—-

The inspiration for this post was that we had a developer start just last week, and he was thrilled to be productive on his first day.  That led to a conversation [via instant messenger] between myself and the three most recent developer hires at Cheezburger.  Here’s what they had to say about Day One at Cheezburger:

Me: So…how does it *feel* to commit on your first day?

John: Good.

Eli: Scary, and very good!

Me: Could you elaborate on that? Why did it feel good? Why scary?

Eli: At [my last company name], it takes at least a week to even get your box. At Cheezburger, you can feel productive immediately. It’s a little scary being so new and pushing something out to production to quickly, I didn’t want to make a mistake. But it’s awesome to have a system where you can push out so quickly.

John: Well put. Ditto.

Me: So, why was it awesome to do that? There’s something about that which feels….????

Eli: Empowering is a good term. I’d also say that there is a greater sense of ownership at Cheezburger.  At [my last company] there were several layers between the developer and production.

John: After coming from a big mega-corp with 6 degrees of separation between devs and the production environment, it was very empowering to be able to push the button without having to collect 12 different signatures or part seas.

James: At my last job, I spent 2 weeks trying to build a working dev environment.  It was so frustrating, and most amazingly (as I was just telling John and Eli) nobody was willing to help me.

Me: Wow!  That would make me want to quit.

James: I very seriously considered quitting in the first two weeks. It was a complete waste of my time. It was hard.

Eli: When new guys came into [my last company], you didn’t want to help them build their box because box building was excruciating. It’s better to hope the new guy figured it out from the out-dated documentation that you do have.

I’ll let you be the judge, but it sounds like developers enjoy being productive on their first day.  And, in my experience, happy developers are productive developers, so the efforts we make for Day One at Cheezburger are well worth it.

UPDATE: Based on the comments, some readers have interpreted the title of this post to mean that we actually withhold the location of the bathroom from new developers until they commit code.  Ha!  That would be funny…not.

We show everyone the bathroom…both, in fact, because we have two.  The title of this post was meant as a humorous way to illustrate the importance we place on getting people up and running.

If you read the post carefully, I never say anything about not showing new people where the bathroom is located.  I’m sorry if I caused confusion.

Written by scottporad

November 1st, 2010 at 9:30 am

39 Responses to 'Cheezburger Network Doesn’t Show Its New Employees the Bathroom Until They’ve Checked In Code'

Subscribe to comments with RSS or TrackBack to 'Cheezburger Network Doesn’t Show Its New Employees the Bathroom Until They’ve Checked In Code'.

  1. Congratulations, that’s a great way to make new members feel welcome and get productive in record speed.

  2. Even if you only currently have male developers on staff I think you’re doing yourself (and your company) a disservice by not using gender-unspecific pronouns/language when talking about general behavior.

    be well,
    ~c

    Charlie Derr

    1 Nov 10 at 11:37 am

  3. Loved the post.

    The conversation at the end distracted me a bit, though…

    Is it just me or did it seem like Eli was name-dropping his former company quite a lot? Out of four responses, his previous company is listed three times.

    Just sayin’… :)

  4. Kevin–

    Glad you liked the post!

    If you read the conversation carefully…all three of them mentioned their previous employers. Eli was the only person to mention it by name in our conversation, so I redacted it.

    Scott

    scottporad

    1 Nov 10 at 11:55 am

  5. Even if you have no life, I think you’re doing yourself and the people reading your comments a disservice by being such a nitpicking sourpuss!

    John

    1 Nov 10 at 12:06 pm

  6. Did I say “puss”? Apologies to Charlie in advance.

    John

    1 Nov 10 at 12:07 pm

  7. When talking to new hires, of course they will name drop their old company – it’s the only thing they have to compare to the new experience atm!

    kayla

    1 Nov 10 at 12:13 pm

  8. i would love, LOVE to be the first employee to pee on the floor. hell, get a couple of coffees and a bran muffin in me and i’ll really show you something more meaningful than a commit. it would be ABSOLUTELY WORTH IT to “tarnish” my resume by calling your bluff. so scott, got the brass to play a game of chicken with my bladder??

    whoop dedo

    1 Nov 10 at 12:21 pm

  9. Yeah – so, while I’m all for doing things that spur productivity and set a good, immediate standard for employees.. by requiring them to complete a task before they go to the restroom is not only barbaric, but it’s also highly unprofessional.

    You’re taking a basic human need (disposal of wastes) and using it as a bargaining chip for them showing productivity. In all of the design and development places I’ve ever worked in – the ones that succeeded and have gone on to employ great workers, are those that have bosses that trust their employees. People are excited about taking the reigns (without positive or negative reinforcement) and helping out the new guys/gals because they love their job and want the new people to rock and roll just as much as they did.

    If it works for you then great, but not everyone is going to respond the way the new guys did (and there’s no guarantee they aren’t just telling you what they want to hear because they enjoy having a job and don’t want to upset their boss).

    Jared

    1 Nov 10 at 12:26 pm

  10. I have a huge bladder so that tactic will not work on me.

    Scott

    1 Nov 10 at 12:27 pm

  11. Interesting idea. We work on very short schedules so our time to first commit and release is pretty low for new people, but first day would be a good goal for us.

    The fact that you had to explain that you don’t actually withhold the location of the bathroom is a bit troubling, but hey… some people are tone deaf to a little artistic license.

  12. Yeah, teach them newbies how to do TDD.

    Eddie

    1 Nov 10 at 3:46 pm

  13. @Eddie We preach the gospel of test automation. One of the keys to shipping quickly is to have good test coverage.

    scottporad

    1 Nov 10 at 3:50 pm

  14. It sounds foolish to suggest that people unleash a new marketing person on their SEM campaigns with no historical knowledge of what has been tried/tested in the past.

    Hmm

    1 Nov 10 at 3:59 pm

  15. If by committing code you mean adding another ad to this anus of a website i see what you mean. I probably wouldn’t be bragging about how quickly we can commit code when the site looks like Geocities 2.0

    Pete O'Feil

    1 Nov 10 at 7:47 pm

  16. At my previous employer, http://causes.com, I wasn’t allowed to go home until my first day’s changes were deployed into production.

    Most of the day was spent paired with a seasoned engineer, but it was awesome (and scary!) to see my green changes put out on day 1.

    Ryan

    1 Nov 10 at 8:50 pm

  17. Wait, so some peoples’ job security relies on the popularity of lolcats? Wow.

    mike bailey

    1 Nov 10 at 9:05 pm

  18. I think this attitude (of immediate productivity) has lots benefits, beyond the impact on the new hire. Most of the article was about having the environment ready for new hires to be productive. This is what management is *supposed* to be doing – creating a productive work environment. The “former employers” who left a developer fending for himself and unproductive for over a week probably had huge efficiency problems everywhere else, too. That management team probably believes that “good people are hard to find and keep”, and that “it is really hard to ship a quality product on schedule” (not that these are trivial tasks, but in this case, management is shooting itself in the foot).

  19. I think it’s great Scott cared enough to share and that he’s proud of his team to ramp them up quickly.

    I think it’s pretty sad that some people have to take shots or seem to deliberately not get the fact that all the bathroom title was to cheekingly mean that all onboarding is process driven to escalate and build the new employee. I guess to me it shows why some get it and others…well frankly most likely will never get it and remain as drones instead of attempt to do something that breaks the apathy rampant in many places.

    Jay

    2 Nov 10 at 1:07 am

  20. Manipulative, fatuously self indulgent, demeaning and sadistic. What happens if you hire someone who wears a colostomy bag?

    Christian Marks

    2 Nov 10 at 3:58 am

  21. I love this idea—it’s a great way to speed up the onboarding process. It speaks volumes about trust and empowerment as the company values. It also sets expectations about being productive. The company has to really do it’s homework to create this “plug and play” environment.

    Wendy Hanson

    2 Nov 10 at 8:15 am

  22. But won’t this approach encourage shitty code?

    (Sorry, couldn’t resist… :-)

    Hans

    2 Nov 10 at 8:26 am

  23. @Hans

    Yours is a common complaint which I don’t really understand. We picked the thing to work on, so that we know it was going to be super simple. Plus, I had an experienced developer sitting right there, so there was oversight. And, we require test coverage, so we know that it works.

    Here’s the diff from the code change our new developer made: http://pastie.org/1266932.

    Really, is that “shitty” code?

    scottporad

    2 Nov 10 at 10:38 am

  24. @Scott: Eh, I was just making a bad pun in reaction to the post’s title…

    Hans

    2 Nov 10 at 10:50 am

  25. I will say the following only to be helpful, because this is an excellent article and I envy and commend your workplace and wish you to succeed in communication.

    What you need to understand is that you said something in the headline that is a statement of literal fact, which is not true. That was a mistake. Many people will see the headline on Hacker News or other aggregator, and not realize you intended it as a figure of speech. They will not read the article, and mistake you for a cruel employer. I read the article because I was curious to find out if you instructed new hires to use the restroom before they arrive, or to find out if they check in terrible or unnecessary code in order to stop squirming in their chair. I was confused by the fact that you never mentioned the bathroom rule anywhere but the headline, until you cleared it up with your disclaimer at the bottom.

    Matt Arnold

    2 Nov 10 at 12:22 pm

  26. [...] more empowered employees with an attitude of ownership and a focus on productivity.” – Cheezburger Network Doesn’t Show Its New Employees the Bathroom Until They’ve Checked In Code by Scott Porad, Cheezburger [...]

  27. [...] Your WordPress InstallationA List Apart: Articles: Get Started with GitYes, another one…Cheezburger Network Doesn’t Show Its New Employees the Bathroom Until They’ve Checked In CodeI like this methodology. You feel productive the first day and you begin to feel like you belong on [...]

  28. [...] Here's the Top 5 Reasons Why You Should!TweetDavid Aronchick at Seattle 2.0 reviews my post about Day One at Cheezburger.  While listing reasons he thinks our approach is positive he says: Second, it lets people win [...]

  29. [...] you are working in, but you really need to help people get started. This all stems from an interesting article regarding what the Cheezburger Network does for new engineers. In that post, they describe how they help get people started: we provide them a document with a [...]

  30. [...] you are working in, but you really need to help people get started. This all stems from an interesting article regarding what the Cheezburger Network does for new engineers. In that post, they describe how they help get people started: we provide them a document with a [...]

  31. [...] Example:  Cheezburger Network doesn’t show new employees where the bathroom is until they’ve committed code. [...]

  32. I think in this blog post there has to be LIKE button so that i can like this blog post.

    Jayesh

    17 Dec 10 at 5:50 am

  33. [...] Example:  Cheezburger Network doesn’t show new employees where the bathroom is until they’ve committed code. [...]

  34. [...] Example:  Cheezburger Network doesn’t show new employees where the bathroom is until they’ve committed code. [...]

  35. [...] Scott has a key role in hiring and directing how developers are trained. Last fall he wrote a somewhat controversial post on his blog about his hiring and training practices. (Allow me to kill the controversy here: New [...]

  36. [...] without comments div.greet_image img, div.greet_image a:hover img { border: 0px; } Hello there! You might want to subscribe my blog. Here's the Top 5 Reasons Why You Should!TweetBased on my post, Cheezburger Network Doesn’t Show Its New Employees the Bathroom Until They’ve Checked In Code. [...]

  37. They do however lock them in the elevator!

    Cameron

    12 Sep 11 at 3:04 pm

  38. It’s remarkable in favor of me to have a web site, which is useful in favor of my know-how. thanks admin

  39. Wow that was unusual. I just wrote an extremely long comment but after I clicked submit my comment didn’t show up.
    Grrrr… well I’m not writing all that over again. Anyways, just wanted to say excellent blog!

    smog testing

    26 Sep 13 at 2:32 pm

Leave a Reply


× two = 6