Hacker News new | past | comments | ask | show | jobs | submit login
Cheezburger Network doesn't show new hires the bathroom until they check in code (scottporad.com)
111 points by danshapiro on Nov 1, 2010 | hide | past | favorite | 61 comments



This is all great and fun, you know, for the cheeseburger network. I am not sure that companies like Microsoft or Apple would ever entertain an idea like this.

There is nothing wrong with committing your code to the source control on the first day, but there is nothing to be proud of it either. I personally would like to get acquainted with my team-mates and stuff and go through some company policies before pushing stuff to the production. Please don't make my first day at the job more difficult than it should be. Also, not all code bases are easy to even learn where to modify.

>>> The result will be happier, more empowered employees with an attitude of ownership and a focus on productivity.

Again, why? What is wrong if you started committing code on the second day?

This is just a different approach, not always a better approach. If it works for them, good. There are a lot of situations where this policy will lead to disastrous results.

And I hope the title is just link-bait and not actually true.

[EDIT: removed the words "more serious" from the second sentence. See comment from Scott below]


@niyazpk: I resent this comment:

"I am not sure that more serious* companies...I mean with actual paying customers and such."

Cheezburger has been a profitable business since inception. We have been profitable every single quarter, and never had a quarter with negative cash flows. Our revenues and profits are in the millions.

Very, very few startups can make that claim.

We operate three different lines of business: we sell advertising, we sell merchandise (at http://lolmart.com) and we publish printed materials such as books and greeting cards (http://amzn.to/buztLM).

I assure you that having fun and LOL is a serious business.

Scott


"Cheezburger has been a profitable business since inception. We have been profitable every single quarter, and never had a quarter with negative cash flows. "

Oh come on now, how could you have negative cash flow? Your whole business model is based around publishing content on the web you didn't create, (and 99% of the time probably don't even own the rights to), this is not exactly an expensive business to run.


Trust me, it's VERY easy to have negative cash flow, for any business


Sorry, don't get me wrong, I understand it's easy to burn through cash.

My point is: I'm not sure why Cheezburger thinks it's impressive to set up Wordpress blogs of other people's images without breaking the bank.


You don't think it's impressive? Go do it. I believe these guys are profitable with a headcount of 20-30 people (many of whom are content moderators). They've presumably built an ad-sales machine that works, a moderation machine that works, and build some fairly sophisticated custom software as well as the business analytics software behind it to measure/improve their sites. They've also built a "market testing" machine where they launch speculative blogs and measure their success/viability.

These guys have a GREAT growth curve and healthy margins- rare in the content world. Heck, look at Reddit. Great company, soaring page views, barely profitable.

I'm sure you're similarly unimpressed with Yelp? Threadless? Digg? Reddit?


I don't think you understand my point at all. The pageviews Cheezburger garner ARE impressive. That it is possible to run a business with very low capital costs (based on wordpress blogs) fairly inexpensively (and thus grow or _shrink_ organically) is NOT impressive.


I don't know if they're flouting it as "impressive" so much as "This is a fact that is not true for many other start ups."


>> Your whole business model is based around publishing content on the web you didn't create

You mean like Twitter? Facebook? Youtube?


I didn't read niyazpk's comment as a slur against your business model, but as an observation that assumes Cheez code is simpler to write and maintain then other code bases. I can see Cheez's approach working for a web based environment, but for something more involved, say Photoshop, this would probably be a disaster.


The fact that the Cheezburger Network code and development environment is as inviting and straightforward to new developers is not an accident. Without constant care and refactoring, even the most mundane-seeming software systems can develop into unmaintainable cruftballs.


You could also see it as a goal focused towards the quality and maintainability of the codebase, properly defined and communicated tasks, CI- and QA-processes etc. that make it possible.

There's nothing inherently different between a website and "real" software that makes being agile (which this is really about) more possible on websites.


I apologize. I've removed the offending words. My argument stays.


If you are having people check in code on the first day, are you really serious, or just making up silly rules that will blow up when you are actually a company, not just "profitable from inception" (Man, have I heard THAT one before)


