The Beginning of the Story#
Last year during Chinese New Year, I received an outsourcing project which mainly involved data crawling, backend development, and web page creation. At that time, I only knew a little bit of Android development and had limited knowledge of frontend development. Fortunately, I had enough time, so I followed the book "深入浅出现代 Web 编程" while learning and completing the tasks. Yes, I started with React and used mui as the component library.
Getting Started#
In March last year, I happened to come across Anthony Fu's [first live stream][] on Bilibili. During the live stream, I learned about atomic CSS and various plugins in the Vue and Vite ecosystems for the first time. After the live stream, I started learning frontend development based on his Vue starter template and the technologies mentioned in his blog. There was no specific order, I just learned things that interested me.
Getting Involved in Open Source#
In June, I came across an open-source project called memos and fixed my [first issue][] in the project. Afterwards, I continued to fix bugs and implement small features. In October, I contacted the author, Steven, who was very friendly and welcomed everyone to contribute to the project. He invited me to join the organization, and I learned a lot from his code. Unfortunately, as I took on more part-time jobs and school-related tasks this year, the frequency of submitting pull requests decreased.
Job Hunting#
Due to the impact of the pandemic, I stayed at home for the first half of the year, focusing on learning and doing other things. When it was close to summer vacation, my family started urging me to find a job outside. Initially, someone I knew recommended a position at a small company, but the salary was too low and it was difficult to save any money, so they didn't hire me in the end.
On July 10th last year, at noon, I happened to see a job posting by 祥岩 on V2EX. Based on the technology stack and job conditions, the job seemed suitable for me, so I added him on WeChat directly. I had my resume on my personal website, so I just sent him the link.
Interestingly, after a brief conversation on WeChat, he sent me an offer in the evening and invited me to join the GitHub organization and Feishu. Yes, there was no technical interview or contract, and I initially thought it might be a scam because I also saw another unreliable post by him, "[Hello everyone, I have started a public entrepreneurship plan with the goal of obtaining 50 million yuan investment in nine months][]." (As expected, this plan failed)
However, my doubts were quickly dispelled because I started working and building data visualization tools for web pages. At the same time, I was prepared to leave if I didn't receive my salary within a month, so I wouldn't lose anything.
Some Experiences at Work#
- At first, I was worried that my abilities would not be enough to complete the tasks, but later I became more confident.
- I work completely remotely part-time, about five days a week, four hours a day. However, I can work at any time and there is no time assessment. Most of the time, the tasks can be completed in less than the required time.
- The work is not limited to frontend development. Sometimes I have to write crawlers or handle automated deployments. Most of the tasks are things I am happy to do, and there is no need to compromise on technical choices.
- Having a stable income while studying at school is really great. I earn 5,000 yuan per month. I bought a new laptop and a phone for my mom, and I have saved nearly 50,000 yuan so far.
- By continuously learning and applying new technologies to my work, I feel that my skills are constantly improving.
Meeting the Interesting Li Shu#
When I first joined the team, there were only three of us: 祥岩,李书,and me. Li Shu is responsible for backend development, and he is a unique person. He has a deep understanding of functional programming and type systems, but he insists on using Chinese variable names and var
in his code. He also has knowledge in mathematics, psychology, and philosophy, and his library contains many books that I don't want to read or can't understand. Under his recommendation, I read Adler's two books and gained a lot from them.
Our shared characteristics brought us together naturally, so we became good friends. Even though we are not in the same city, we often chat for hours. Below is a short essay that Li Shu wrote when he left, and I think many people will find him cool and great.
img_v2_fcc096eb-f378-49ad-9b4d-9957819772eg.jpg
From Vue.js to React#
As you can see, in the job posting, Vue.js was the chosen frontend framework. However, after working on several projects, we switched to React for the following reasons:
- The experience with volar was not good, as it often required reloading. Writing React with tsx doesn't require installing additional plugins and is more stable.
- You can see the specific experience with volar in this tweet.
- React has a better ecosystem, such as radix-ui and framer-motion.
Based on the same DX considerations, we also changed the eslint configuration provided by 祥岩 because it significantly affected the performance when saving code.
As you can feel, our relationship is more like partners rather than an employer-employee relationship. Each of us has the right to express our ideas and make decisions.
An Episode: Meeting Zeabur#
The life of remote part-time work made me less interested in working 996 at a company to earn money. I hope to continue this kind of life after graduation, but I haven't solved the financial problem yet. In the first half of this year, I had a chance encounter and saw that zeabur was hiring frontend interns. I thought that if I could find this job, I wouldn't have to worry anymore.
Just like this job, after contacting them on WeChat and sending my resume, I met zeabur's two founders, 沅霖 and 宇航, at a café in Beijing. We chatted for a while and wrote some code together at the café, and then I joined.
Zeabur is also a cool company, and everyone on the team is very talented. Unfortunately, after joining for a little over a week, I realized that I didn't have enough time due to the need to focus on my own research paper, so I had to quit.
Current Situation#
Unlike last year when there were only three of us, 祥岩,李书,and me, our [team][] now has seven members, and our business is constantly expanding. If you are interested in our work, you can check out our Grow in Public documentation for more information.
During the summer vacation of my second year of graduate school, I didn't have any school-related tasks to handle, but I only had three weeks in total. The first week was spent at home, and the following two weeks were spent in Hubei. I experienced a bit of the digital nomad lifestyle, bringing my laptop with me and being able to go anywhere. I slept until I woke up naturally, went out to find something to eat whenever I wanted, browsed Twitter and watched videos when I was bored, and wrote some code at any time.