- 1. Find Someone to Learn From, but Not Someone Out of Reach
- 2. Talk With Strong Engineers, and Physically Put Yourself Near Your Targets
- 3. Be Willing to Invest in Yourself: Books and Paid Columns
- 4. Offer Help, and Help Others
I enjoy reading books and articles about self-improvement, and I have been thinking about how to keep growing efficiently. Not just technically; I also want to improve my soft skills efficiently. Recently I have had a few realizations, and I am writing them down to record and share them.
1. Find Someone to Learn From, but Not Someone Out of Reach
As a software engineer, the people I want to learn from are software engineers with 5 to 10 more years of experience than me, engineering managers, architects, and so on. Elon Musk and Mark Zuckerberg are amazing, but I know I cannot really learn from their experience in a way that helps me improve, because our situations and the gaps between us are simply too large. Find the people who are one or two steps ahead of where you want to be, and learn from them, so you can plan your growth step by step toward your next goal.
2. Talk With Strong Engineers, and Physically Put Yourself Near Your Targets
Everyone knows Google and Facebook are full of talented people. If you can be somewhere with many strong engineers and observe them up close, you can read the internal opinions, discussions, and teaching of these masters, and learn a great deal. In Silicon Valley, many companies regularly host tech talks and sharing sessions. If someone well known in your field is speaking on a topic you want to learn, move heaven and earth to attend. What you learn stays with you for life.
3. Be Willing to Invest in Yourself: Books and Paid Columns
I used to always try to save money on books. Either I waited until the long line of library borrowers finally returned a book, or I looked for a free but incomplete version. Now I understand that if a book gives me even one idea, one piece of new knowledge, or one thing to learn and grow from, it has more than paid for itself. In my May post, “2018 Updates and 3 Book Recommendations,” I shared three good books I read in the first half of the year. I also welcome everyone to recommend good books in the comments so I can learn from them.
Another, newer approach is paid columns. 2017 was the year of paid knowledge: all kinds of paid apps offered learning topics of every sort, and paid columns by experts in each field provided high-quality content that let us learn new things more efficiently. I recently started trying out some paid columns. There are interesting ones on Dedao and Geek Time. The one I bought in the past couple of days is “The Beauty of Data Structures and Algorithms.” I am not interviewing right now, but if what I learn from this course helps me write better code, trains my problem-solving approach, or merely exercises my thinking, it will have been worth the price.
4. Offer Help, and Help Others
In my previous post, I wrote about the people who helped me in America: “The People Who Gave Me a Chance in America”. The best way to meet a benefactor is to first become someone else’s benefactor. I know I have received help from many people in my life, so now, when I have the ability and the opportunity, I do my best to help others too: writing articles to share my experience, answering job hunting questions from readers, and helping refer people for openings at Facebook. In the process, I learn as well, and sometimes I make new friends.
The world is large and I am small, but every day I work to widen my vision and my understanding, hoping that my perspective, ability, and horizons keep improving. How do you achieve your own self-growth? Leave a comment and let me learn from you.
This post was originally published on my former blog, 「半路出家軟體工程師在矽谷」, on September 22, 2018. The blog is now offline, and the text is preserved via the Wayback Machine. It has been lightly edited for this site.