Live up to the time, the creation of non-stop, this article is participating in 2021 year-end summary essay contest

This is my third year as a programmer, and the first year I started documenting skills with the Nuggets. After I started technical writing, what benefited me most was not learning a framework or a concept, but developing the habit of summarizing and recording. So here is a record of the past three years. In the past three years, I can be divided into two major stages. The cut-off point is that I changed my job.

Phase I: 2018.07 ~ 2021.04

After graduation in July 2018, I directly joined my previous company S (my first company). I had been working as an intern in company S for more than half a year since I was 17. At that time, I did not participate in the interview of other companies during the autumn recruitment (it is a pity now that I think about it), so I identified this company and directly signed three contracts. What attracted me to this company was:

  • Technology: in my opinion, THE technology of S company is advanced enough. As early as 18 years ago, IT used K8S to manage all our services. That technical architecture is also good enough for some big factories. Our technical director at that time was also a very good person, good at operation and maintenance, architecture, I thought I could learn a lot of technical knowledge from him.
  • Atmosphere: At that time, there were about 10 people in my team, all of whom were very young. I didn’t feel any pressure from office politics and social accidents, so I felt it was suitable for me. Moreover, our team Leader was also a great talent who came back from Ali and later became a product Leader, but he still had strong technical foundation. He will also consciously cultivate us young backs, who can learn another kind of knowledge: planning, management, etc.

So I was lucky to be my first company, and not just because of the technical gains. Where there is opportunity, I was responsible for a separate project (also thanks to the recommendation of colleagues), a completely with my idea to design a system, it should be regarded as a small self-realization, this let me learn the programmers work fun, also let me set up their own confidence: where I got the approval from cooperation colleague.

When I worked in my last company until the end of 20 years, I was in charge of some team matters and had too many meetings every day, so I didn’t have much time to learn skills. In addition, I think the technology has reached a certain bottleneck. The company has been using Python, and I want to learn Golang, but THERE is no practice opportunity. Then I had the idea of changing my job. At the end of the year, I began to prepare for the interview and got the offer around April, 21.

On reflection, I have many questions at this stage:

  1. The enthusiasm for technology is ok, when the technical accident is not active enough. As development evolves from one person to a team, it is important to influence others to work together in the direction of their own expectations. A person’s energy is limited, so he should learn how to make use of it. (Although my Leader has repeatedly stressed to me, I thought it was most important to improve my skills at that time.)
  2. I did not establish a technical framework, and although I had been reading blogs and books, the effect was not obvious. At that time, I was always looking around. Today I look at Redis, tomorrow I look at mysql

Stage 2:2021.05 ~ now

After May Day, I joined a new company B. The team was bigger than before, and GOLang was used for development. In the first two months, I mainly came to familiarize myself with our business system and catch up on the basic knowledge of Golang, at least the ability to write dynamic codes. During this period, I summarized my knowledge of combing into a document, which was recognized by my colleagues. I was very happy.

After two months, can put into work, mainly engaged in some stability for the construction of the relevant work, because the overall business and risk control related to the problem, and our services depend on the underlying components (storage, message queue, etc.) and external service cannot guarantee absolutely available, so you need to design for failure. I do have an interest in that. But the challenge is also very big, on the one hand, the system has been running online for a long time, the change is often affected by the whole; Second, most of the colleagues who developed the system are gone, and some of the code logic has been unable to verify. Another problem is that after the new Leader talks with me, I am compelled to think about how to push others to help me complete the stability work. It’s the same problem I had with my last company; Sure enough, no matter where you are, there is no escape.

In terms of technology, I do encounter a lot of new technologies here, and some problems that can only be caused by a certain magnitude (supporting 10 QPS is different from supporting 10000 QPS code writing), so there are a lot of things to learn. And because of the content of the job, there is also more focus on research technology, and began to record technology on the Nuggets. # REST Design Style: What level are you at writing RESTful apis? It was published by me on July 25, when I read the book phoenix Architecture. I had been writing REST APIS before, and got some insights, so I recorded it. In the following part, I recorded some knowledge I have learned recently, including Python, Golang, Redis, etc., which gained a lot of praise, which also increased my confidence in technical writing.

Reflect on my existing problems at this stage:

  1. Although there was a framework for technical learning, there was no planning to implement it. For example, some people learned docker principle through Zocker project before, but they are still in the first chapter. I should carry out technical learning in a project management way, so as to ensure the progress of technical learning, and to ensure the completion of as much as possible.

Stage 3:?

I still don’t know what I will be like in stage 3. I hope that all the problems mentioned before can be well solved when I review again. Now I list some TODO items here, waiting for the next review to check:

  • Specify a study plan for the first quarter of 2021 and ensure it is completed
  • Read at least 5 technical books
  • Update at least 3 nuggets articles per month