Cheezburger Network doesn't show new hires the bathroom until they check in code
scottporad.com
scottporad.com
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]
"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
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.
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.
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?
You mean like Twitter? Facebook? Youtube?
There's nothing inherently different between a website and "real" software that makes being agile (which this is really about) more possible on websites.
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.
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.
Overall, it strikes me as a nice idea; I know I would appreciate having a first day 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.
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.
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!]
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.
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...
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.
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.
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
echo '# John was here.' >> index.php && svn commit -m "I really have to pee"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.
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.
So yes, it seems to be a hard problem.
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 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.
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.
Making employees feel empowered is much more than one day show. Hopefully, its going to be a marathon, not a sprint.
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'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 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.
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.