All programmers are optimists
All programmers are optimists according to Fred Brooks in his classic book, The Mythical Man-Month. Optimism is good. It gives us the urge to move forward whatever the odds. But sometimes it is bad because it can blur our view of reality.
In one project I have worked on, it kicked-off with a meeting between developers and management. In the meeting, the project was introduced and the timeframe set for six months. In a true “What do you think?” management fashion, each one was requested to speak up. While most of the team members said it was challenging and interesting, I told them I still lack enough understanding of what we are trying to build to confidently say it can be done in six months. In fact, my initial impression was it is big and complex. So I suggested we spend 2-3 months understanding the system before we set a deadline.
Quickly, one developer told me that I should not be pessimistic and countered that as long as we believe it can be done, it will be done. One from management even told us (while looking at me most of the time) how things are done in the company, probably realizing that I am a new kid on the block. I did not continue to argue. I am the latest recruit and been in the company for only two months as oppose to the rest who have been there for more than a year. Well, I am just telling a fact.
Surprisingly, I learned in the following months that I am not the only person who has no clear idea of what we are trying to build. In one of our monthly assessment meetings, other people have started becoming concerned about the system complexity and time constraints. Instead of confronting reality, majority opted for working harder and spending weekends to meet the deadline. Not surprisingly, the project has not taken a major step forward after six months.
To be fair, the team members including our manager are talented, hardworking, and fun to work with. It is simply that our optimism has distorted our view of reality. I wanted the team to stop working and take a second look on our requirements but I was hesitant to raise it to management even though some, unfortunately still a minority, agree with my proposition. On our 9th month, I wrote an assessment paper of our project. After reading a draft, a colleague suggested that I see Jerry Maguire and rehearse the line “Who’s with me?”. Eventually, I was able to convince everybody that we change course. After 3 months though, I left the company and I have no idea what happened since then.
We all know that we should focus on our end goal to reach it. All the bumps along the way do not lessen our optimism to reach our destination. But how do we balance our optimism with reality? How can we realize that the route we are taking will not lead us to our destination and realize it in time so we can take a different path?
There is no miracle
In Jim Collins’ book, Good to Great, he introduced the term Stockdale Paradox — “Retain faith that you will prevail in the end, regardless of difficulties. And confront the most brutal facts of your current reality; whatever they might be.”
This paradox is based on the story of Admiral James Stockdale of the US Navy who was shot down in Vietnam and imprisoned for almost eight years. He was the highest-ranking military officer captured in that war. He survived and was able to share his experience in the book, In Love and War.
Some say if you are programmer, you are required to be optimist because you would quit if you had a realistic notion of how bad upcoming things are going to be and if you are a manager, you should be a pessimist — if you want something by Wednesday, tell the programmer you need it on Monday because it will be delayed.
Most people see a thick line between being optimistic and being pessimistic. Being both is weird. But you do not need to be weird, just have faith and be realistic.