background

This article is not my original work. I read a recent article written by Du Huan, an architect of our company, on the internal platform of the company. I also felt the same way and thought it was worth sharing.

In my eyes, Du Huan is an excellent full-stack engineer. With more than 10 years of development experience, he has great attainments in both the depth and breadth of technology. Even though he has become the technical director of the department, he still keeps his love and pursuit of technology, which makes me admire him very much. Based on years of experience, he concluded that the level of programmers writing code can be divided into the following stages:

Children of the

When you first learn to program or learn a new technology, you can feel confused and confused, and even if you remember it, you can’t use it. The way to break through this phase is to “practice”, through various projects to become proficient, so that any not too difficult business requirements can quickly come up with a solution and start to implement.

Will use

Via Google, stackoverflow, all kinds of professional community, various articles and other channels, oneself slowly will find greater world and interested in all kinds of technology in the world, to understand a simple new technology no longer become the bottleneck of himself, his slowly can handle so many tools, components, libraries, design models, algorithms, such as language, I take the initiative to expand my vision, try to use all kinds of new things in the project, and become very excited about introducing a new technology. Finally, I can quickly absorb and understand the use of a new technology, and know when to use which technology.

Will see

Due to some chance, such as encountering a bug that is difficult to solve, I began to read deeply the internal principle of a daily used technology, and began to find more things that I did not know, and began to be interested in the implementation of various technologies, and gradually built a relatively complete knowledge system. All the related technologies of a domain to charting tell it in general, for the first time there is a “time enough” impotence, such as open/closed source quantity of stars face hao deeply feel small, less and less willing to remake a wheel easily, really know how to evaluate the stand or fall of an open source technology.

Will write

Suddenly one day, working on a technology to find a breakthrough ideas, and through careful investigation and found there are necessary, and then to spend a lot of time in the process of realize the ideal, and actively use various techniques to improve their work efficiency, take out final achievement indeed as expected to stand in the forefront of the industry.

Will want to

When I was at the forefront of this field, I not only continued to implement the most core code, but also found the development direction for the next three years. And for the first time, I bravely rejected my original idea.

conclusion

If you don’t write code for a long time, your level will certainly decline. If you only do things below your current level for a long time, you may also degenerate. It is absolutely not that if you “think”, you can meditate and guide the country every day. If you do not do it yourself, it is easy to be surpassed by the latecomers and start to be complacent, from “think” to self-righteous, and degenerate to the previous stage.

Du Huan believes that he has been staying at the stage of “writing”, and may even have degenerated to the stage of “seeing”, far from “thinking”. After reading it, I felt myself hovering between “reading” and “writing”, and far from reaching the stage of “thinking”.

Too many programmers are stuck in the “can use” stage, content to solve problems and not able to see deeper. In “use” stage, it’s easy to produce the illusion of an omnipotent, don’t think have no function implementation, began to repeat some not so good wheel, made even before the wheels did not go to carefully studied the industry’s most advanced technical implementation details, if have been in this kind of illusion, basically is hard to grow. In fact, this phenomenon is also common in large companies, many programmers only writing code at the beginning stage, which is a pity.

There will be a very long painful period after entering the “Watching”, during which one will feel very small. There will be neither time to exhaust all the technical details, nor the ability to find the breakthrough innovation that no one has tried before, which is a kind of torment. There are many industry leaders who stay at this stage, lost in all the details, becoming a knowledgeable but not creative person.

Recently, I met some new friends, some young people who love to do things, such as @doodlewind and @Industrial Gathering. I paid close attention to some of their trends, and when I communicated with them about technology, I obviously felt that their technical vision and ideas were broadened. I am very optimistic about them. Although I have done some technical management work in the company, and some of my time and energy have been allocated, I still hope that I can keep on learning technology and continue to work deeply on the road of technology.

I hope that all programmers will continue to work towards the next stage.