Why am I still programming at my age?

Why am I still programming at my age?

People in every industry will get older. Do they have to continue doing their previous jobs when they get older? I guess no one is willing to do that, unless they can physically handle it. The following is about how programmers should prepare for job changes when they get older!

[[157794]]

People expect that as you get older and your personal conditions become limited, you will give up some real-life jobs, such as programming, and turn to more high-level tasks, such as managing a team or raising funds.

This is true in academia where the "real professors" decide on the details, leaving only the "big picture stuff". In other words, organizations are oriented toward vertical collaboration: top managers manage a number of (cheaper) employees in a parallel structure. In research institutes, senior scientists come up with ideas, and junior scientists are tasked with implementing them. Over time, senior scientists may not do what junior scientists do, but they become experts in funding. Thus, a scalable model emerges: senior scientists can have mid-level scientists mentor junior scientists, and so on. Jorge Cham calls this model the Profzi scheme, because it works exceptionally well when funding is plentiful.

Horizontal collaboration among peers

In this model, senior scientists do everything, from idea to implementation. They prefer to automate as much of the grunt work as possible. Collaboration is mainly used to get a different perspective and complementary expertise. This model can still work well with a lack of funding, but it cannot adapt to the phenomenon of too many participants: horizontal collaboration is too close.

Each model supports a different type of work. I believe vertical collaboration is good for long-term and predictable work, while horizontal collaboration is good for serendipitous situations and "wild" ideas.

The reason why I am willing to spend my precious time programming

[[157795]]

I am in favor of horizontal collaboration, which is why I am still programming even though I am old. This may seem unusual, and some people may be puzzled by it. Some programming takes a lot of time, and I spend two or three months on programming in a year. Although my time is valuable, I can outsource my work for a little money, but I still prefer to do such things myself, which others think is a waste of energy. Why? Here I quote Donald Knuth to explain:

Those who work on higher-level, abstract thinking often mistakenly believe that lower-level, concrete ideas are relatively worthless and likely to be forgotten. Quite the contrary, the best computer scientists need to have a thorough understanding of the fundamental concepts of how computers actually work, and the essence of computer science lies in the ability to understand many levels of abstraction simultaneously.

But I also have my own opinion:

I want my work to be important and impactful. However, even widely cited research papers are rarely read in detail, because few research papers have significant impact. However, it is easier to work on software-related things. For example, recently a team at Facebook integrated one of my compressed bitmap index libraries in Apache Hive: the Hadoop-based data warehouse framework. But I bet that no one on the Facebook team took the time to read the original paper I wrote about this software.

I practiced again and again just to understand my ideas better. It was common that some ideas that sounded reasonable could not be implemented in practice. I also often found bugs by executing my mathematical arguments. Can I outsource this work to someone else? Maybe. But the results would probably not be very satisfactory.

Over time, you get better at programming. I've been honing my skills as an expert for decades. It's a very satisfying feeling when you start from scratch and solve a difficult problem in a few days, especially when you know it might take someone else weeks or months to solve it.

If my argument is sound, and even Donald Knuth supports it, why are some people still surprised when I admit that I am a programmer scientist? I think it may be that most people would reject such low-level jobs as programming, which can be confirmed by "The Theory of the Idle Class". In fact, we often pursue prestige rather than practicality. In order to maximize credibility, it is necessary to understand the meaning of the leisure class: your work must not produce practical results. Therefore, being a CEO or a politician brings more prestige than being a nurse or a chef. Scientists who are further away from the real world are more prestigious. Programming is a kind of tool-making work, so people from the leisure class will not like it. People will call themselves engineers, analysts or developers, but rarely call themselves "programmers" because it seems too utilitarian.

So, not everyone should learn to program. It is a time-consuming activity. I wrote so many programs and spent so much time that I couldn't do a lot of exciting things.

What other fates will there be for old programmers?

I saw an article in "Foreign IT Review" before, which talked about the feelings of a 55-year-old programmer who was very sad about his situation after getting old.

[[157796]]

Your career becomes a problem in your 50s. If you have good skills, someone hires you, you have a high title, or you are an expert, or have good interpersonal relationships, you are likely to find a new position. Otherwise, you will go from having enough food and clothing to being homeless. This is true. I am 55 years old, my resume will make you feel very good, 10 years ago I could earn up to $1 million. Now I am a homeless person. I am not in good health, I have no medical insurance, no dentist. The only jobs I can find are some basic manual labor that does not require skills, which I can't do.

