Summary of 2022 - Live Freely

Categories: Life

What to Talk About

After 3 years, the pandemic finally ended. It has been years since I wrote a summary other than work-related ones. Today is the fourth day of the new year 2023, and for a procrastinator like me, delaying any further might mean never writing it at all. By the time I’m old, I probably won’t remember what happened.

2022 was a year worth recording for me. I experienced quite a few interesting things and slowly started to understand life a bit more. The title might as well be “Live Freely.” I plan to casually talk about life, tinkering, and work from these three aspects.

Life

This year, aside from coding on weekends, some time was spent living life to the fullest. I gradually lost the mindset of “caring about others’ opinions.” Live freely, do what I want to do, eat what I want to eat, say what I want to say, with a relaxed attitude, because I don’t want to live with too many regrets or too repetitively.

Twelve Months of the Year

In mid-February, it snowed in Hangzhou. Most of the weekends of that month were probably spent practicing for the driving test—reversing, parallel parking, and driving on curved roads.

In March, I did a decluttering, selling the iPad, an extra Mac, several watches, a ukulele, extra headphones, and speakers on Xianyu. I cleaned up the house, threw away a lot of stuff, and felt more refreshed.

In April, I went to Fuyang to take the driving test. I was shocked when I failed the first attempt because I crossed the line, but I passed with 100 points on the second attempt by driving seriously and holding my breath. Due to the Shanghai pandemic lockdown, I specifically went to the supermarket to buy a lot of stuff to stay safe. Fortunately, Hangzhou was not locked down.

In early May, I went to play in Jinyun, Lishui with a group of friends. The scenery in Jinyun is really nice, the sesame cakes are delicious, and we also brought equipment to camp by a small bridge and lake in the drizzle. On the way back, we also experienced the fun of camping on the roadside in the countryside and cooking snail noodles; I got my driver’s license this month, passing the third and fourth subjects in one go, which was very cool. Due to the average accommodation arranged by the driving school, I didn’t want to go to Fuyang anymore.

In early June, I drove to Tai Lake in Jiangsu for a trip. It was not as fun as Lishui, but luckily I found a good coffee shop and had some delicious coffee. On the way back on the highway, a torrential rain started, bigger than the one when Yi Ping went to ask her dad for money that night. It was really scary because I couldn’t see anything clearly, but fortunately, I got back safely; later, I went to Xiang Lake a few times, saw the blooming lotus flowers, went boating, and also went to Binjiang to find good coffee.

In July, Hangzhou started to get hot, and I began to learn swimming. Another exciting event was that the music festival, closed for over 300 days, finally took place in Taihu, Changzhou. I immediately bought tickets and finally saw MeCardle live, my favorite rock band, along with Ma Yuan, Fazi, Sea Turtle, Tongue, and New Pants, which I also like. At the end of the month, I went to Tonglu for rafting and visited the cool caves, but the queue for rafting under the scorching sun made me feel a bit ripped off.

In August, I continued swimming on weekends. It was too hot to go out, so I usually took my Mac to find a place to drink coffee and code. I went to the West Lake area a few times, once stumbling upon a hot spring bathhouse, but parking there was really difficult.

In September, I suddenly wanted to ride roller coasters and swings, so I spent a day at Hangzhou Paradise. It was my third visit, but this time it felt a bit dull; only physical stimulation, no emotional thrill. Fortunately, at the end of the month, I discovered a surprise: a new KTV opened near my home, with excellent effects and many original songs by Li Zhi. I was so happy.

In October, during the National Day holiday, since traveling abroad was not an option due to the pandemic in recent years, and I had already visited many places in China, I decided to drive more than 900 KM back home. I left a day early, without rushing, enjoying the scenery along the way. Thankfully, there was no traffic jam. Most of the journey was on autopilot, but sitting in the car still felt quite tiring. I left at 9 a.m. and arrived home at midnight. I ate a lot of delicious Hunan cuisine at home; after coming back, I continued to sing songs by Li Zhi and ended the month with a barbecue at a friend’s balcony and a day of camping in the Jingshan Flower Sea, enjoying the fine weather.

In November, the weather started to improve. I got into the habit of keeping a camping set in the car. When the sun wasn’t too hot, I’d just lay down in the park and sleep, not wanting to think about anything. It was very comfortable.

