Summarize 2021 & Plan 2022
Actually quite afraid of writing some articles, inside with their own thinking or ideas of some things, afraid of others spray. But these days I’ve been reading similar articles and it’s really interesting to see how I used to think and think about things. Plus, when others disagree with you, it broadens your perspective, so it’s okay. But spend less time trying to convince people
Conclusion 2021
How much of the 2021 plan has been completed
Looking over the year-end summary of last year, the plan for 2021 is: self-discipline, learning financial management, technology precipitation
This plan is really nobody, can’t make fun of, ha ha ha. It’s too abstract to execute. But let’s talk about how much we have done this year
self-discipline
I was talking about sleep and being able to stick to your own schedule
About work and rest, I made a record this year, using a rather stupid method, is to use the note-taking software to make a template of work and rest, every day to record the sleeping time, wake up time, sleep duration, the status of the day, the effective working hours of the day and so on. I picked a few days at random (carefully selected days)
Looks like I’ve been staying up late these days, hahaha. Compared to last year, the number of staying up late this year has actually decreased a lot, especially in the first half of this year, 15+ days per month went to bed early (before midnight). The second half of this year slightly worse, but overall, there is progress than last year, there is deliberately restrained stay up late
About sticking to the plan to implement some things in accordance with their own, really hit the face, take out to see, found the plan to do extremely unrealistic, do not stick out to hit the face (making plans is not to take out to hit the face, show). Let me show you this part of the study plan
When you realize you didn’t even make it 30%, you’ll sort out what you did this year
financial
Open source, save money, buy financial products, it seems to buy financial products. This year I did not spend energy on it, I used a more stable way, direct cast, basically do not pay attention to. If you really want to pay attention to what should be bought, it does take more energy, and I really have no interest in this, up do not know why up, down do not know why to fall, so I will invest or understand a reliable fund manager
Master Hongyi once said: “The most unfortunate thing in life is that when I make a mistake, the misfortune is not as bad as when I make a mistake. Accidentally a lost plan, and things luckily into; Accidentally a posture line, but get small profit. After is regarded as usual, and tian not for meaning. A great calamity is born.”
Technology of precipitation
With this year’s plan is quite different, this year’s technology precipitation mainly includes the following parts:
- Refactoring: Independently refactoring the project I was responsible for, from technical solution to implementation
- Data structure & Algorithm: Complete basic data structure learning, sorting & practice, brush question 70+ (see details)
- Go: READ two books and sort out the basic knowledge of each part (see details)
- Do a project with Go: develop a middleware service for service forwarding with another partner in the team
- Principles of Compilation: Learn basic principles of compilation & summary, and see the underlying implementation of Go compilation from the source point of view (see details)
Planning should be calm and quantitative as far as possible. Only by seeing progress in stages can we stick to it. And what is the focus of the year? Take part of your long-term goals each year
What does 2021 do
In the first half of the year
work
Because I just changed my job at the beginning of the year, I was basically familiar with business and system reconstruction in the first half of the year. I looked over the daily papers of the first half of the year and found that I spent a lot of time on the following parts:
- Be familiar with the business in charge
- Data cleaning
- System reconstruction
- Daily iteration
In the first half of the year, I learned some things related to system design, which made me feel more fruitful. There is no growth in other aspects, although everyone uses MySQL, Redis, Nginx, Docker, K8s and so on, but the scene is very simple, and everything is ready-made, the division of labor is relatively fine, and it is not easy to get access to work at ordinary times
We have two types of people on the team, those who are technical and those who are business (DDD and so on). It’s hard to find people who are on the same page and have similar ideas about technology. So the first half of the year in fact, technical harvest is not big
In the first half of this kind of rapid iteration of business requirements, it is easy to get stuck in, unknowingly become a line worker. It feels like most companies talk about technology, but few really care about it. Both are rapidly expanding businesses, with basically inverted demands, and it is difficult to guarantee the quality of r&d. I have good ideas, but time does not allow, so I can only put them online temporarily, and then optimize them later, and make a to-do list there. As a result, “to-do” means “not going to do it in the future.” Because there are countless requirements waiting for you, there is no time to write technical solutions
As a matter of fact, this does great harm to research and development. Obviously, I am a mental worker, but gradually, in the process of rapid iteration, I become a manual worker, a real “migrant worker in the new era”. I also have some thoughts on how to get out of this dilemma, which will be written in the summary section
life
running
In April, May and June, I ran almost every week and accumulated about 200km in three months, which was quite happy. I run in the morning, because there are few people and cars in the community in the morning. I don’t like crowds when I run, so I usually run at 5:30. After running for a month, can you really feel the mental state of what will be a big change, even the state of mind is good
dancing
For some reason, I need to change to a bigger house, so I thought about buying a dance mirror and learning it occasionally after work. The reason why I didn’t sign up for the class is that in the first half of the year, the time to get off work was not constant, sometimes early, sometimes late, and there was no dance class near the company. Just buy a mirror and practice
I was frightened by the stiffness of my body and laughed at myself. This kind of thing, still suggest sign up for a class, after all za also is not to want much major, want to try just, oneself learn too slow, and time grew to see the effect to hold to more difficult. It’s easier to stick with positive feedback. I gave up after practicing for more than a month, and I don’t want to do it anymore.
Take a family outing
In fact, I have always wanted to go out with my family. My mother has been taking care of us since I was in primary school, but she has hardly gone out since then. May Day this year when not busy, planning a family out to play a trip
My mother especially likes to go to the zoo, like tigers, elephants, lions, although five people are huge, but my mother loves lively, ha ha ha. It’s only been four or five days, but it’s still very satisfying. One thing I found was that when I took my parents out, I should not eat hot pot, Haidilao or barbecue. My father said that he had several meals with us and had a stomachache for several days.
Meet the parents
I met my girlfriend’s mother this year. No details. Later, my girlfriend said that my aunt’s comment on me was: “Too few words, even a kind word can not say”, too embarrassed, failure failure
May Day travel with my girlfriend to see my parents, or very happy, my mother always want to see my girlfriend, let her happy
In the second half of the year
Work & Study
The double cuts, announced at the end of July, dealt a devastating blow to online education. Because our department is a core department, the layoffs in the early stage did not have much impact on us. But basically after the implementation of the policy, most people have been dealing with the uncertainty behind, have reviewed for the interview. In the second half of the year, we were not very busy and had plenty of time to review. Basically, we spent all our spare time in the second half of the year reviewing
- Go(Through August + September)
- I systematically learned the basis of Go, and developed a middleware service of service forwarding with another partner
- From the source code to understand the Go compilation process
- The concurrent scheduling implementation of Go is studied
- The data structure(Throughout October)
- Systematic learning & sorting and summarizing
- Classic problem exercises for each data structure
- Compare the pros and cons of each data structure & usage scenarios
- Learn about the background of complex data structures and what open source projects use them
- Algorithm (November, December (at least 1 brush per day))
- Brush questions by topic, starting with binary trees (currently, the first 300 LeetCode binary trees have been brushed)
- For some big factory algorithm interview question brush
- Classification brush is to summarize methods and routines, training thinking; The purpose of reading frequent interview questions is to prepare effectively for the interview
- Compilation principle(November, December)
- As part of my annual basic study program, I started with The book Principles of Compilation
- Combined with Go language compilation to understand the implementation of each stage of the compilation principle
- The operating system(Spare time)
- Look again at How computers Work, How Programs Run
- I haven’t finished modern Operating Systems yet
Something like that
reading
Make a list of the books you read this year, non-specialist books (24) :
- Fang Siqi’s First Love Paradise
- Growing Up
- This Life is Unfinished
- Dear Andre
- Take your Time, Kid
- “See”
- The Sorrows of Young Werther
- Tibet, the Mighty And Mighty of one
- The Five Powers of Love
- Chinese History for Everyone 1
- Chinese History for Everyone ii
- Chinese History iii
- Chinese History for Everyone 4
- Chinese History for Everyone 5
- Chinese History for Everyone 6
- Chinese History for Everyone 7
- Chinese History for Everyone 8
- Chinese History for Everyone 9
- 5000 Years of World Civilization
- The Mystery of the World
- This is China 1
- This is China 2
- The Ordinary World
- Deep Thinking
Professional books (4) :
- Refactoring — Improving the design of Existing Code
- The Beauty of Data Organizations and Algorithms
- Go Programming Language
- Principles of Compilation (Optional)
life
A cat
I’m a field cat person, because I don’t think other cats are as lively as this one. I am a more boring person, so I want to keep a garden
Keeping a cat is more trouble than I thought, keeping a farm is more trouble than I thought. Everything in the room was ripped, toilet paper was ripped all over the floor, and the curtains had to be paid for when I checked out. You can hardly sleep without it in the cage at night. All kinds of dead sleep during the day, come out all kinds of things at night. No way, use Saturday and Sunday time, daytime hard boil it, do not let it sleep, to suppress its work and rest as I do
Of course, it also has good places, after work to play with it is really happy, that expression, that sleeping posture, really is a thief funny. Every time I see it eat, it can bring my appetite up, is really able to eat, from the original small, now into a ball
Some reflections and conclusions about 2021
About work
I think in most Internet companies, programmers are “busy”. Since I’ve always been in business, I’m speaking from a business programmer’s point of view. At least in my opinion, there are a lot of iterative requirements in work that are “low-tech”, which is a reasonable understanding of the sentence, which means that these requirements can be easily implemented if you have a certain level of familiarity with the business, even if you are a fresh graduate. But that’s not to say that all demands at work are the same, at least I think most are. Repetitive or unskilled tasks need to be automated
Especially for some business has been formed and stable departments, basically there will be no major changes to the project, or great excellence. Stability is a prerequisite, constant iteration. I felt that this was really damaging to r&d, because the rapid iteration basically left us with very little time to think deeply about our business. Requirements are basically inverted, come to a requirement, just think how to implement it, even if the code is repeated more, shit on the mountain, or have to pile up
What I can think of is:
- When you get a requirement, you can’t just think about how to achieve it. First of all, you should ask the product why you want to do this requirement. Is it necessary? What are the benefits? How many users are affected? Don’t accept it blindly
- Think about the business you are responsible for. For example, how can you make your project more flexible to meet changing requirements and fulfill requirements with minimal changes
- Abstracting the business to think about how to write highly reusable code
- Automate things that are simple and repetitive
Buy yourself as much time as you can to learn the core stuff. Empower yourself to do things that no one else can do, empower yourself to write higher-quality code
About the technology
This year saw a sentence: learning is to find the path and method to the answer, is to have the ability to learn without learning
The same idea, the basic thing, is the core of having the ability to learn without learning. When we need to learn a technology and complete requirements quickly, some people can have it in development in a week, some people can have it in a month
I don’t know if you have such a dilemma. When preparing for an interview, you need to review all kinds of things, such as MySQL, Redis, Nginx, languages, algorithms and so on. After I joined the company, most of them were basically useless. The scene was very simple, and people in the basic service group were basically responsible for the stability of the service, while we only cared about the business. When I change my next job, I almost forget what I reviewed last time, because I can’t use most of it in my work. And then you have to go over it again, and so on
For the interview, this is inevitable, if you want to meet with the company of your choice, you have to prepare a lot of things that you don’t normally use. With my current knowledge, the only way I can think of to solve this dilemma is to have the ability to quickly learn the upper-level technology
Some people can be really quick to understand how a language or middleware technology works. First of all, I think they must have a very solid foundation, and then they must have spent some time researching the underlying implementation of some other language or middleware technology. For example, if you look at Go’s implementation of concurrent scheduling or defer’s implementation, it will be much easier and faster if you are familiar with the operating system and network
Interview must have encountered source code, I think a solid foundation of people look at the source code, look at other people’s design ideas and some excellent algorithms; People who don’t have a solid foundation look at the source code, see what each line of code means, and then what the code means in series, as to why do so, do not know
Just as the saying goes: whether you are a “worker” or an “engineer” depends on how solid a foundation you have
Spend 80% of your time working on the 20% core stuff
Planning 2022
reading
Aim to read at least 25 books (non-professional + professional). Last year, I rarely read a book in depth. This year, I hope to make a change and try in-depth reading & application and record
I’m not sure which 25 books to read, but here are the must-read books for 2022. Non-professional books:
- A General History of the Globe
- History of the World
- Illustrated History of Europe
- The Great History of Europe
- The Other Half of Chinese History
- Life of MAO Zedong
- Reluctant to Finish The History of China
- Entertainment to Death
- Appearance and Essence
- From One to Infinity
- White Deer Plain
Professional books
- Modern Operating Systems
- Birdman’s Private Dish
- Advanced Programming for Unix Environments
- Notes on Language Learning in Go
- Anatomy of the Basic Principles of Go language
- Software Engineering
I have read too many professional books, so I will go through them briefly first and do in-depth research and practice in some core areas
learning
I think learning the basics is the most difficult thing to stick to, because it is boring and I don’t see any results in a short time. I think the way to keep going is to make sure that what you learn gives you positive feedback and motivates you to keep going. Here are the ways I can think of to get positive feedback:
- Sort out what you’ve learned, post it on various platforms, get read and liked (quality, not quantity, don’t care how many articles you post, at least make yourself satisfied with each article)
- Sharing series in the group can not only exercise my expression ability, but also deepen my understanding and get feedback from others
- Put what you have learned into practice and benefit the project
Learning is anti-human, but it’s much easier to stick with it if you have constant positive feedback along the way. To give yourself positive feedback, spend your time in worthwhile ways, such as addressing your pain points and those of others. You’ll reap the rewards of praise and encouragement — left ear mouse
The target
- At least two technical summary articles per month
- Gold digging bonus increased by 1500+
- Use Go to write your own little thing, which may not be a project, or even a tool or middleware, to your satisfaction. It can be simple at the beginning, and then continue to optimize and absorb the advantages of open source projects
- Get into the habit of doing a second check
- At least two algorithm problems per week
- A weekly technical article in English
- Try it at least once a quarter
life
- 180 days of sleep before 12:00 + (minimum 15 days per month guaranteed), except for work reasons
- Be sure to take a hard seat to Lanzhou
- Running 300 km +
conclusion
- Accept and face your limitations so that you can reflect and improve yourself
- The purpose of learning is not to find the answer, but to find the method
- No matter how perfect a plan is, if you want to stick to it, you need positive feedback to stimulate yourself and form a driving loop
Ok, that’s it, see you at the end of 2022!