2020/01/14, leaving school and going home, it was hard to imagine what this year would be like.
This year, as a senior, I chose to work, and I don't know if I will regret not applying for graduate school.
I feel like I've learned a lot this year, but I also feel like I still know too little.
Let's start with some pictures#
Roughly along the timeline#
During the New Year's holiday, I stayed at home most of the time due to the epidemic. I casually learned and kept working on my QQ chatbot. It was quite thrilling when the bot automatically reminded me of the grades for a certain course.
Click to view the literary scars of youth -> Me and the World in 2020 - Epidemic Edition
One thing that left a deep impression on me was using Java JWT to visualize various algorithms. It was quite interesting.
I also watched videos about Electron, and it seemed interesting. I followed along and implemented a remote control program using Electron. The display page was written in Vue, and I also tried Vite. I fulfilled a wish, which was to learn Vue. When helping my roommate solve problems, I also learned a lot. The development experience of Vite by Evan You is very good, allowing the browser to parse esm, and the speed of opening is amazing.
rc senior was studying operating system-related things, so I followed along and learned a bit, and it was quite an experience. So I also used Rust, and I have a basic understanding of the concepts, but I can hardly remember anything now because I haven't used it for a long time...
During the epidemic, I attended classes at home and learned a lot of things, whether in class or on my own.
Learning in class#
I learned Java in class, and now I'm quite proficient in it. I also implemented a simple chat software in the course project. The interface was written in Swing, and TCP protocol was used for communication. I also gained a concept of Java's engineering development and learned how to use third-party libraries.
I also learned Flutter in class, and I feel that the development experience is similar to React. It has a Material Design toolkit, and the interface is relatively easy to write. Dart, as a language that combines the strengths of various languages, is quite good. One thing I remember is its complete static typing, but it also has a dynamic feel when writing.
I took an elective course on design patterns, so I have some understanding of design patterns.
The remaining courses are all related to hardware, such as embedded systems and microcomputer principles.
After finishing the last class of my junior year, I started looking for a job during the summer vacation. I met many good interviewers, and I gradually gained courage from being afraid to interview at the beginning.
One interviewer I remember the most is alsotang from WXG. I didn't know he was a big shot at first, but later I searched and found out that he really is. I saw him a lot in the Node.js open source community, but unfortunately, I failed the second interview at WXG~ However, we have been in contact ever since.
After that, I tried participating in a talk show called "Snake Catcher" and talked about campus recruitment. It was embarrassing. I was just a green leaf among the big shots.
In the end, I chose an offer from Ant Group and will be working on IDE and engineering-related projects.
Choosing between graduate school and work#
Benefits of going to graduate school:
- Higher academic qualifications
- More free time (my own time) to learn new things (all kinds of things)
- Maybe a bigger future space
I consulted the opinions of the laboratory teacher, and he said, "Undergraduate is about writing code, and graduate school is about solving specific problems."
I looked at the admissions of the Network Technology Research Institute of Beijing University of Posts and Telecommunications, and all the directions are related to "machine intelligence". I asked a senior from Beijing University of Posts and Telecommunications, and he said that these are all for show. When you enter a specific group, you may still be writing code.
If I choose to work, I can:
- Make money
- Take control of my life in advance
- Maybe have more business (technical) capabilities
I can't compare the pressures of graduate school and work.
But one thing is certain, it is much easier to find a job after working for three years in a big company than after studying for three years in graduate school.
On June 19th, I joined the NoneBot organization.
I usually use QQ chatbot, and one interesting thing is that in August, CoolQ stopped operating. The reason was that the author of the bot framework "Chenfeng" got into trouble, and many bot frameworks stopped development.
Then the open-source project "Mirai" hid for a while and started development again. At the same time, a big shot rewrote it in Go, and the community is still thriving.
Recently, I have been busy adding support for DingTalk to NoneBot2, and the logic has also undergone major changes.
After reading "The First Line of Code", I followed along and wrote the weather application mentioned in the book.
I also learned Kotlin, and I feel that it is a very sweet language. It is also quite comfortable to use, and the type system is impressive.
I also learned about Gradle and Maven.
I wanted to write a tool for the ColorOS system, but I only wrote half of it and stopped. Later, I had some ideas one after another, but there are already too many things to pay attention to in Android development, and I only have a superficial understanding.
I also wanted to write a VSCode extension, but I only had a half-baked understanding.
I took on an outsourcing project, which was quite annoying, and I felt that the pay was too low. But I also learned a lot,
- I feel proficient in using SQLAlchemy, which used to be difficult for me.
- I tried to write a frontend big screen page for the first time.
- I feel quite proficient in using Flask.
Recently, I have been working on my graduation project, and I feel quite proficient in C language orz.
I am also learning Japanese. I have memorized all the hiragana and katakana, and I am slowly studying vocabulary and grammar.
I recently received a Coding pillow, which made me very happy.
What was the most fulfilling thing this year?#
- Being able to apply for graduate school or not.
- Getting offers from Ant Group and Tencent in the campus recruitment.
Books I read#
Here are some programming books that left a deep impression on me:
- The First Line of Code
The third edition is based on Android 10 and Kotlin. After reading it, I have a comprehensive concept of Android system development.
- Flask Web Development: Developing Web Applications with Python
This book is really good. The examples are appropriate, and the author is also the developer of Flask-SQLAlchemy. It uses many techniques, and I gained a lot from it.
I finished reading "Seven Years in the Countryside" by Xi Jinping.
I enjoyed several detective novels by Zi Jinchen.
TV shows I watched#
At the beginning of the year, I watched "Ipartment 5". I was impressed by Zhu Ge Dalie and Dog Brother.
In the middle of the year, there was a niche drama called "My Hedgehog Girl". I really loved it, and Zhuang Dafei was really good-looking.
In the middle of the year, I went with my classmates to watch "The Eight Hundred".
"The Bad Kids"
"The Queen's Gambit"
I watched "Tenet" and "Jiang Ziya" on a small streaming platform.
Recently, I have been watching "The Inspection Tour", and it's pretty good.
Where did I go#
I originally planned to go to Zhuhai and Macau for the Spring Festival in 2020. I had already obtained the travel permit, and the plan was well written. But it was canceled due to the epidemic.
But the plane tickets this year were really cheap.
Another year of crawling and rolling on the computer.