The article continues to update, WeChat search a search”
Wu Qinqiang’s late-night dining hall 」

I have read an article about how engineers should learn, and I think many of you have read it. I was just thinking about something recently, and I’ll write about it.

True success is accumulated through practice.

You may have realized this when you read the big man articles. You look at some of the things they’re doing and you think,

I don’t know how much effort this person has put into achieving his goals.

Coding is no exception. If you want to be a top engineer, you must practice your skills all the time.

That’s what I mostly do.

The target

This is a personal belief that may guide me through life. Whether from a personal or professional point of view, we always need to set a goal for ourselves at each stage, and then to kill it.

For example, you can:

  • Create an application you’ve always wanted to create.
  • Read a book you want to read carefully and do some independent output and thinking.
  • Learn a language you’re interested in, implement a feature in it, or rewrite an old project.
  • List the defects and pain points in the company’s projects or my own projects, and improve the system through thinking, consulting data, designing scheme and implementation. Don’t brag with me that your system is fine.
  • Participate in the open source

.

When it comes to goals, don’t be too abstract, it’s better to have a visual goal.

In addition, the difficulty of setting goals should be beyond the scope of current ability, but this range should not be too large, otherwise it will be divorced from the actual consciousness, we will call it: quitter.

If the target is very large, then it needs to be broken down, just like our system modules, you can break them up. Goals, too, can be split. Set a total period, and the corresponding phase task will appear.

More important is the process. The process is what goals are all about. The result was a predictable sideshow. You never know where the process will bring you. It is not impossible to get through the two veins.

I liked some of it. The best time to plant a tree was ten years ago, followed by now.

When it comes to programming, fantasy is the most useless thing. It has to be practiced. Plus, delayed gratification is an important thing, and when you feel like you’re getting worse, it’s probably when you’re getting better.

Why is it possible?

Because maybe you’re a real dish.

I remember when I first entered the workplace, I forgot to achieve a functional thing, and I felt good at that time, but now I just want to say: sloppy.

The output

In the realization of goals at the same time, will certainly meet their own will not, from not to master the existence of a process, it is also a stage. At each stage, you need to analyze the skills you have learned. How do you know how well you have mastered them? That must be the output. There are many ways to output, such as:

  • Simply write blog for oneself to see, but only exist own cognition.
  • The community writes and shares articles. While helping others, someone may be able to point out your problem or offer a different perspective.
  • Use the knowledge to write programs or apply them to practical projects.
  • Sharing within groups.
  • Open source community sharing offline. (It is estimated that he is already a big boss)

Read the open source code

At present, the public volume is more serious, plus you see other people’s articles are other people’s learning, absorption, summary of the final product. For some do not understand the knowledge point, or need to see first-hand data. On this basis, look back at the author’s article, perhaps there will be a different experience.

Another article due to space restrictions or the choice of focus, often more one-sided. This is a good time to read. Can you suck the <<TCP/IP detail >> book, you can’t read the emasculated version of TCP/IP article written by others?

As far as source code is concerned, I think it should be based on the facts, such as the good libraries used in the project or the skills involved in the recent task and want to see the implementation of others. The overall structure? Underlying principle? Design details? Why is it designed this way? Only understand the underlying principle, can use more comfortable. From use to principle, maybe there’s a need for it later, and then you’ll expand it, submit PR, and become Contributor.

conclusion

Coding is not a lottery. It’s not a get-rich-quick. It’s a slow process, and if you work towards your goals every day, you may not see any visual effects in a short period of time. But one year, two years….. When you look back and think about whether you were a jerk a year ago, you will see the growth.