The company behind the Cheezburger network is very real (http://www.crunchbase.com/company/pet-holdings-inc). They run some very popular content sites. For example, I Can has Cheezburger is being visited by 3.6 million people per month. Their network as a whole is being visited by 12.1 million people per month, according to Quantcast (http://www.quantcast.com/p-75z9nhQwNH4Ek). How exactly is this business not "real" ?

Now, to the point at hand. Having a new hire show up on the first day, get their work station setup, and complete a round trip of checking out code, fixing something real, and getting it back into the repository is a very real milestone. You might take it as being flippant or process-ignorant, but by getting that new-hire through that hurdle on day one can be seen as a major accomplishment. It may not be right for some businesses, but if you instead got your new hires to submit a change for review rather than for integration into a production build you'd achieve the same effect.


Not only that, if any of my managers or hiring personnel ever bring an idea this dumb to me, I will fire them on the spot.

Wow.

I can't believe how angry something this utterly nonsensical makes me, but at least I know it's being done by other companies, not by mine.


A little over the top, no? I agree that having developers commit to production code day 1 isn't right for all companies, but having systems sufficiently automated that you can set up a dev workstation and actually commit code in, say, 90 minutes should definitely be a goal for all companies.


He mentions that the task is a small, specific code change (I imagine planned in advance), and that another developer sits with the new hire for the whole day. I didn't get the impression that it's a "trial by fire" kind of scenario.

Overall, it strikes me as a nice idea; I know I would appreciate having a first day like this.


I would love to have a first day like this. I know that it took me several frustrating days to get a hello world up and running on my last project. Getting the existing code base to compile and go on the first day is very nice.


This is all great and fun, you know, for the cheeseburger network. I am not sure that companies like Microsoft or Apple would ever entertain an idea like this.

For someone with pretty grandios claims about Microsoft it seems like you definitely didn't double check your statements. One of the most helpful things that anyone did for me when I started at Microsoft was when my office mate helped me get setup on the network, pull the source code, find the target area, and "check-in" (not a real check-in, the MS final check-in process is complex) a trivial patch with a full recompile.


I'm in a test org in MS and we try to get new hires to check in test code sometime their first week. As others have said here, it's a multi-purpose task: Get the new hire up to speed on how to work with our internal tools, work out any kinks that they would run into anyway, and give them a feeling of having accomplished something for the team.

The actual quality of their check-in shouldn't be terribly important, as what they're checking in is usually something very simple.

Doing it all in a single day is aggressive, but doable. I suppose you'd find holes in the new-hire documentation pretty quickly.


Thanks for pointing that out.

It's wonderful that their codebases can be enhanced by adding another case to a switch-statement, but that's far from what you'll encounter with complex projects. It works for web 2.0 PHP/Rails stuff. It doesn't translate to much else.

[EDIT: My tone struck me as a bit too condescending, sorry about that. Still: Rushing new developers into their first commit doesn't work for many projects!]


I think they are really testing the ability for a new developer to get a build machine set up and running so that they can check out, modify, test, and check in code. This is as much of a test of Cheeseburger as it is of the new hire (or their bladder).

In the past I have worked at or consulted for places where doing so was a black art that could easily occupy a week or more of a new hire's time. Most small companies had a single "expert" and the rest of the developers would copy code, libraries, and settings from one machine to another in cargo-cult fashion.


Nail on the head, here. I'd say it isn't a test of the new hire at all. Having this rule in place requires their code and tools to be in order and easy to set up at all times. That alone is priceless company-wide, however it makes the new hire feel on the first day.


> that's far from what you'll encounter with complex projects

I don't think that's true. Even complex projects have some simple bugs. The example given was making the software produce a nicer error message if the output was out of bounds; you can do that kind of work for almost any program. It's not like they assigned a random bug...


Or even jut fix a typo in a comment or error message.


I read the OP a little differently than I read some of the comments.

Imagine you are brought into a messed up development culture with some authority to make changes. You can't build the product from source, you can only patch it. You can't build a test database from migrations, fixtures, or whatever, there are "magic" development databases. And so on and so forth.

You think about things, remember this old post, and institute the following goal:

"We must be able to take a workstation from email and appropriate access to checking in a change in one business day. Document the steps, re-organize development, everything so that we can sit down with any new hire and get them to set everything up and commit a change on their first day."

It might be empowering for the developer. It might also be a forcing function for fixing issues with your development environment.


More than anything else, I think this article shows how common sense is forgotten in most organizations, and especially in large organizations.

The idea that people like to be productive and hit the ground running on their first day is not new, exciting or bold. Yet, it's still noteworthy when it happens.

I would have loved procedures like this when I started my current job. After the HR benefits lecture, I was sat down at a computer and told to read outdated and often wrong documentation for a week. My login account wasn't active until two days after I started.


I hope your outdated documentation was at least in a wiki (or similar) so that you could correct it.


Where does the title of the article come from? The article doesn't say that at all.

All the article says is: "On Day One, a new employee is still trying to figure out the location of the bathroom, for goodness sake!", so they assign new employees a mentor to help them with everything.

EDIT: typo


Hell the title makes it sound like they withhold bathroom privileges until you make a commit.


    echo '# John was here.' >> index.php && svn commit -m "I really have to pee"


Considering that the author of the article is the CTO of the company, I don't think we can take the title as a mistaken assumption.


I'm sure they are joking about withholding bathroom access (you can get sued for that).

But it does seem to me that doing this seems to serve the author's interest more than the devs.

"How does it feel to commit on your first day?"

"So, why was it awesome to do that? There’s something about that which feels????"

It sounds like person would be excruciating to deal with.

I'm sure it's just me, but how much he glorifies his policy of first day commits speaks to some larger issue.

I hope this doesn't offend (but I'm not sure how it cant) and I intend no malice. But if my boss said that to me I would probably start looking for a new job that night.


Committing on day 1 at IMVU is also a really important part of our culture. We want to make sure that new engineers hit the ground running and feel like they have the ability to contribute right away. We celebrate it, because it's an important first accomplishment. And new engineers who come from other places (like Yahoo!, where I worked before) are thrilled to see a change on a production cluster that has hundreds of servers, without having to go through some lengthy release process. It's exhilarating.


Our entire induction process takes less than half an hour. Is it rare to try and have everything set up for the new hire before they start?


You'd be surprised. I think a lot of times new employee set up could be streamlined by emailing a list of questions to the new hire ahead of time (prefer osx/windows? this tool or that? etc).

I know when there are new hires at my company it usually takes them about 1/2 the day to get their new computer ready to go (without any dev software installed). I think it could definitely be faster simply by putting IT in touch with the person sooner.


Your induction bureaucracy might take half an hour. The process hopefully takes a bit longer, a week or so.


I've had a bit of a think of this and you're right about settling in, but I'd say it takes a bit less than you're suggesting as generally we start the process early. If I get time I'll write a blog post about it.


In my last four jobs, only one company managed to get me my login and email passwords on the first day. Once, I actually quit my job before I had access to all the systems I needed (I used the accounts of my superior for a long time.)

So yes, it seems to be a hard problem.


Wow, that's nuts. We work out in advance which systems they're going to need access to in order to determine what level of vetting they'll need. It's not always perfect, but getting access is generally a case of raise request -> accepted by system owner or director -> do.


Our process can take up to 1-2 months before people have full systems access and everything bedded down. I've seen some new hires have literally zero access for up to the first three weeks.


Unfortunately, that was my experience recently. This article really spoke to me: show the new guy that B.S. is not going to be tolerated, and that we are going to make product, right away, aided by our processes, rather than crucified upon them.


It's incredibly rare in my experience.


Sounds like a suitable way to get junior developers started. As a senior developer, it would never work for me. A document telling me how to set up my development station, step by step? I'll find out how to set up my development station and if I want to use vim instead of Eclipse, that's my choice.

Ofcourse, I'm not desperate for a job either, and I am used to setting the terms revolving my development environment and the way we work, as opposed to the other way around.


I believe that no hiring process is perfect, so something like this could also work as an additional filter for both junior and senior developers: those who are unable to follow the instructions are poliyely shown the door on their first day, instead of wasting more time of the other, productive members of the staff.


This is a bit silly in my opinion. On my first day at the past two companies I've worked at I spent most of it setting up my computer and development environment to adhere to the necessary things I needed for my role.

I don't think I actually started any real development for a few weeks to be honest, those first few weeks were spent getting up to speed with the software platform and framework I'd be working on, plus meeting a bunch of folks from different departments etc.


Which I think is a pain, and why I think their goal here is honorable.

Most places I've worked spend weeks trying to get you licenses or trying to remember how to set up every little path in your IDE or whatever so you too can start coding. It's a waste of their time and mine, and a waste of money.


I am all for empowerment and making devs productive, but taking it to an absurd level (making devs push code to production one day one) is not good.

Making employees feel empowered is much more than one day show. Hopefully, its going to be a marathon, not a sprint.


This isn't really an absurd level. They're talking about minor bug fixes or simple error catches that no one has gotten to yet. They're not asking new hires to design and implement an entire new feature on a full bladder.


You are right.

My (Extremely badly put :() point was, why does it matter so much to make new hires productive as a race to zero countdown? If a employee going to work at an average for 2 years, to me, it feels OK to give them sometime to get accustomed to new environment.


I'd say it simply reflects the work environment. It's a lot more fun to go home after your first day at work and have something to show for it. You, after 8 hours of working at Company X, have already created or improved something for them.

I'd say it's a lot more fun than going home thinking "Damn that was a lot of paperwork. I hope I can get a computer tomorrow and start to work.."


I just took it to mean "we train our new hires on day one on how to commit into our version control system". Nothing more.

I mean, c'mon, it's not rocket science these days to get a devbox up and running and talking to a svn or git server.


I think the whole point is that being extreme about it turns it into forcing function to make sure that the dev setup process is extremely fast and easy. As soon as you start relaxing the timeline (to, say, pushing code in the first week) the urgency to keep the process fast disappears.


sounds like a military bootcamp approach. It has been 200% proven to be successful in producing effective soldiers. It may also work for young hires, puppies, and it would serve as an effective way to filter out older ones who are much harder to mold.


Even if it is not the first day, I think the point is well taken that this needs to happen ASAP. I have worked as a consultant at large corporations and have seen developers go months without ever checking in code.


I’ll let you be the judge, but it sounds like developers enjoy being productive on their first day.

Actually, I'm not sure those conversations prove the conclusion that you're drawing from them. What I believe those quotes illustrate is that those particular developers told the boss (boss' boss?) who came up with the policy that they enjoy it. This is the way that conflicts of interest work, and even if Cheezburger has a well-established tradition and culture of telling the Emperor he has no clothes, newbie employees are not really the best source of that kind of information.


What a coincidence, they don't show you funny cat pictures until you check out 100 ads. Didn't their site used to have content?


Best Cheezburger practices. What's the thing you do with the palm of your hand... no not that one... I mean making contact with your forehead.


Modify a comment block and access granted.


So Cheezburger Network is holding their new hires hostage until they get some work done? This must be demoralizing, and I imagine it would leave a bad taste in the mouths of new hires who expect an introduction to the work environment first.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: