Reflection of a 40-Year-Old programmer and a 40-Year-Old programmer

Source: Internet
Author: User

Reflection of a 40-Year-Old programmer and a 40-Year-Old programmer

Ben Northrop (Open Source China)

[Guide]: Ben Northrop was 40 years old in 2016. This article describes his thoughts on his career. He believes that in the long run, we should invest more in some knowledge fields that are not easy to expire and have a long recession period.

 

 

I am a programmer. I just finished my 40-year-old birthday a few months ago. On a Saturday morning, I attended a React Native technical exchange and the speaker was trying to convince us why it became the next big event in the mobile development field. But for me, it is a bit like JSP 15 years ago. All logic is put in the Demo code. But I am "old", and I think this is because I have not fully understood it.

 

After the presentation, the speaker coded the presentation and showed about half a dozen of supporting tools I had never heard of. These tools made me feel a little frustrated.

 

Of course, I am not really surprised. Over the past 20 years, I have mastered some of the most popular technologies and enjoyed their operation. New things can always bring exciting experiences to programming and make things easier, faster, and clearer. But on this very morning, at the age of 40, I had to admit that I felt a little outdated. I know that if I want to keep up with the pace, I have to continue to pay, discard some fully absorbed knowledge, absorb some new knowledge, and prepare for the next journey.

 

I was thinking that my programming career is not like other professionals. When my doctor is 40, he doesn't have to worry that his knowledge of the vascular system will evaporate. Similarly, this is also true for lawyers, water officers, accounting, and English teachers. Their accumulated knowledge is relatively stable, and will give them corresponding respect and compensation as they get older. However, in the programming field, 20 years of experience does not seem to give the same advantage.

 

Two Concepts

 

Of course, our industry is not so bad-Programmers need to fall in love with many things-interestingly, endless follow-up seems to be more or less unique in our field. Is Programming really so different? If so, why? What does it mean for our career track? I want to answer these questions from the following two points.

 

The first is knowledge decline.Everything we know, not just programming, has a validity period. It will no longer be useful after that period. I learned how to drive at the age of 16 and still use it well. This skill can be considered to have a relatively long half-life. The doctor's knowledge is increasingly profound because everything he learns is based on his previous knowledge. In the field of programming, whether it is good or bad, I think:

 

Half of the programming knowledge accumulated by programmers will be useless in ten years.

 

This may be extreme ...... But at least for me, It seems correct. If I don't learn anything else during this term, I bet that I only have about half of the knowledge I can continue using in 2026 (for example, a long-lived SQL statement ), the other half may be useless (React Native, maybe ?) . Of course, I will keep gaining new knowledge to replace the things that will die, but is that enough? Will I know more (useful) knowledge than I do now in 2026?

 

This is the second concept, the speed of knowledge accumulation. In all fields, you must meet a certain knowledge threshold to get "Certification" (or at least hire). early in your career, you are usually trying to acquire knowledge. However, in the field of programming, due to the rapid decline of knowledge, it seems that we have never really passed the "Student period" and we must always learn.

 

Three Phases

 

If we record the programmer's knowledge decline and accumulation speed, I think it may be like this:

 

 

At the beginning of his career, it can be called the eager apprenticeship stage. It is easier to accumulate knowledge. Everything is new, and every experience is a tool for gaining more knowledge. And because we are young, we don't have much obligation, so we may not mind spending a few nights or weekends picking up new languages and frameworks. What's important is that employers have low expectations for us and we can leave some time to fill in our knowledge during work. This is an interesting stage, and I don't even realize how persistent I am.

 

Then, we are no longer new users and become self-reliant developers. Our investment in learning has been rewarded and everything we know is useful. In this knowledgeable phase, we begin to win the respect of our customers, our peers, and our managers for titles, salaries, and opportunities. Although we could not see it at the time, it was also an important turning point.

 

Two things happened. First, the promotion of "advanced" is not just money, but more expectation. Employers need their "star programmers" to become leaders-help junior developers, review code, execute interviews, attend more meetings, and help them maintain and build complex legacy software. All this is reasonable, but it cleverly sacrifices the pace of our knowledge accumulation. We no longer have time to read tech blogs and articles. Second, at this time, we first realized (or at least realized) that a little bit of knowledge is poor, and some of the things we learned earlier are outdated.

 

Then we enter the third and last phase, namely decline and loss. Yes, we are knowledgeable and accomplished, but we also understand that we actually know something less (useful) than in the initial stage. We may not have time to accumulate enough new knowledge to fill in, which is frustrating. I think that's why, at this time, many people started to turn to-management, sales, testing, or agriculture (my dream ). We realize that we need to try again to maintain our level and proficiency-otherwise, our work will be worse in five years than it is now.

 

Two Directions

 

I am in stage 3. I still like learning, but I understand that if I don't work hard, I may keep on the edge of "expert" balance.

 

First, I try to take a long-term view. Do not over-extract yourself and try to gain new experience as much as possible. I have seen many of my colleagues who have received generous compensation, but have little chance to engage in new things in their careers. In the next five years, they will realize that their valuable knowledge has evaporated, and their compensation is far from practical value. In some cases, I believe that earning less money (with better employers) in the short term will generate more (and more stable) money in a long-term career ).

 

Second, considering the limited time, I tried to learn the durable knowledge. That is to say, focus on the knowledge with a longer decay period, such as algorithm logic, application security, performance optimization, and architecture.

 

Finally, I would like to hear your thoughts!

If you have any questions during the learning process or want to obtain learning resources, join the learning exchange group.
343599877. Let's learn the front-end together!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.