The need for Easter eggs
I have often wondered what drives programmers to insert Easter eggs into their creations. If you really dig deep, the need to insert Easter eggs offers an incisive look into the psychology of programmers.
At its core, an Easter egg is a programmer’s way to show off his artistry in an overt and obvious way.
The artifact that the programmer creates–a word processor, a spreadsheet, a search engine–is meant to be utilitarian. The code he crafts towards that end might possess a beauty seen only by his eyes, but to the rest of the world it is only a means towards an end, and that end is to serve a specific, well-defined function. The world judges his beautifully crafted code purely by its utility. To them, he is an anonymous constructor.
This is where the Easter egg comes in.
It breaks through the calculus of utility and presents something purely frivolous. It serves no purpose, other than to declare “I make cool things! I made this!”
It is a secret, revealed only to a select few. Out of the hordes of users a program might have, it calls out to the select few who have the curiosity and inclination to peel back the covers. “You want to see something cool? Here it is!”, it says to them.
But the fundamental urge an Easter egg satisfies is to declare to the world–there is art over here! You might not see it everyday, but if you pull this lever just so you will be treated to something awesome, and it will change the way you see this functional piece of software. You will get a glimpse into the artistry and the humanity of those who made it. This is their signature.