Recently, I stumbled upon a video on Bilibili where a 38-year-old software developer shared his frustrations about being unable to find a job. Video Link。Watching it brought back memories, as I too experienced over four months of unemployment in 2023. The self-doubt during that period was deeply impactful. However, this article isn’t about reminiscing over tough times but rather to explore whether 35 is truly the end of the road for software developers. Is it really inevitable that programmers must “retire” at 35, unable to find work or forced to change careers?

Age 35 Is Not the End

Currently, various factors, including the economic downturn, have led to widespread layoffs across industries. Companies are tightening their belts, and there’s little we can do about external factors. The job market is saturated, and companies are raising the bar for hiring, leading to increasingly difficult interviews. Some call this “involution,” but I see it as a natural adjustment in the talent market. Companies elevate their hiring standards to attract top talent, and the market responds accordingly.

However, not every software developer has maintained a habit of learning and staying technically sharp. When China’s internet industry began to boom in 2010, with “Internet Plus” connecting everything, a wave of new companies emerged. Developers rode this wave, earning high salaries. Some became complacent, failing to keep up with the times, and were consequently left behind when the economy turned south. In the video, the creator admits to spending much of his free time gaming instead of delving into fundamental knowledge, thinking that if it wasn’t directly applicable to his work, it wasn’t worth learning. This complacency led to a dislike of technology later on, suggesting that he never truly loved software development but merely stumbled into the then-lucrative internet industry. With the wave gone, job interviews became difficult, and companies hesitated to hire a 38-year-old developer who lacked essential skills. His weak English skills further limited his options for remote or overseas work, trapping him in a frustrating situation.

That said, even if we are well-versed in the latest technologies, we may still face job challenges. For example, before 2015, most web developers used jQuery, but after 2015, the industry shifted to frameworks like Angular, Vue, and React. Later, tools like Tailwind CSS simplified the complexities of CSS, making it easier for a new generation of front-end developers. If you’re still relying solely on jQuery in 2024, what reason does the market have to keep you?

Despite the challenges mentioned above, I firmly believe that “35 is not the end for software developers.”

The Rules of the Software Industry: Why Give Simple Tasks to Younger Workers?

After 3-5 years of software development experience, you’ll realize that most daily tasks—developing features, debugging bugs—aren’t particularly complex. The real challenges lie in areas beyond a developer’s typical knowledge and in solving industry-wide, unsolved problems. If someone enters the software industry at 23 and spends 12 years doing routine work without seeking breakthroughs or understanding the underlying logic of the code, it’s easy to stagnate. On the surface, companies might give small raises each year to retain “useful” employees, but this can mask the fact that some developers are just treading water, losing their passion for technology, and becoming unaware of their stagnation.

So why shouldn’t companies assign simple tasks to younger workers? If, by 35, you haven’t accumulated enough knowledge to do more than basic tasks, or if you can’t guide younger developers and only engage in surface-level coding, then what value do you bring to the company?

I believe the real issue is that many people don’t realize how fast the software industry evolves. A computer costing less than $500 can provide access to the latest programming technologies, and an internet connection allows anyone to read the most sophisticated operating system and framework source codes. This level of access is unimaginable in other industries. For software developers, this is a great equalizer, offering everyone the opportunity to learn. Yet, some videos discourage people from entering the software industry, claiming it’s too fast-paced and requires constant learning. But is it really more exhausting than being a doctor, a teacher, or a factory worker? Sitting in an air-conditioned office, drinking tea, listening to music, and reading source codes and documentation—all without needing to enter a lab to experiment—how can this be considered overly challenging? On the contrary, being able to observe the world’s best developers debate and discuss technology is a fascinating experience.

If, by 35, you still don’t understand the rules of the software industry or can’t keep up with its pace of change, then being phased out is a natural outcome. To persist in any industry, you must have your own values, dreams, or passion. Without these, if you entered the software industry solely for the money, you’ll likely leave when the money dries up.

Responsibility: A Necessity for Adults

Responsibility is often seen as a burden, something that’s not always rewarded. But in your career, there will be moments when you need to step up and take responsibility. Whether it’s ensuring code quality during a review or being accountable for a project’s outcome, responsibility is an essential skill for career advancement. Knowing how to choose the right responsibilities, how to handle them well, and how to manage situations when you’re unfairly blamed are challenges that go beyond software code—they’re about communication and interest negotiation. When faced with these issues, which aren’t covered in technical books but are common in the workplace, you need to adjust your mindset, understand what you want, and maintain a positive attitude. This requires time and self-discipline.

I’ve seen many people who, after being promoted, weren’t ready to take on responsibility. When they realized the task was beyond their capabilities, they experienced a “fight-or-flight” response—an ancient reaction to danger. Since “fighting” isn’t an option in an office, they often respond with anger or simply avoid the problem by taking time off. They want the benefits of a promotion without accepting the increased responsibility, which is unreasonable. But many do exactly this, letting their anxiety affect the entire team’s morale.

