I’m a programmer who turned 40 a few months ago. One Saturday morning I was at a React Native tech conference, where the speaker was trying to convince us why it could be the real next big thing in mobile development. But to me, it’s a bit like JSP fifteen years ago, with all the logic in the demo code. But I’m old, and I think that’s because I haven’t fully understood it yet.

I was a little frustrated by the presentation of powerpoint, live coding, and about half a dozen companion tools I hadn’t heard of.

Of course, I wasn’t really surprised. I’ve also mastered some of the more popular technologies over the past 20 years and enjoyed riding them. New things always bring a bit of excitement to programming and make things easier, faster, and clearer. But on this particular morning, at the threshold of 40, I have to admit I’m feeling a little behind The Times. I knew that if I wanted to keep up with the pace, I would have to keep giving, discarding some of the things I’d already absorbed, and taking in some of the new stuff in preparation for the next journey.

I was thinking that my programming career was not like that of any other professional, a doctor who didn’t have to worry about his knowledge of the vascular system evaporating at 40, or a lawyer, or a plumber, or an accountant, or an English teacher. Their accumulated knowledge is relatively stable and is rewarded with respect and compensation as they age. But in programming, 20 years of experience doesn’t seem to confer the same advantage.

Two concepts

Of course, our industry isn’t that bad — programmers have a lot to love — and it’s interesting how relentless follow-ups seem to be a more or less unique feature of our field. Is programming life really so different? If so, why? What does it mean for our career trajectory? I would like to try to answer these questions from the following two perspectives.

** The first is knowledge decay. ** Everything we know, not just programming, has an expiration date after which it is no longer useful. I learned to drive when I was 16, and I’m still good at it. This skill can be considered to have a relatively long half-life. The doctor becomes more knowledgeable because everything he learns is based on his previous knowledge. And in programming, for better or worse, I think:

Half of the programming knowledge a programmer accumulates will be useless in ten years.

This may be extreme… But it seems right, at least to me. If I don’t learn anything else during this deadline, I bet that only about half of what I know I can continue to use in 2026 (such as long-lived SQL) and the other half will probably be useless (React Native, maybe?). . Of course, I’m constantly acquiring new knowledge to replace the things that are dying, but is that enough? Will I know more in 2026 than I do now?

** This brings us to the second concept, speed of knowledge accumulation. ** In all fields, certain knowledge thresholds must be met to be “certified” (or at least employable), and early career days are often spent trying to acquire knowledge. In programming, however, due to the rapid decay of knowledge, it seems that we never really get past the “student years” and have to learn forever.

The three stages

If I were to record the rate of knowledge decay and accumulation of programmers, I think it would look something like this:

40years-old

It is easier to accumulate knowledge at the beginning of a career, in what might be called an eager apprenticeship. Everything is new, and every experience is a tool to gain more knowledge. And, being young, we don’t have too many obligations, so may not mind spending a few evenings and weekends picking up new languages and frameworks. Importantly, employers also have low expectations of us, and we can carve out a little time during our working lives to fill in the knowledge. It’s a funny phase where you don’t even realize how persistent you are.

Then we stopped being novices and became self-sustaining developers. Our investment in learning has paid off. Everything we know is useful. At this intellectual stage, we begin to earn the respect of clients, peers, and managers, and gain titles, salaries, and opportunities. Although we didn’t necessarily see it at the time, it was an important turning point.

Two things happened. First, “senior” promotions are not just about money, but more expectations. Employers need their “star programmers” to be leaders — to help junior developers, review code, conduct interviews, attend more meetings, and help them maintain and build complex older versions of software. This is all very reasonable, but it subtly sacrifices the speed at which we accumulate knowledge. We no longer have time to read tech blogs and articles. Second, this is when for the first time we experience (or at least recognize) the decay of a little knowledge, and some of what we learned earlier becomes obsolete.

Then we enter the third and final stage of decline and loss. Yes, we are knowledgeable and accomplished, but we also know that we actually know less than we did at the beginning. We may not have time to accumulate enough new knowledge to fill in, and that’s frustrating. I think that’s why, at this point, a lot of people start moving — management, sales, testing, or agriculture (my dream). We realize that we need to work again to maintain our level and proficiency — otherwise, our work will be worse in five years than it is now.

Two directions

I’m in phase three. I still enjoy learning, but I understand that without hard work, I might stay on the edge of the “expert” balance.

First, I try to take the long view. Don’t push yourself too hard. Get as many opportunities as you can to gain new experiences. I see a lot of colleagues who are well paid, but have very little exposure to new things in their careers. In five years’ time, they will realize that their valuable knowledge has evaporated and that their compensation is not worth much. In some cases, I think making less money in the short term (with a better employer) will generate more money (and stability) over a long career.

Second, considering the limited time, I try to learn durable knowledge. That is, invest in knowledge that has a longer decay time, such as algorithmic logic, application security, performance optimization, and architecture.

Finally, we recommend a front-end learning advanced internal push communication group 685910553 (front-end information sharing), no matter what position you are in the earth, no matter how many years you work are welcome to enter! (The group will regularly provide some free study books and interview questions and answers collected by the group leader for free!)

If you have any objections to this article, please leave them in the comments section.

If you find this article interesting, please share and forward, or you can also pay attention to show your recognition and encouragement to our article.

I wish everyone can go further and further in this way of programming. !