In December, the Taiziwan Music Festival in Hangzhou came along, and it was the best music festival I’ve ever attended. Tang Chao happened to be in Hangzhou because he couldn’t return to Beijing due to strict controls. I was very much looking forward to Dirty Fingers, MeCardle, and also discovered the treasure band at Baixian Restaurant. In addition, Zhao Lei’s live performance was excellent. This month, our team’s Outing finally started. We went on a self-driving tour from Haikou to Wanning to Sanya. We rented a BMW M4, and the overall travel experience was superb. Wanning is really nice, not too commercialized, and the hotel was excellent.

In January 2023, the pandemic finally opened up. Coincidentally, just a week before Hangzhou opened up, my community was locked down, and I couldn’t leave the house for 5 days. After the reopening, I promptly got sunburned a week later, but fortunately, I only felt uncomfortable for an afternoon; the rest was fine. Then came the Spring Festival holiday, and I went to Xinjiang for the first time in a long while. The snow was really nice, the food was good, but it was very cold.

Many records can be seen in this year’s Trend Weekly. In addition, I made a video set to Li Zhi’s “Rice Store” to preserve some memories.

Learned to Drive

A new change this year is that I learned to drive. At the end of 2021, my wife signed me up for a driving school. After passing the first subject, I didn’t go because it was too cold. So, thinking of motivating myself to get my driver’s license sooner, I pre-ordered a Model 3, thinking that by the time the queue was over and I got my license, the car would also be ready. However, the car was ready at the end of March, but I had just passed the second subject 😂. So, in April, I practiced driving crazily and finally got my license on May 13.

Having a car is like having a big toy. I love it even from afar. My life radius has expanded significantly. Later, I drove to the Changzhou Music Festival, to Lishui, to Tai Lake, and even drove from Hangzhou to my hometown in Hunan for the National Day.

Learned to Swim

This summer in Hangzhou was quite hot, and with the pandemic, there weren’t many places to go. So, I used my weekends to learn swimming. It wasn’t so much learning as it was a new form of entertainment because “learning” often feels like a task with a purpose, whereas this was more like playing, similar to coding.

After about 7 lessons, from being able to breathe properly to being able to swim back and forth without getting too tired, the moment of realization was genuinely exciting. It was like, “So this is how it’s done.” Going out to play now included a new activity—hotel swimming, which was very enjoyable.

Since I learned to swim, I wasn’t as afraid of the sea anymore. In November, I went diving in Wuzhizhou Island in Hainan and even got a certificate. After coming up to the surface, I had the instructor watch me as I swam in the sea for a while, which was a very fun experience.

Tinkering

The tinkering here refers to technology, learning, and community engagement. In the second half of this year, I consciously started exploring new things, including communicating with peers from other industries, sharing my tinkering, and expressing my products, views, and interesting finds in the community. It was a fun process to discover a different world gradually.

One change in my thinking this year is a strong belief in long-termism. Persisting a little in many things can actually lead to great results, such as open source, Trend Weekly, learning, and community operations mentioned below, all of which are good examples.

On Open Source

https://github.com/tw93

This year, I open-sourced 3 works, one of them is Miaoyan, and in October, I open-sourced Pake. Both projects were well-received by many friends and even attracted interest from investors—a magical experience. Moreover, Pake surprisingly became the top-ranked Rust project created in 2022. Through open-sourcing, I met many friends, including fellow Hunanese, designer friends, and partners from Taiwan. We had a lot of exchanges in the group chat, and they even authentically helped prepare the English version, which was quite nice.

Another project is Trend Weekly, which is my weekly learning compilation. I usually spend an afternoon every Sunday on this, discovering new things and playing with new technologies. It was first published on the internal Yuque platform two years ago. Later, some friends who left asked if there was an external version, so I spent a weekend using Astro to create an external version. This year, I published about 50 issues, which was very interesting, more like a special circle of friends for me.

https://weekly.tw93.fun

Since the products are open-sourced and free to use, I thought of making an interesting connection and created a “Feed Tangyuan and Cola Canned Food” page. From the second half of the year, the cat food, cans, machines, cat litter, etc., used by the two cats at home, were all covered by friends who support cloud cat raising. I sincerely thank them.

