preface

I have been working for one year since I joined the company in November last year, and I have also experienced all kinds of companies of large and small sizes. I have grown up a lot in this year, but I also made a lot of stupid and low-level mistakes. To sum up, I hope that such things will not happen again after I join the new company.

There is no clear direction of study

First of all, I think I am definitely a person who loves technology and is motivated to learn, but if I can excel by hard work alone, then everyone can get into 985/211. The most important thing is that I have to have a clear direction.

Not learning around the actual job

In fact most people, there is no clear direction of study, such as working on graphics, compiling principle, etc., 90% of the programmer’s work is carried out around the business layer, which determines the we don’t have enough time to master a direction, here is not to say that specialization is bad, but to say to want to combined with the actual situation, first we need to ensure the normal development of the business code. So the fastest way to grow early in your career is to learn about the business.

For example, you recently want to do a file upload requirements, then you can in this period of time, study the relevant knowledge of file upload, download; The next time you want to do a scroll load feature, you can learn about long list optimization and produce text output so that you not only get the job done, but also deepen the impression of knowledge.

Three minute heat

Often I saw a course on the Internet and was attracted by the introduction, so I placed an order to learn it immediately. After two days of learning, I felt it was difficult and threw it aside to eat ashes. Very common reason is that they did not do a real, landing plan, every time just flag (or unrealistic, too difficult plan), the first two days can endure endure, but to the third day, began to relax, and then to the fourth and fifth days, do not want to move at all.

You have to follow your nature. If I only have 3 hours of free time in a day, I will study for 2 or even 1.5 hours instead of a full schedule every day.

Not thinking deeply about day-to-day development

Many people joke about being a CRUd boy, or that the company’s business is CRUD, but the company doesn’t make you a CRUD boy. You make you a CRUd boy. And I once indulged in this arrogant, ignorant thought.

For example, if you’re developing on React hooks, you’re familiar with all the API calls, and then you’re bored, why don’t you try to understand React? Let’s learn what happens after render. For example, if you make fun of antD components every day, why don’t you try to figure out how to write a more elegant component than ANTD?

Lack of a reasonable work plan, resulting in delays

This can be a killer. Frequent delays raise questions about your credibility, competence, and literacy. When we receive a demand, we will review and estimate, and estimate often needs to include research (simple can not) + development + joint investigation + possible risks and other factors, only when these aspects are fully considered, your estimate is accurate and reasonable.

In agile iterations, I often mismanaged my work, often resulting in delays. For the product, a person delay, it is likely to lead to the demand for the release of the whole node to delay a few days back, because a week at most two version of the day, especially in the holiday seal board this kind of time, miss a, may be to wait for half a month. As far as corporate strategy is concerned, when one project team is delayed, all the other teams that depend on it are disrupted, and this is most likely due to the delay of just one person.

So unreasonable delays can have very serious consequences and have a significant impact on your performance review.

Not being able to move the job forward effectively

Some people will nail you immediately when they have a problem and expect you to reply to them online. Some people like to run to you and confirm with you in person. We have to admit that everyone’s work and communication habits are different. It takes a lot of thought and practice to work with so many different individuals.

Some people are technical leaders, but they are introverted and slow. At this time, a second person is needed to confirm and promote matters with them, and synchronize with products and QA in time. This is also known as Owner consciousness in large companies. You don’t have to be the best, but you have to get the work going, not the conflict stuck in you.

I in the first six months of work, basically doing a thing to let a person drives, but at the time I don’t know other people is to promote the progress on my side, I think things is to do so, after finish their own live, is not my business, over time, the leader will be to have your opinion, the boss will think you unreliable, the year-end bonuses and promotions, And it naturally flows to other people.

There is no consistent output

I have only recently learned that it is not enough to learn by reading other people’s blogs, tutorials and books. You need to organize the knowledge yourself, and translate it into written output, you can deepen the impression of learning, knowledge can be yours. Or do you write code every day, browse open source projects, and solve issues for open source projects? These are all great ways to learn.

I naively thought that watching the Nuggets every day and reading articles written by bigwigs would make me better. But the truth is, I forget all about it in two days. Feynman learning method is very popular in recent years, in fact, is this truth, with output to force input, when you can speak a knowledge point clearly introduced to others, you have mastered the knowledge. Consider, as a student, students with excellent grades isn’t around you, so when the students with poor grades directly threw a problem students with excellent grades, but they are not clear, but the results are excellent students to do research, thinking, practice, and then organize them into knowledge, then feedback to students with poor grades, low-achieving students think oneself is very easy to master the knowledge, Little do they know that students with excellent grades are the ones who really absorb knowledge.

If you cut corners, you’ll only go astray.

At the end

I hope to write these experiences, on the one hand, to share my lessons with you, and on the other hand, to remind myself not to make the same mistakes again.