What Engineering can learn from Sports: Time it!
One thing engineering can really learn from sport is: to get better, we have to time how we are doing things. When I was an engineer I used to be annoyed by the ādumbā manager who kept asking me to give project status update. After I became a manager Iāve ran into engineers who rejected to provide project estimate: āit will be done when it is done!ā, they said. But the definition of a project is to achieve a goal within the constraints of time and resources. With infinite time you will never complete anything. Some people want to live forever. But the irony is to live infinitely also means you will never live, because every moment over infinite time becomes zero: meaningless and purposeless. Time is our enemy and friend to get things done, to give meaning to life! I learned how to swim in my thirties. I could swim a mile in about 45 minutes. For a while I felt pretty good about myself l, until I bought my Pace 2 sport watch. Using the watch I found I couldnāt finish a 100 yards swim under 2 minutes, even if I tried my best: my stroke was not efficient; I didnāt have much a catch; my kick was bad; my body wasn't streamlined and my rotation didnāt exist. I could swim long probably because I was used to long distance running. My swimming techniques were horrible. I could feel good whatever way I wanted but the watch wouldn't lie, time wouldn't lie! So I decided to improve my swimming. I watched YouTube swimming channels. I focused on one thing at a time during my swimming practices. I stopped doing my feel-good one mile swimming. Instead I swim intervals: 4*100, 8*50 etc and time them. I spent more time doing deliberate drills. Each swimming practice becomes a meditation because I try to be mindful about my breathing, my stroke, my body and the water. Swimming in this way is a new sport to me. I think this learning is very relevant to software engineering. To improve productivity in engineering, to improve a serviceās quality, or to improve anything in life, the first thing is to time it. 1. Time for new hires to submit and merge their first Code Review (CR)? 2. Time for a CR gets deployed to production systems? 3. Time for an on-call to respond to a ticket and resolve a recurring ticket? 4. Time for an on-call to mitigate a customer impact? ... Nothing can escape time. We are temporal existence. So start timing whatever you want to improve. āAnything you need to quantify can be measured in some way that is superior to not measuring it at all. āāGilbās Law. Now just replace āmeasureā with ātimeā, you get the gist. When you put your mind into it, almost anything can be timed.
Last updated
Was this helpful?