How to Stop Worrying and Start Coding
Software engineers lead stressful lives. We have to balance functionality, maintainability, quality, politics, personal development, and many other things. We face tight deadlines and tough customer expectations. Anyone who has been in the industry has probably met someone who succumbed to this grinder and ended up cynical and helpless. Yet somehow there are also people who come out stronger, with a positive, good natured attitude. I have never met a principal engineer who isn’t the latter, so it’s safe to say you will not make it in software unless you can somehow embrace this spirit.
Recently I read Dale Carnegie’s bestselling book How to Stop Worrying and Start Living. While it was written quite a long time ago, it has timeless wisdom that I found extremely helpful to programmers. Below are the parallels I drew to programming:
The worse thing you can do when you have a high pressure project is to worry. Worrying is simply not worth the health damage. You’ve probably heard this before but really think about it. What is the price you would accept for me to cut your arm off? $1 million? $1 billion? If you’re pricing your arm at that exorbitant price, what is the cost of the rest of you body? Worrying is scientifically proven to destroy your health. Your salary is simply worth nothing compared to your health.
Some of you reading this will now be worried about your health. Take a moment to laugh at the irony, and read on for tricks to reducing worry.
Carnegie introduced the concept of “day-tight compartments.” The analogy is water-tight compartments are to ships as days are to your life. Every day, shut the doors to the past and future. Maximize today.
If you think logically, worrying literally does nothing. It doesn’t get code written, it doesn’t help you spec your product, it is literally just waste. Work on what can be done today and inch day by day towards the ultimate goal. That is how you maximize your own productivity and stop worrying. Even if at the end you fail, you know that you gave it the maximum possible work.
Which leads me to the second technique Carnegie introduced, which is asking these three questions.
- What’s the worse that can happen if you don’t solve your issue?
- Mentally accept the consequences of the worse.
- When you have accepted the consequences and are calm, try to improve upon the worse.
Here is an example:
I’m working on a project due in a month, but my manager just gave me two critical bugs to fix and I can’t make progress on even one of them. No one on my team could help me with the limited time they had to give. I feel incompetent and helpless and worry about my career stagnating.
What’s the worse that happens? I fail to fix the bugs, my manager expresses his disapproval and my career at the company is in jeopardy.
I accept that in the next month I might need to start looking for a job.
Now that I am calm, I can rationalize. The consequence is not the bug not being squashed but my career being damaged, so I can try to make the best of the bugfix by understanding why the bug exists in the first place, and coming up with plans to prevent these types of bugs in the first place. For example, my company doesn’t have an easy-to-use testing harness which is letting bugs seep through. The value of preventing future bugs is greater than the value of fixing one bug, so I can say “I can’t figure this bug out, but I figured out why this bug exists and I can help prevent future ones.” That can make the worse case a little better, and as it turns out, my manager agrees and decides to let me lead a full project on tackling these quality issues. By working things out, I went from dismal failure to leader.
The best part is there is no optimal route. What you come up with in the 3rd step is the optimal route for you. For example, another totally legitimate 3rd step is to immediately start looking for a job and make the worse case be switch to a way better company.
This was part 1 of my series on this book. Check out the rest of my articles here.
If you think this article helped you, why not purchase a copy of the whole book and learn even more here.