According to many Slashdot commenters, the answer was clearly “Yes! Just be tactful and careful, and make it über geeky.”
Of course, those of us who live in the real world know the correct answer to be “Did you ask your boss first?”
Otherwise, coding random stuff that no one knows about in a large product is the mother of all bad ideas.
If you work on a large piece of software, chances are you’re not the only developer on it. So if you’re entitled to have a little fun adding code no one ordered to the product, why shouldn’t everyone else be? (Didn’t your mother teach you anything?)
So now we have a shipped product that took 50 people to code which now has 50 different hidden things in it to find.
Oh boy a treasure hunt! But no one knows what’s actually in the code since everyone decided to do their own thing, bypassing the company’s localization, legal and geopolitical checks. Who knows what time bomb is waiting to be found? If some lyrics no body screened can force the world wide recall of a game, a little message box that pops up with your favorite saying can cause just as much damage.
What’s worse is the author of the article mentions he’s at the end of developing a large product. Remember, shipping is a feature, and as such you need to carefully consider taking changes the closer you are to release. Any bug you introduce now has a high risk of not being found before release.
Any easter egg added to the product needs to go through the same triage process as fixing any other bug. It is in fact a feature you’re trying to add. You need to ask yourself if it’s worth breaking something else to add it? Recall that the business value of any easter egg is zero.
Also consider the cost. Cardboard boxes are expensive these days and it’s no fun having to get one to haul your stuff away. Any company which pays you to code is not going to pay you to secretly sabotage their products from the inside. And that’s exactly what an easter egg coded up and known only to an individual is: sabotage.
Work long enough and you’ll discover that no change is safe and simple things break big things in complex ways. Once someone spends 8 hours debugging a customer problem only to find out it’s your code trapping the CTRL+SHIFT keys to pop up some little mini game, your management will be especially unhappy that not only did you cost them money to fix the problem, but that you also spent a good chunk of company time coding it up in the first place. Tetris is cool, Tetris in the shipped product minus your job is not.
Easter Eggs Done Right
Many companies do add stuff to their products so that the people working on it get to add their personal touch. They plan to do it, they test it and they screen whatever people add.
Watch many game’s credit screens and you’ll see pictures of developers with their little catch phrases. I guarantee these were a planned feature of the final game, not something coded up at zero hour. Plus they would be reviewed by lawyers and regional experts. This is important because the company is taking a risk letting their employees add that personal saying. If there’s a lawsuit, the company is responsible.
So the moral is, ask your boss first. Depending on what you ship will depend on what kind of personalization you can add.