I don’t want young programmers to become like this in the future, so I can only give you the following suggestions:

  1. Keep climbing up in your career and don’t stop.
  2. Become an expert in one area - although it is also important to maintain a wide enough technical range so that you don't become obsolete.
  3. Build a network of people. Expand it.
  4. Diversify your investments.
  5. When you have a job, you must have medical insurance, and don't have any problems with this. If you lose your job, money, and medical insurance, this will become a serious problem.
  6. Be kind to others. But don't be stupid. Most people you help won't return the favor.
  7. Plan ahead, as life is likely to go wrong.

Where is the way out for programmers?

Xu Hongjun, who has 10 years of experience in the software industry and focuses on Microsoft .NET technology and project management, has summarized three ways out based on his current situation. I hope he will be useful to you.

I am also a programmer, coding and debugging all day long. Sometimes I wonder if I can’t write anymore one day, or if the company prefers to hire young people to do these things because they are cheap and energetic, what should I do? Although there are many old programmers abroad, like several German colleagues I know, they are still software engineers at a very old age and they still enjoy their work. They don’t care about fame or money, they just care about interest. But I am different! The environment in China and abroad is also different. I often go online to learn about some programmers’ career paths. In summary, I think the following three options are more feasible.

Solution 1: Transformation into an IT trainer

Analysis: After recruiting new employees, IT companies generally require them to undergo training before they can take up their posts. This training is sometimes conducted on the job by experienced “old hands”. Young people who want to enter the IT industry must receive such professional training. Today, the IT training market is quite large, with considerable profit margins and promising industry development prospects. Whether you are working as a trainer within an IT company or as a teacher at an IT training institution, there should be room for development. Such work will not be too stressful, is relatively stable, and has no age requirements. And it does not deviate from the industry.

Advantages: Having worked in this industry for many years, I have rich experience in programming and projects and have participated in many successful cases. The industry connections I have accumulated over the years can also help us develop corporate clients and take on market development work.

Challenge: Lack of training work experience. If you want to transform into a trainer, you may need to receive some professional training to improve your ability to serve as a trainer.

Solution 2: Transformation to IT Marketing

Analysis: IT is different from other industries. Because it is highly technical, marketing personnel generally need to have a strong technical background and most of them have rich experience.

E-commerce companies and software companies are currently in need of marketing personnel with technical backgrounds. In addition, the resurgence of e-commerce has made traditional companies begin to pay attention to e-commerce marketing, and they also need marketing personnel with technical backgrounds. The salary for this type of work is not low, and with commissions, it should be higher than that of programmers, and it is also relatively stable.

Advantages: A strong technical background, extensive knowledge of various programming software and tools, and a relatively in-depth understanding of the IT industry are all relatively big advantages.

Challenges: Programmers generally seldom interact with people and their eloquence is not very good, but marketing work requires interacting with people. This may be the biggest challenge, requiring a complete change in the way of working and strengthening communication and interpersonal skills. In addition, marketing work will face the pressure of sales indicators. These issues must be considered in depth before the transformation.

Solution 3: Strive towards project management

Analysis: If the first two options involve more transformation, then project management can be said to be a more convenient path of development. At present, software project managers are hot talents in the talent market. Software project managers with rich experience and good foreign language skills are in great demand. The supply exceeds the demand, and the salary is naturally rising. In the 2005 software industry salary survey newly released by the Shanghai Labor Department, the salary of project managers is the highest among managers at the same level, with the highest annual salary reaching 211,011 yuan and the average annual salary reaching 109,414 yuan. The most important thing is that an excellent project manager can work in this position for a long time and has the possibility of further promotion to the top.

Advantages: For people who have experience, skills, connections, abilities, have participated in multiple software developments, and have certain experience, project management is undoubtedly a good direction for development.

Challenge: Some programmers may have been working in the project team but rarely served as project leaders. When recruiting project managers, many companies require experience in leading a team to develop projects, which is a disadvantage. ***Participate in some project management training courses, learn relevant knowledge by yourself, and improve your ability in process management, communication and coordination, so as to accumulate capital and gradually move towards project management positions.

<<:  Who is most likely to become the fourth pole of China's Internet?

>>:  100-Hour Rule

Recommend

Why did the old man, who was in good health, die soon after falling down?

In the past two days, many places have welcomed s...

What is the best way to kill rabbits? Detailed instructions for reference

Many people like to eat rabbit meat, but it is no...

The super moon will appear! Come and see it tomorrow night

Poster production: Feng Juan According to astrono...

Who can be the game changer in the face of the system flaws of smart TVs?

In today's world where everything is intellig...

Can plants catch a cold or have a fever? - Plant Attack and Defense

Produced by: Science Popularization China Author:...

The “disappearing” mobile Internet

“Mobile Taobao” has finally been renamed “Taobao”...

Get the complete version of search engine (SEM) marketing promotion methodology!

Search engine marketing (SEM) may be a concept th...