In total, over the years, open-sourcing Miaoyan / Pake / XRender / WeexUi has accumulated about 20K Stars, gained 2500 followers on GitHub, and met many like-minded friends. It’s been very worthwhile!

Social Network

https://twitter.com/HiTw93

After the release of Miaoyan in June, I thought of synchronizing subsequent version release logs via Twitter. It was previously posted on V2EX and got promoted by some peers, gradually shifting my main social circle to Twitter, which has a much better atmosphere than domestic platforms. I also met many friends, including some industry big names who later became mutual followers.

Later, I often shared good tools I encountered daily and learning materials on Twitter, along with product iterations of Pake, Miaoyan, and Trend Weekly. In half a year, my Twitter followers increased to over 22,000. Looking at the backend, there were nearly 3 million impressions in a month, which was quite amazing.

It’s very insightful; we can fully express our genuine opinions/interests/tinkering on the internet. Just a little persistence can bring a magical force that introduces you to like-minded people, allowing you to recognize each other and chat about technology or anything else without any reservations, eventually becoming good friends.

Additionally, there was an interesting event on Zhihu during the 1024 activities, where I chatted with students from other fields about “How programmers can maintain competitiveness during the internet revolution period.” Surprisingly, it got pushed to the homepage, and overall, the conversation was very enjoyable, and I made new friends. That day, I also made a 1024 Easter Egg for fellow programmers, which even won an excellent code award on Juejin.

On Learning

I believe learning mainly involves input and output. This year, the input was more about learning beyond technology, such as business understanding, how to operate a product, how to design, cost calculation, and reading books. The output was mainly sharing with the department and writing articles.

On output, I wrote 10 articles this year. Some were organized drafts of shared talks, and others were about my tinkering projects.

https://tw93.fun

On input, I read 9 books this year, mostly after buying a Kindle. Initially, I thought it would just collect dust, but it ended up becoming something I carry with me all the time. Reading books on it is very comfortable.

1. Energy Management
2. Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future
3. The Boiling New Decade
4. The Silent Majority
5. The Golden Age
6. Xiaomi Startup Thoughts
7. The Revelation - Creating Products Users Love
8. The Lychees of Chang'an
9. Liu Qing's Lectures on Western Thoughts

Working five days a week, work constitutes the majority of time spent in one’s life. Fortunately, during my more than seven years at my company, I’ve mostly been engaged in work I enjoy, which leaves me quite content.

Leading a team for over three years, a significant organizational adjustment occurred in July, transitioning from managing a platform-oriented front-end team to an industry-oriented one. The team size grew from 11 to approximately 24 members, reaching a total of over 30 individuals when including SP partners. The shift in focus went from “improving the platform’s integration and ease of integration” to “using technology to upgrade industry models,” presenting numerous fresh challenges.

In the first half of the year, thanks to efforts in 2021 to address technical debt, including standardizing various tech stacks and refactoring legacy code, we ensured that technical issues did not slow down business development. From a platform perspective, we could have pursued many initiatives but chose to dedicate 120% effort to those we fully understood, quickly verifying results for the rest. This self-driven approach allowed us to deliver more value to the business under the correct premises.

In the latter half, the focus shifted towards addressing business development from an industry perspective, paying closer attention to solving full-chain business pain points and linking B-side supply chains with C-side user scenarios. This shift uncovered many issues and provided opportunities for solutions, centering the team’s efforts on “how front-end technology can assist the business.”

Due to privacy and public disclosure concerns, I’ll broadly cover a few areas: “Solving business headaches”, “Addressing team pain points” and “How to lead a team.”

Solving Business Headaches

Applying technical solutions to business pain points—from designing solutions to collaborating with partners and seeing the development impact—proves significantly better than blindly following requirement documents. This approach not only resolves issues but also gives the team a greater sense of achievement.

For platform-oriented businesses, the main concern is “how my offerings can be integrated into the industry chain quickly and efficiently, and how my platform capabilities can be easily integrated by industry colleagues with clear division of labor.” We helped several business units by migrating their industry modules back to the platform and designing universal solutions to ensure “the same page in different industries uses the same module for the same function,” and managed business identities through backend capabilities for unified control. We also developed a simple multi-end module communication solution, enhancing efficiency in multi-end scenarios. This effort, which took about half a year, significantly sped up subsequent business iterations.