Taking responsibility doesn’t always lead to immediate benefits, but if you understand why you’re taking on a responsibility and the potential rewards, it can be worthwhile. If the responsibility doesn’t directly lead to benefits, you can use it as leverage in negotiations with others. If there are no benefits at all, it’s best to step back and let others see the issue’s flaws.

In China’s education system, especially during compulsory and high school education, there’s little emphasis on team responsibility. Everyone focuses on their own grades and future, and when teamwork is involved, some may shirk responsibility, with teachers only concerned about the outcome. This often leaves one particularly capable or bullied student to do most of the work. As a result, many don’t understand what responsibility means or how to cultivate it. I’m not saying everyone should be selfless, but the lack of teamwork awareness can lead to some taking advantage of strong team members. This is not a healthy mindset.

Learning to take responsibility involves:

  1. Clearly understanding your responsibilities and fulfilling them within your scope.
  2. Knowing the benefits of taking responsibility and whether they justify your efforts. If not, communicate with your superiors to negotiate your interests.
  3. Going further, if the team needs you, do what you can to help others. Think from the team’s perspective, understand higher-level responsibilities, and use your abilities to make a difference.

The More You Experience, the More You Grow

Throughout life, I’ve heard many pieces of advice. Some make sense only after experiencing them yourself; others may never be shared with you. Some advice is given with ulterior motives. But no matter the source, you’ll never fully grasp these lessons until you’ve lived through them. As the saying goes, “You can’t understand the world by merely reading about it; true understanding comes from direct experience.”

Our world is constantly changing, and the problems we face are diverse and often lack clear-cut solutions. It can be disheartening when work-related issues don’t have perfect answers. But if you can separate your self-worth from your work and recognize that these problems mean nothing outside of your job, you’ll be able to think more positively about the challenges you face and the deeper reasons behind them, rather than blaming yourself for every issue.

Even when you think you’ve learned a lot and overcome many challenges, remember not to be condescending. Everyone has their own path, their own obstacles—what some might call “the trials of life.” Though it may sound mystical, the reality is that each person’s unique circumstances, personality, and background create their own set of challenges. Simply telling them the answers won’t help them truly learn those lessons. Whether dealing with superiors, peers, friends, or younger individuals, always respect their opportunity to experience and grow.

Never Limit Yourself

We’ve discussed why it’s hard to find a job at 35, but every industry has its more challenging aspects that require pioneers to tackle. At 35, you’re at a prime age: you’ve accumulated theoretical knowledge from school, gained practical experience at work, and faced some tough industry problems. While you may no longer have the boundless energy of a fresh graduate, you’re still more than capable of tackling difficult issues. I believe that one reason 35 has become a perceived barrier is that some people, feeling the pressure of age, start to limit themselves, blaming their job difficulties on their age.

Take, for example, the Wine software—a framework that allows Windows applications to run on Mac and Linux systems. Wine regularly hires remote developers from around the world to work on their software. They’re currently looking for a General Wine Developer.(https://www.codeweavers.com/about/jobs),Here’s a glimpse of the job requirements:

[Requirements]

Strong C language skills. Compilers, linkers, macros and function pointers don't scare you.
Excellent debugging skills. You will be debugging applications whose source you do not have.
Familiarity with developing on and administering a Linux system (bash, unix utilities, package management, etc)
Ability to understand and debug build systems (Makefiles, autotools, etc)
Understanding of good development practices (source control, atomic commits, code readability, test-driven development)
Self-motivated to find work and learn new skills
No exposure to Microsoft code or reverse-engineering of Microsoft software

[Bonus skills we want] not required, but it helps

Win32 programming experience
Systems-level programming experience
Previous contributions to open source software

How many programmers can truly meet these requirements? And considering that Wine is open-source software, anyone can access the source code without even logging in. But how many are willing to study the code and contribute to its development?

If you find it difficult to secure a job in China, have you considered learning English and seeking opportunities abroad? Those who are genuinely passionate about the software industry, willing to invest time and effort to deepen their expertise, or analyze potential demands and solve them through their software skills, should not find themselves unable to make a living. Over the past decade, software industry training programs have produced a wave of programmers who entered the field for financial gain. During economic downturns, it’s natural that some of these individuals may be weeded out. However, when we look at the big picture, the software and computer industries are undergoing transformations with AI, continuously impacting every aspect of our lives. How can we so quickly conclude that the software industry has no future?

Even if one cannot contribute to the industry with boundless enthusiasm, why not be a trailblazer who guides newcomers and helps them avoid pitfalls? Pioneers like “Left Ear Mouse,” Ruan Yifeng, Liao Xuefeng, and Yun Feng from the gaming industry have been sharing their insights and understanding for decades. They are leading the charge in writing better software and encouraging deeper thinking within the industry.