Source: Unsplash

The first half of 2020 just ended. Over the past few workdays, I have not written much code at work. I spent a lot of time on roadmap planning for the second half of the year: interviewing users of the internal product I work on, observing and summarizing their experience to plan the product direction, and adding some logging the product does not currently have, so we can compare and observe over time.

As I gain more work experience, I feel more and more how important it is to do the right thing from the start. If the direction is right, you can avoid a lot of moments along the way where you are stretched too thin. You do not need to tear everything down and start over, or keep putting out fires. Choosing the right thing does not mean it will be easier. But working hard to do something well in the wrong direction, and hoping for a good result, is a bit like climbing a tree to catch a fish.

There is a similar saying from Lei Jun of Xiaomi: “Do not use tactical diligence to cover up strategic laziness.” I think many sayings like this carry the same message. The point is to think more, and to find the underlying principles of things. Do not just bury your head and grind. Once you have evaluated and planned the strategy well at the big-picture level, then execute the tactics properly.

Of course, I am still working on this myself. I hope to keep broadening my perspective and improving my professional skills, so that when I plan for the future, I have a better chance of always doing the right thing.


This post was originally published on my former blog, 「半路出家軟體工程師在矽谷」, on July 3, 2020. The blog is now offline, and the text is preserved via the Wayback Machine. It has been lightly edited for this site, and the expired event information has been removed.