I just read an interesting essay by Paul Graham titled You Weren't Meant to have a Boss. It is a little long but an excellent read if you have the time. An analogy that he uses that caught my attention is his comparison of animals in the wild and animals in the zoo, compared to programmers in startups and programmers in corporations. A lion in the zoo is almost lifeless and painfully lives simply for the next meal and to get through the day. A lion in the wild is free to roam, must kill or be killed, and is always alert.
Then there are the programmers in the wild. Paul sees programmers in startups being very innovative, passionate, and driven. Programmers in the zoo are more conservative, less motivated, and sometimes extremely constrained. I have been at the same corporation for almost 13 years now and in corporate America for 23 years. I have seen many people come and go and here is a pattern that I observed across my entire career.
- New employee enters company full of motivation and fresh ideas (In the wild)
- Employee begins the socialization process (Captured)
- Employee becomes complacent (In the zoo)
- Employee leaves (In the wild)
So how do corporations create an environment for programmers in the wild and prevent their staff from feeling like caged animals? If I had the answers I would be making a ton of money telling everyone how. My vote would be to use a collaborative leadership style as opposed to the normal top-down approach. Use collaborative tools like wikis, blogs, and social networks to foster information sharing. Act like a startup instead of a 100 year old corporation. Create an innovative environment and create a reward structure that rewards the people who build applications that work, not the people who fix their own crap that breaks.
How do you stay in the wild?