Summary of 2020

Farewell 2020

2020 is so special to the world. The influence of COVID-19 seems far more seriously and deeply than many people‘s estimation.

Even if the successful reaction by China government, the epidemic still cause obvious impact to every single man in this country. My salary raise frozen six months, the recruitment market seems shrink, and my company have to take many tough projects to make more money for survive.

In my feelings, time elapse so fast at 2020, one moment I were a huge musk to buy living materials, one moment it's already summer. One moment we celebrate the new year, one moment another Christmas have passed. I continue anxious about future, and continue use coding/reading to restrain it.

At the end of this year, I may say no matter it's a good year or bad year, the earth is still spinning, people we love are still getting old, and our life is still moving forward.

If use one phrase to make a conclusion, I think it will be ”basically satisfied“.

Improvement of Technical Ability

1. Architecture of Software

After about 4 years of coding practice, this year I begin to look more high view of software: from the code architecture.

I made a simple exploration of software design that why and how the code module compose like this but not like that.

Thanks to Clean Architecture and Implementing domain-driven design, I learned some basic concepts of software design from those books. Combined with daily work, the design of higher business cohesion and clearer module division can be output.

Due to supporting candidate screening, I was tried to re-doing the recruiting homework, and realized that, back to the time when I was first doing the homework, no design, only very simple module split, full of anti-SOLID. Me in today may very likely to reject the old me, because good design can be simply understood and agreed but I didn't have that.

When I was reading some JDK library's implementation, I always praised such ingenious design that use as fundamental of many big system. They properly layered and carefully deliberated, reading that code make me feel so comfortable.

Therefore, from the big system architecture to some few line of code library function, no matter huge or small, maybe the beauty of software is that can make people feel harmony.

2. TiDB

I'm so happy to meet TiDB in September, which is one of the most popular projects in GitHub. Database is far out of my knowledge, it's been exciting to learn such amazing technology and even contribute to it, that give me great sense of achievement.

From the design and architecture of TiDB and other similar solution like Spanner, I learned a plenty of knowledge that I never read before, such as Go, Rust, performance optimize, concurrency control, AST and so on. That's make me feel so good.

I hope in the next year I can take and complete more difficult tasks of TiDB and try to contribute TiKV, then became an old hand in the world of open source.

3. Fundamental

With the continuous improving of my coding skills, I figure that the software fundamental knowledge become more and more important. Algorithm, operation system, database, network, jvm... none of them can be ignored. Hence I believe reading is the best way to learn them.

In 2020, I only read a few number of books, which contains Refactor, JVM in depth, The design and source code of Redis, Java concurrency in practice, The architecture of large website. But the good things is all of them are so helpful to me, I learned a lot in the books.

I hope I can read more books at 2021 than 2020, after all 2000 Yuan can buy many books thanks to the cheap book market in China. And the topic of book I wish can be closed to database, algorithm and architecture.

Growth of Financial Condition

1. Income Composition

There's a story about how would you choose, for get 200, 000 yuan paid of income from the profit of your properties, or get one million yuan paid of income from your job. Many people will choose the first, to take the passive income rather than active income even if the active income are 5 times more than the active.

Indeed, property makes money with no rest, that's good. But earn money from property also takes risk. I hope my income will composed by main part of passive and less part of active, then I can gradually set free from job and do what I really like.

In 2020, thanks to the good performance of China Stock Market, I've got 3-to-2 of active-to-passive income composition. However, like I said, the passive income mainly come from good market, so I cannot ensure that income will continuously come to next year.

2. Mutual Fund

All my passive income were earned by mutual fund. And 2020 I earned rate of returns of almost 30%.

This year my strategy of select funds have some changes. In the past, most of my funds are index fund, but now I believe the active fund managed by professional fund manager are better than the index fund. The reason is, I think, we should trust the professional people to do professional job, no matter the job is doctor, lawyer, software engineer or fund manager.

As a well trained programmer, I deeply know the power of professional. Different level of programmer produce very different code. So I ask myself, how can I do better than fund manager? I have not enough knowledge, no time to research the market, no source of information, I better sit down and do what I good at -- coding, not investing.

Family

Miss my granny so much, hope she will have no pain in the heaven, and rest in peace.