Note
Although when you see this, I am already 24, but I wrote this before I turned 24.
I'm almost 24 years old and I want to review my past and think about where I want to go in the future, so I wrote this article.
Open Source#
Participating in open source projects within my capabilities has become a part of my life. My main focus is on the problems I encounter and the ideas that come up when using open source projects. Here are a few examples.
I really like the xLog platform and use it as my main blog site. Occasionally, I encounter some small problems or want some small features, so I take the code and make some changes to submit a PR. For example, when using an online editor to write a blog through a browser, I found that the width of the editing and preview areas is too small, which affects the editing experience. So I added a focus mode. Now, when the focus mode is enabled, the page can be displayed in full screen, while hiding elements unrelated to the editing area.
Another example is the Callout
syntax, which is built-in in many static site generators (such as VitePress). So I found a remark plugin to support it, and now you can use the following syntax to render a Callout
.
:::note
You can also write **markdown** here.
:::
Note
Now also supports GitHub Alert
> [!NOTE]
> Something
tailwindcss-icons
is a tool similar to UnoCSS Icons preset in Tailwind. I use it in almost every project. During the usage, I encountered an issue where the TS types were not correctly found. After submitting a PR, I found that the author hadn't looked at the issue and PR for several months.
At first, I chose to fork and publish my own package. But then I realized that this small fix would be beneficial to others using this project. So I contacted the author on Twitter and asked if I could contribute to the repository to help with some small issues. Fortunately, the author agreed immediately. So I started adding some custom options and fixing bugs, and I felt a sense of accomplishment.
There are many similar examples, such as creating a good first issue for rsuite, adding dark mode to star-history, and allowing sonner to pop up Toast in multiple locations at the same time. I think there are many benefits to participating in open source. Let me list them for you:
- Because you are solving your own problems or helping others in your favorite field, it is completely different from completing work requirements, so you are motivated to write.
- Starting with a small requirement or bug helps you quickly get into a relatively large project and lay the foundation for making more important contributions in the future.
- Because you are trying to solve problems you haven't dealt with before, you can quickly grow and learn more knowledge that you are not familiar with through the author's review.
- You will connect with more like-minded friends and grow together.
- Open source experience is proof of your problem-solving abilities and can help you with job interviews or gain recognition from others.
- And so on...
Job Hunting#
In the article "One Year of Remote Part-time Work", I introduced my experience of remote part-time work, so I won't mention it here. After finishing writing the article, it was September, which happened to be the time for job hunting. With the idea of "if I don't try, I won't know my level even if I fail", I started sending out resumes. After sending out resumes to more than a dozen internet companies, I gradually started receiving written tests and interviews. In the end, I interviewed with Kuaishou, Baidu, and Meituan. The timeline was roughly as follows:
- Meituan written test. There were few and simple algorithm questions in the front-end test, and I answered both algorithm questions.
- Kuaishou first interview (no written test). I finished the interview in the afternoon and was rejected in the evening.
- Baidu first interview. I had a great conversation with the interviewer, and I felt that there was no reason for them not to pass me (and indeed I made it to the second interview).
- Meituan first interview. The interview atmosphere at Meituan was great, and the content included basic questions and project experience. The response to the interview result was also very fast.
- Baidu second interview. They asked about areas that I'm not good at, and I didn't answer well, so I was rejected in the end.
- Then I only had the interview with Meituan. From the first interview to the third interview, and then the HR interview, until I received the intention email.
After receiving the intention email from Meituan, I didn't interview with other companies anymore. It wasn't my goal to get multiple offers, and preparing for interviews and going through rounds of interviews was exhausting. As for the entire interview process at Meituan, the most important thing was to assess the grasp of basic knowledge and internship project experience. There was no hand-coding algorithm part, which was lucky. In my tweet, I also mentioned that if I kept being tested on algorithms and rote memorization, I probably wouldn't have gotten any offers.
Looking back, the experience of job hunting is similar to my work experience. I didn't deliberately prepare for job hunting (doing LeetCode, memorizing rote answers), I just did things I enjoyed (work, open source). During the interviews, I was asked a lot about my remote work and open source projects. I think, without these experiences, I obviously wouldn't have passed the interviews, considering my average academic background and campus experiences. This makes me more convinced that I should do more things I enjoy, rather than becoming worldly and utilitarian. Every experience in the past will play a role in the future.
Finances#
Having a well-paying remote job is like sending charcoal in the snow for a poor student like me. Not only am I finally financially independent, but I can also help my family. I have upgraded my main digital devices this year (I switched to a MacBook 14-inch M1 Pro in the first half of the year, and bought an iPhone 15 standard version in the second half of the year). I also bought a Xiaomi 13 Ultra for my mom and immediately sent money to support my dad when he needed it. I no longer need to consider the cost of daily meals to save money, and I don't need to consider troublesome and low-paying part-time jobs at school. I can focus more on things I enjoy.
During college, I loved tinkering with digital products and often bought interesting things on idle fish. However, because the living expenses provided by my family were limited, I usually sold them second-hand after playing with them. Now, I have no financial pressure, but I can't find the enthusiasm to tinker anymore, and I don't even play games.
Academics#
The worst part for me is my academics. I still haven't finished my thesis.
I am well aware that I don't have a talent for research and I'm not interested in doing research, but I realized this a bit late. During college, I hadn't found my favorite part in the programming field, and I felt that I couldn't find a decent job yet, and I hadn't met my current friends. So I chose to extend my study life as a buffer. But now I just want to finish my student life quickly.
Relationships#
I have liked several girls before, but no girl who likes me has appeared yet. My family is urging me to find a partner, and my relatives introduce me to blind dates every time I go home. I don't mind this and see blind dates as a way to meet new friends, no different from other activities. However, my blind date partners often don't see it that way, so after a few days, they usually become contacts that I won't open in the chat list.
I agree with the book "The Courage to be Happy" that "love is not a passive fall." I trust others unconditionally and expect them to "trust me unconditionally and build an inseparable 'our happiness' together."
Socializing#
Lately, I've been trying to be more active on Twitter and connect with more friends. Through my work colleagues, I got a chance to be a guest on Echo.js and I'm looking forward to participating in a podcast recording for a tech podcast month. But I still seem to be someone who is not good at socializing and often feel more comfortable writing code in front of the computer.
Future#
What else can and should I do in the future? I don't like being alone and hope I won't be so reclusive. I want to go to different places, meet different people, and do different things.
This should summarize my future goals. It could be cultivating a reading habit, playing some games I like, exercising and doing sports, traveling, meeting online friends for a meal and discussing technology and life, and so on.