This year, starting from the complete lifting of the epidemic control policies, the decrease in temperature has accelerated the spread of the virus. Many migrant workers, including myself, were infected with COVID-19 and had to work remotely from home at the beginning of the year. The unfavorable start of the year made me feel that this year would not be any better. After experiencing too many setbacks and endless overtime work last year, I didn't know if there was any hope in life. I constantly wanted to change this situation, but I didn't know and dared not to do it.
This year started with ignorance and anxiety.
In February, I got into the world of software routers. I had my first encounter with OpenWrt, and during that time, I would tinker with the network as soon as I got home from work. I stayed up several nights. My life, which already had only a few hours after work, was also troubled by this matter. It was fascinating, both painful and joyful. I also got in touch with PVE and tinkered with Synology NAS, starting to do various All in One setups.
That was the only pleasure I had. The work every day was dull, and as the business in our team changed, the pressure increased. Day after day, I couldn't see the end. LD was pressured by the higher-ups, and it seemed that he was also uncomfortable every day. It was this layer upon layer of pressure that made us at the bottom truly miserable. During that time, the OKRs from the higher-ups became more and more unreasonable. As a business department, we needed to have technical output because the business was decreasing, which was not a problem. But the problem was that some tasks were impossible to complete, perhaps they really overestimated us. I still remember that one OKR was to optimize an internal React state management within two months, and the score of React in the js framework benchmark had to be lower than 1.6, maybe reaching the level of 1.4. However, if you look at the current rankings, Solid, as the fastest framework, is close to 1.01, and pure React is around 1.7. This is almost impossible to achieve. We could only optimize the score, but LD didn't accept it. This was even more impossible in the old React architecture (without using the new React 18 architecture). There were many more tasks like this. By the time I wrote this, it had been a long time since these things happened. Later, I heard from former colleagues that these OKRs were still not completed even after a long time. I didn't understand the meaning. If it was really possible, the industry must have a solution. If it was impossible, was it meaningful for the business department to do something that was beyond our capabilities?
During that time, I was always depressed. I felt that I couldn't hold on any longer. Originally, I was enduring it, waiting for the year-end bonus, and then I would definitely leave. Looking back at what I wrote during that time, it was so desperate. But I didn't wait for the day of the year-end bonus. I resigned. That morning, I saw a message on the enterprise WeChat from the testing team sent in the early morning. That morning, I submitted my resignation to LD. LD told me that my performance was still good and asked me to reconsider. But I knew that the words had already been spoken, and I had been hesitating for too long. So be it. There was no need for the one-week consideration period they gave me. A few days later, I made up my mind. At that time, I received an offer from the current company, which gave me more courage to do this. After saying it, I felt relieved. I felt that period of time was the happiest since I joined the company. In the last week before leaving, I contributed thousands of lines of code to the company. It was also a major promotion for an e-commerce event. All the code for the event's requirements was disposable. Cutting images didn't require much experience, but I still had the heart to write good code. Better code style and improved type inference had always been my pursuit, while other people's code might only be completed for the sake of completion. The last day was the day when the year-end bonus was distributed at the end of the month. LD finally gave me a good performance, and this time I really left after receiving the year-end bonus.
On the 291st day of officially joining Xiaohongshu (including the early internship, it was almost a year and 2 months), and also during these days in Shanghai, I am no longer a drifter in Shanghai. After resigning, I went back to my hometown. I was still afraid of what the future would be like, with so much uncertainty. But now it seems that the decision may have been right. From the original two-point line, apart from chatting with colleagues I had a good relationship with, there was nothing else. Every weekend was spent lying down, not to mention the alternating work schedule. Sometimes I slept for half a day, and the other half was spent cooking and cleaning, leaving little time for anything else. In terms of social circle and connections, I don't think I can have any more sparks with the big shots at my former company. Moreover, in my opinion, except for LD, my colleagues around me are no longer pursuing technology. There are only a few people I can get along with, and they are all around the same age.
During that time, I had a lot of thoughts and consultations about my career, which made me get to know many industry leaders. Starting from this time1, I also participated in the Summer of Open Source and FeDay, and tried recording a podcast on Web workers. Compared to last year, I made progress in socializing, and if I continued my previous life, there wouldn't be so many changes. I would just continue with my two-point line life and lying down on weekends.
During the period of leaving the company, besides dealing with the final requirements and handover, I accidentally discovered a very excellent Web3-based writing platform called xLog. I am also a developer of a writing platform myself, and I have always wanted to record my writings on the blockchain, but I never implemented it. So this project quickly caught my attention. Because the technology stack and business direction matched, during that time, I made many open-source contributions to xLog, most of which were reproductions of the implementations in my own project kami and some good interaction details. During that time, I gained a wave of fans because of this.
After that, I joined a new company, and there was still a period of adaptation. Since I had worked in a startup before, I adapted quickly. It was not difficult to get started with the business projects and technology stack. Compared to large companies, startups have fewer technical debts, and the technology choices are more up-to-date. It is very easy to master a modern and versatile tool or framework here, rather than using only internal technologies or tools.
During this period, I started to use Jotai, a tool that I had some knowledge of but had never had the opportunity to use. My experience tells me that popular tools in the industry are not always the best, but they undoubtedly follow the trend of the times and can always teach us something new. Compared to internal tools in companies, open-source tools like Jotai are usually more cutting-edge and flexible. Internal tools in companies often appear closed, conservative, and even outdated. But whether it is an open-source tool or an internal tool, they all have their own advantages and limitations.
In the process of using Jotai and React for performance optimization, I accumulated rich experience from practical business scenarios. Based on this experience, I wrote three articles to share my insights and learning achievements.
In June, I finally had time to rewrite my personal website. Although I had refactored the code multiple times, the overall result was still unacceptable. At this time, the official announcement of the stability of NextJS App Router made me try it again. After a month, Shiro was born. This is what you see now. Just like before, I added many interactive and rendering details to it.
This summer, I took the time to go to Hong Kong with a friend. It was a special trip. Expensive Hong Kong didn't leave a good impression on me, but it was a valuable experience. I didn't have any experience, so I summarized the strategy after leaving. I hope it can be helpful to those who need it.
After that, my life slowed down.
I don't know how to define this slowness. In this fast-paced era, is it a luxury to be able to calm down and do something else because we have to do fast and fragmented things in fragmented time? Don't just indulge in code, but also do things beyond code. So, I bought an electric piano, purely out of interest, without a clear goal, just hoping that one day I can play the works of my favorite musicians.
In the past six months, I have spent most of my time at home, occasionally going to Hangzhou and Shanghai to meet friends. Although this kind of life seems plain, it has made me realize the value of tranquility. The occasional gatherings with friends have added color and vitality to my daily life, making me cherish this lifestyle that combines quietness and socializing.
Thank you for patiently reading this far. For me, this year has been a continuous exploration and learning about the balance between life, work, and socializing. This year has also experienced many firsts, which are all precious treasures in life. Writing about the experiences of the past year and welcoming the changes of the new year.
In addition, I would like to express my special thanks to those cyber neighbors from the internet. Your help has been indispensable to me this year. Whether it is guidance in professional knowledge or emotional support, you have given me tremendous help and encouragement.
Next year, don't stop.
Recording some numbers:
- GitHub followers 1245 / Reached 1K this year, thank you for your support
- X 3550 / Gained 3K fans this year, thank you
This year, I explored the new architecture of NextJS, got in touch with Expo, and finally wrote an app using SwiftUI that can be used.
Poetry and Distant Places#
- Hong Kong
- Jade Bird Collection
- Sony X90L
- iPhone 15
- G7505 Industrial Computer (already sold)
- Zero Moment N100
- HP 4826 Printer
- Apple Studio Display
- Apple Magic Trackpad
- Nuphy Air 75
- KTC H27P22 Pro
- Mechanical Master C28 (13600KF + 4070Ti)
I bought so much junk.
Still maintaining mx-space with all my efforts. Thank you all for using it.
- Proficient in copying and pasting code generated by GPT-4.
- Can use NeoVim to write code.
About the Future#
Although I write plans for the next year every year, I never complete them.
I don't know if it's necessary to write them down anymore.
Former colleagues and two classmates who joined the company with me have all gotten married. They are also from the same generation as me, but I have never been in a relationship. I never dare to take the first step.
So I don't know when I can change.
- 2022 · Moving Forward in Despair
- 2021 · Choices, Unknowns, Confusion, Fear
- 2020 · Spring Blossoms and Autumn Harvests
- 2019 · Dreams and Distant Places