Footprints in the snow. Looking back on 2018, it’s time to reflect and summarize. I feel ashamed. I should have written this at the turn of the year, but now it’s already March. Pinch myself, blame myself, and promise not to repeat this.
First half
From February to May, I focused on Project A, which brought new challenges. Role-wise, I shifted from frontend team lead and main developer to first-time project manager. Technically, I moved from pure frontend to overall project tech stack ownership.
The project was tight on time and heavy on tasks.
The product already existed in the company, so in theory we could just retrofit the old project. But on one hand, the client had personalized needs, like deeper and more precise data requirements, which forced the data team to work harder. More importantly, the existing tech stack was old and not abstract enough. If we just copied the old stuff, what about stability and flexibility? If another Project B came, could the company deliver with high efficiency and quality? So I decided to push the overall tech forward and pay back years of tech debt.
Impulse has consequences. I ran into several pits during the push.
Pitfall 1
The old framework version was too low, so when issues came up there was no documentation. That would cause more problems later. I decided to upgrade, but upgrading is not just changing a version number. It comes with issues. Luckily, my hard-won experience with “Angular version upgrades” came in handy. I bootstrapped a new project with the target version and used an additive migration approach. It worked in the end, but upgrading was definitely not easy.
Pitfall 2
Some modules were built in .NET and were not cross-platform, so the host had to be Windows. That meant deployment servers needed licenses, which cost money. We had many distributed crawlers, so costs added up quickly. We couldn’t move everything to Linux at once, but we used Linux where we could. This taught me the importance of cross-platform tech. Even from cost alone, you can see it. All those avoidable expenses were losses for both the company and the client.
Pitfall 3
Although I was titled XXX manager, the real challenge was whether I could drive every team member. I negotiated an incentive system with the boss to boost team motivation. It helped somewhat, but it was still very hard and exhausting.
Changing companies
Project A ran until mid-year and was close to wrapping up. I felt lighter, but looking back at months of R&D, I felt the returns were small. I was sure the input and output were not favorable, and that was true for the company too.
Busy and unaware, I had been at the company for 4 years. I complained a lot, pushed a lot, and still couldn’t change much. After talking with friends, I realized I might have been in a blind spot - I had not repeatedly confirmed whether my current state was healthy. Yes, I had grown a bit in 4 years, but compared to others, I felt inferior.
After weeks of thinking, I concluded I didn’t match the company. I emailed my leader. He tried to persuade me, but my mind was made up. After more than a month of handover, I left the company I had fought for. It became a chapter in my career history.
I gained freedom, but the pressure didn’t lighten. After staying home, I started looking for a new job. It took three weeks, and I found a new company. Finally, I could breathe.
Trip to Hong Kong, Macao, and Taiwan
Because my onboarding time was flexible, I took the offer and gave myself a short vacation. I booked a ticket and went to Shenzhen and Hong Kong/Macao/Taiwan. Going out to experience other lives made me realize that the past few years were a self-made trap. I used to see company problems and push suggestions, then get angry. Now I realize that if you see many things you can’t stand and you can’t change them, it means you don’t fit the company. Leaving is the answer.
Half a year later, I am even more convinced that leaving decisively was right. Let the right people be in the right company. That is right.
Second half
After the vacation, I started work. As the saying goes, take the money and solve the problems (just kidding) - time to work.
I joined the new company in August. It was still challenging, but challenges help you grow.
In the second half, I took over two projects, Project B and Project C. Due to staffing changes, I only worked on B for two months before being assigned to C. Project C has been ongoing and not finished yet, and I’ve heard it will continue into mid-2019. Haha. Productized projects - what can you do.
Outside of work
Besides work changes and experiences, there were other collisions and gains this year.
Tools
I bought several hardware and software tools this year (AirPods, Filco87, AWS4, etc.), which helped my work and life. As the old saying goes, to do a good job, you must first sharpen your tools. Tools are worth investing in and refining.
- For details, see here - highly recommended.
Xianyu
This year, I tried using Xianyu to sell some idle gadgets, then used the depreciated money to buy new tools. Over time I formed a habit: sell what I don’t want on Xianyu, add some money, and buy stronger tools. Buyers get good devices at low prices, and I upgrade my tools. A win-win, rationally.
Final Thoughts
- 2018 ended. In the new year, I hope to improve my skills faster and become a real programmer before age 30.
- While I grow up, my parents and family are also getting older. In the new year, spend more time with family. In today’s fast-paced work life, we often ignore the people we should accompany the most.


