Self-reflection every year is not just for others to see, but also a self-evaluation of the year. Whether one has lived poorly or not is not the essence of the summary, but rather to avoid repeating the same mistakes in the coming year and to improve. I have no intention of comparing myself with others. Everyone has their own life trajectory, and forcibly matching someone else's trajectory does not necessarily lead to a better life.
Work#
Business Trips and Settling Down#
This year, I traveled to many places, from Xi'an to Chengdu, and finally settled down in Shenzhen. The constant movement from one place to another not only represents the rise and fall of projects, but also the flow of each place. It was not until I chatted with colleagues who had also traveled for work that I learned that the previous project had already ended and could not be continued. This situation only affected the company and did not involve individual employees. After all, no matter which project you go to, it's all about writing CRUD. However, thinking about it the other way around, as a contractor company, we often take over projects in the early stages of development and never really get involved in the operation of a product. This means that we only "build products" and have no experience in "operating" a product.
It is true that our company does not have the DNA of a product, and this is reflected in the way employees execute tasks. Many times, requirements are done hastily without considering the bigger picture or making them compatible and extensible for the near future. This year, I have heard more and more phrases in the company like "implement it this way first, and fix performance issues later." However, in this situation, junior employees write worse and worse code, senior employees have to clean up more messes, and the workload in the company becomes more and more imbalanced. It is really difficult to say that there is a good working atmosphere.
Returning to the topic of business trips, in the second half of 2021, I settled down in Shenzhen and was temporarily transferred to another department, experiencing a better working atmosphere. The word "sense of belonging" came to my mind again. With a stable project development, I could see most of the people around me and enjoy a relaxed atmosphere of communication. Compared to my own department, where most people are on business trips or temporary transfers, and some colleagues have been working from home all year, it is hard to feel a sense of belonging in such a large atmosphere. This made me think about leaving again.
Expansion, Watering, and Technical Excellence#
Every company is like a walled city, with people inside wanting to go out and people outside wanting to come in. This statement describes the job market in contemporary internet companies. However, for our seemingly improving company, it may not be the case.
All of this can be attributed to the company's arbitrary expansion. With the involvement of certain recruiters, the company's behavior has been "regulated" time and time again, and we have become more profit-oriented and focused on KPIs. A vicious cycle that cannot be avoided has emerged:
- Department managers need to expand and recruit people to meet KPIs.
- At first, the company that was not very demanding couldn't attract highly skilled individuals with high salaries.
- Lower requirements were set due to KPI demands.
- Senior employees became exhausted from helping new employees who lacked skills, and started to leave one after another.
- The shortage of personnel required recruiting again.
Yes, a company with weak market competitiveness cannot demand too much. Another company's key development point was changing its logo and successfully going public on the US stock market. This has planted a time bomb for the company's future. Previously, there were people leaving the company every month, but suddenly no one left because they were waiting for their stocks to vest after a year. Under this circumstance, the pressure on department managers will be greatly amplified. What seems like a well-functioning department will start to collapse after a year. In order to ensure the normal operation of projects after a year and to meet the KPI requirements of department employees, expansion and watering are magnified, intensifying the vicious cycle.
In this year, as someone with 3 years of work experience, I have gradually moved closer to the title of senior. However, the "technical excellence" of the company feels false to me. As a contractor company, we are not involved in the core business of the clients, to the point that we have been doing simple CRUD operations all year. The most difficult task is only to design a SAAS transformation plan for existing systems. Many times, we are not striving for technical excellence, but rather paying the price for our team leader's technical choices. Many times, due to the team leader's choice of Hibernate over MyBatis, I had to work overtime. Combined with the watering down of requirements mentioned earlier, new employees gradually lean towards "as long as the business works," which is frustrating for someone like me who has some pursuit of technology. They spend their time on technical refactoring while I have to work overtime to clean up after them. I guess that's what life is about.
As experienced employees leave the project, I have gained recognition in terms of experience, and I have had arguments during code reviews due to their lack of technical excellence. My temper has also become worse. Later on, I stopped caring about these things because they couldn't be reflected in my KPI. Is it worth it? Is it worth it?
Returning to the company's level of technical excellence, the word "none" really sums up the situation of this company. There is no reliable cross-team technical sharing, no technical wiki at the company or even department level. This is simply unacceptable for a company.
As I write this, I think back to my company two years ago. During the gap time between projects, I used to have time to learn new technologies, expand my knowledge, write articles, and even write books. But in the past year, whenever there was gap time, I was pulled into meaningless training sessions, and my freedom was once again reduced. This is an inevitable result of the company's development, and it may also be attributed to certain recruiters.
In a declining company like this, preserving my own inner self is probably the most important thing.
Run, run quickly.
Technology#
My technical career is divided into stages, completely disconnected: from Python in college, to Java backend at work, to learning Rust after work. I think my technical career is quite sad.
At work, I write in a language that I don't enjoy at all, and during work hours, I am immersed in business matters. After work, I don't touch Java at all and have never seriously studied the underlying aspects of Java. Fortunately, thanks to the company's business model, I don't need to know much about the underlying aspects of Java, such as designing JVM or bytecode. As long as I master Spring Boot, I can meet the company's requirements for a senior developer, and I have done well in this aspect, which aligns with my definition of work.
But on the other hand, this is a fatal problem. No one at work has ever said that my technical skills are good, and compared to colleagues who specialize in Java, I am really not good enough. This is a signal, a signal that may affect my career. I have also faced this problem and asked myself a few questions:
- Can my current Java skills meet the company's development needs for the next 1-2 years?
- Will I still be writing Java if I switch jobs?
Yes, if I don't change companies, I can meet the job requirements. If I do change companies, I would prefer to write Rust rather than Java. So, this may not be a big problem, especially considering that I plan to switch back to Guangzhou in a year.
PL and Rust#
I would like to say that I am a PL (Programming Languages) person, but I am well aware that I don't know anything about PL, and I am willing to learn in this direction. Rust, which I have been persistently learning, is a good example of PL. It has many great designs and concepts. Especially in my situation: working with a heavy, object-oriented Java burden during work hours, and working with Rust, which represents excellent PL design, after work. The long-term comparison and practice of the two have strengthened my belief in "not learning Java, but delving into Rust."
I don't want to go into the advantages of Rust in detail here. I have been gradually exposed to Rust since around 2016, and now I can use Rust to develop medium-sized software. This not only represents my personal technical progress but also witnesses the progress of the Rust language. Excellent designs such as NLL, null-safe, tagged union, error handling, and pattern matching cannot be experienced in Java. Every time I encounter a NullPointerException at work, I can't help but marvel at the goodness of Kotlin and Rust.
Side Projects#
A few years ago, I registered the domain name 3min.work, intending to use it as a place to store small projects, symbolizing "3 minutes of enthusiasm." I did gain a lot from it, tinkering with server cluster deployment, experimenting with various frontend frameworks, and exploring interesting things. At the same time, I realized that I didn't delve deep into any particular field.
After dividing my free time between reading and photography, I realized that I didn't have enough time for exploratory tinkering. After careful consideration, I realized that I haven't produced any satisfying works this year, not even small ones. I have only dabbled in various things without going deep enough. It's a real failure. So, I didn't renew 3min.work. I hope that in the future, I can focus on one or two projects and work on them honestly. There are several things that have been lingering in my mind:
- Expense tracking software
- Instagram-like photo sharing app
- Typhoon programming language
These will probably be the projects I continue to pursue, and I probably won't maintain other projects too much. I simply don't have enough energy.
In addition to projects, this year I have also made my own technology choices. Rust + NextJS will be my frontend and backend technology stack in the future.
Photography#
The more I travel, the more I see, the more I enjoy taking photos. The Canon 200D with the kit lens in my hand can no longer satisfy my photography needs. Later, I bought a new 28-200mm super zoom lens and took some photos that I am very satisfied with, capturing many wonderful moments. This is what I consider to be the new meaning of life. Life should not only be about programming, but also about the scenery and food in the distance.
Unfortunately, many photos have not been shared on the internet, and I feel that it is a pity. This is why I am determined to create an Instagram-like platform. I hope to share my photos soon.
Later, Sony released the A7m4, and I made the decision to buy it. Despite the price increase, I successfully obtained the camera in early December. I also bought a Sigma 35mm F1.4 prime lens. Many friends don't understand why I did this, but I have tested myself on my previous camera and I am not the kind of person who buys a camera, uses it a few times, and then lets it gather dust while using a phone to take photos. So, for a mature hobby, investing 30,000 to 40,000 yuan is not unreasonable.
Videos and Vlogs#
Every year, Apple sends me an annual summary, automatically creating a simple slide show with highlights of the year using the photos I took. Thanks to Live Photos, the slide show is like a simple video clip, with each photo accompanied by sound and motion. It may seem simple, but it conveys a sense of presence that photos alone cannot capture. From then on, I developed a love for shooting videos.
Another time, during the EDG finals, I took my camera to capture photos and videos of the offline viewing area. Even now, when I look back at the video of the championship moment, I feel an adrenaline rush. It is a kind of excitement that photos cannot compare to.
That's why I decided to buy Sony. Its powerful autofocus system makes shooting videos easier. There is a saying in the photography circle, "Capturing forever is more meaningful than capturing perfectly." So, I hope to become a photographer.
In 2022, I hope to run a media account, learn video editing, and publish my work, even if no one watches it, even if the editing is not good.
Memories fade, but photos and videos do not.
Relationships#
My older brother got married last year, and without a doubt, my parents started pressuring me to get married and even arranged blind dates for me. I have to admit that in today's era and with the education I have received, being single does not mean being lonely or unhappy. Everyone is becoming more self-interested in this big premise, and it is difficult for both men and women to lower their standards and please each other. Only when there is a "transaction" where 1+1>2 can there be so-called love.
Phase of Accompaniment#
This year, I met many people, and many of them gradually disappeared from my life. From a period of intimacy and openness to not knowing what to say when opening a chat window, and only being able to reply to their friends' posts with a few words like "Looks great." What happened in between? It could be a moment when there was nothing to say during a conversation, or it could be the dissipation of ambiguity after calm reflection. Regardless, the fact is that the companionship of certain people during that period has become a thing of the past. Only by turning the page can I meet better people.
Here, companionship does not only refer to romantic relationships but also to those who I thought would become good friends or confidants.
Blind Dates#
In a situation where my parents cannot accept modern dating and love perspectives, I was forced to go on blind dates. Honestly, I don't resist blind dates. As a colleague once said, "You have to experience it to have the qualifications and capital to discuss and complain about it." I went on blind dates with the impulse to accumulate and record life experiences and meet new friends.
But I have experienced the negative effects that blind dates bring. After my parents knew that I "accepted" blind dates, they started sending me the WeChat accounts of girls. At one point, I was really upset to the point of tears. The girls they pushed to me didn't even know that I was going to add them. This is not the most important thing; the important thing is that my parents called me every day for five consecutive days to ask how the conversation with the girl was going. You see, before this, my parents wouldn't even call me once a month. They were in a state of letting me be independent. At that moment, I didn't even know who was whose child and who cared more.
Later, I also thought about the significance of blind dates for various parties. Even my parents are very open-minded, but I have no idea why their attitude towards blind dates is so strange.
As someone who believes that I have a high quality of life and a rich spiritual world, I would never be so emotionally deprived or lacking in love that I need to confide in someone I have never met, someone who has no social media presence. Moreover, the response from the other person is even worse than that of a chatbot AI or a tea seller. So why bother?
Later, I experienced a very traditional blind date arranged by my mother. She took me to meet a girl and her aunt. The whole process was so awkward that there was no description worthy of value. The parents did all the talking.
My parents' values on marriage are still stuck in the mindset of "go on a blind date, if you think it's okay, talk to each other, get married if it's suitable, and then work on the relationship." But modern young people are not interested in this at all.
I don't want to marry someone I don't know for the rest of my life. If I accidentally meet someone with a bad temper, I'm afraid I'll be bullied for the rest of my life. Fortunately, after these incidents, I had a big argument with my parents, and they have restrained themselves a lot when it comes to blind dates. I think a few blind date experiences in this lifetime are enough.
Conclusion#
This year, I have become more open-minded, accepted the fact that I am mediocre, and given up on some unrealistic ideas. I have been busy and no longer care about whether the busyness has meaning or not.
That's it. I hope the next year will be even better, that I will find the right person, and that I will create some fulfilling works. As my brother said, "I have imagined countless times that you and I are traveling with our girlfriends in a car, taking photos of each other, and taking turns driving when you get tired." Yes, I have also imagined this scene countless times.