A More Boring World

While I was reading this blog post about “Easter eggs” in Microsoft products, I came accross these two (utterly brilliant) comments in the same page:

The first from Kevin Daly:

Let’s be honest, we all know perfectly well that the real reason corporate customers don’t like Easter eggs is that in the core of their shrivelled little souls they believe that having fun while you work is the same as stealing from the company.

This is the culture of the suit, the meaningless mission statement, and the ruthless elimination of all signs of joy and humanity.

The Open Source movement’s got it all wrong: it’s not software that needs to be made free, but the people who use it. And the people who write it.

The second from mark

The word you’re missing when discussing Easter Eggs is “PRIDE”. Easter eggs wind up in software because someone is proud of their work. The original easter egg in a game was put in there because the programmer wasn’t getting any credit anywhere in the code, on the box, or in the manual… and he was proud of what he’d done.

You want software written by people who take pride in their work, the same way you want a car built by someone who isn’t disgruntled at his employer or food served to you by someone who hates their customers.

Talking about pride…

Just for the sake of explanation, an “Easter egg” is a hidden piece of code, usually included in commercial shrinkwrap software, that shows some credit page, or some game, or some other funny stuff done by the developers of the product during their spare time (more about that in Wikipedia)

It seems, though, that even if during the eighties and nineties, Microsoft products usually shipped with Easter eggs, “Nowadays, adding an easter egg to a Microsoft OS is immediate grounds for termination, so it’s highly unlikely you’ll ever see another.” (source: Larry Osterman).

That’s why I found the two comments above to match my opinion on this subject. I do believe that Microsoft took this decision following (big) corporation comments, and that these corporate clients (I have seen them closely) do not have the slightest idea on how software is done, and what is the motivation of software developers. I talk here about the true developers, those that care about their products and try to make the best possible products; 9-to-5-lemmings do not count here (and there are a lot).

I think Easter Eggs are a fundamental part of the process, from a human point of view; don’t take me wrong, I understand project managers and their fears of spending time in useless features; I understand testers and their concerns for Q&A, but I also understand the developers - I’m one of them, even if now I’m doing architecture and project management tasks.

A software development process that does not take social and human matters into account is useless.

Why can’t developers have fun they way they intend to? Why the only “teambuilding” solution found by software companies is boring meetings in some far away place where we are all “supposed” to have fun? Why not having internal projects so that they can measure up their coding skills, and by the way, learn new things that could bring money to the company? Developers are not like anyone else. Specially the good ones, and I mean that word.

Software companies, at least those that I’ve seen in the Geneva Lake area, do not know what software means in the minds of those who do it. Because let’s be clear, it’s not the managers who type the code; it’s the developers. If they’re unhappy, your products will be crap and they’ll leave the company sooner or later. Why don’t management try to understand them, instead of blaming them for the bad quality?

The picture is simple: developers type code in unfriendly, noisy environments, usually in badly managed projects with little time or resources; while the CIO goes around the world in Business Class, higher project managers meet at the Hyatt for a business breakfast or lunch, and sales people go to bootcamps. Projects come out late, the company spends too much money, and the only solution is to yell at the developers. Why is that? I am beginning to think that managers are envious of the salary developers get. There must be something like that. You must never spit on the workers that do the job for you, for they are the most important part of your production chain, whatever the craft, whatever the profession.

This cannot continue. I’m deeply unhappy of what’s going on. And wherever I look, I find the same patterns and the same odd reactions.