Addressing platform tool scenarios provides an excellent opportunity for engineers to “train.” Tool scenarios primarily aim to solve efficiency and usability issues. For example, customer service tools were outdated and scattered across different systems, involving multiple industries and corporate central platforms. We developed a customer service workbench, starting from sketching product fidelity drafts to discussing with business product and backend colleagues, then using product design to delineate platform and industry relations while leveraging micro-frontend capabilities to prevent mutual interference. By mid-year, most customer service staff began using this revamped and more user-friendly system.

Additionally, we addressed a BD scenario where, after several discussions and understanding tool usage, we collaborated with designers and business colleagues to upgrade the mobile workbench twice. The first upgrade addressed old issues and established product framework logic, while the second, at year-end, focused on improving usability in crucial workflows, enhancing efficiency.

Addressing Team Pain Points

“One codebase for multiple platforms” is a hot topic in the domestic front-end field. Honestly, developing mini-programs can be inefficient and painful, especially when supporting platforms like Alipay, WeChat, and Douyin. With tight deadlines, solving this basic need became the first challenge with the new industry team.

During a project to enter Douyin, we deployed our mini-program experts and collaborated with platform colleagues to re-evaluate this area, identifying development pain points and incorporating solutions into our OKRs, shifting from a “friendly” cooperation atmosphere to a more contractual collaboration to ensure implementation. We rebuilt the middleware involving Runtime, engineering, and multi-end components, opting for compiled product solutions for performance (though time-consuming). With infrastructure prepared in advance, the business project was completed in one month, earning a fast-coding award.

Another focus was on user-end performance and experience, often discussed but seldom well-implemented, despite attracting attention. I believe performance issues should be resolved with vigor, followed by a productized tracking solution, allowing a minimal team to maintain an unnoticeable user impact. This approach frees more team members for development efficiency and business innovation.

Preferring practical user experience over “big data metrics,” we bypassed broad indicators to detail performance standards for key industry pages, developing a performance decomposition tree for data visualization. This tool, like solving a math problem, addresses performance issues, with recent upgrades clarifying the cause of page latency and user experience distribution. Monitoring alerts directly notify responsible individuals, establishing a “routine” for addressing these issues. Additionally, we tackled the experience aspect, requiring hands-on effort to resolve issues and develop tools.

Leading a Team

This year, when leading the team, I often reflected on how to enhance the engineering skills of team members through our activities, ensuring everyone has substantial takeaways. Here, engineering capabilities include not only technical skills but also the ability to articulate issues clearly, solve various problems, complete tasks, learn and explore new domains, and develop user-friendly tools and products. We undertook several initiatives, such as continuous open-source contributions, collaborating with the data team on data product visualization analysis, drawing product drafts for numerous B-side products, and observing how users interact with our tools.

In terms of team development, we gradually focused on cultivating leadership among top team members, forming three sub-teams and two virtual groups. For new members, training involved hands-on guidance from more experienced members, setting good examples. Over the past six months, we regularly shared the “How to be an Engineer” series.

New Year's gift from a collaborating team leader

The role of frontend developers is gradually evolving into that of product engineers, requiring more than just support tasks but collaboration with backend developers, product managers, and business units to solve real issues with technical solutions. Fortunately, this year’s collaboration with the team was close and comfortable, fostering a genuine spirit of teamwork.

Conclusion

Indeed, 2022 had its share of regrets, including stocks from the previous year still “playing dead,” seemingly less commitment to keeping up with exercises, and days that sometimes felt repetitive and dull. However, within the 365 days of the year, there were moments that sparkled, as summarized above.

As Wang Xiaobo wrote in “The Golden Age,” “One must have a theme in life that sustains one’s dreams and souls.” I hope to maintain this state throughout the year.

Read More

What Makes a Good Low-Code Product

【2023-01-02】When it comes to low-code, there are those who love it passionately and those who are decidedly less enthusiastic. There are also those who "pretend" to like it and others who like it without really understanding why. Currently, I find myself somewhat fond of low-code, but only within specific domains where it can significantly speed up the development process compared to traditional coding by skilled engineers. Lately, I've been contemplating the next steps for team efficiency and decided to explore the open-source low-code products in the industry, which might offer some insights.