The path of a programmer's life (highly recommended, thoroughly analyzed!), insights from a programming expert, which probably cannot be realized without at least half a century of time.
Compared to classmates who just graduated and are engaged in other industries, the generous salary and the constantly updated professional knowledge not only make you feel fulfilled in life but also satisfy your hidden vanity. In the first few years after graduation, you often look back at your classmates left behind, feeling pity for them while also feeling a sense of balance in your heart for your hard work of working overtime every day: "You get what you give" is a phrase you say the most during those years, whether to your friends or your loved ones. The second most common phrase is to your company’s leaders: "If it doesn't work, I'll leave!" In fact, you have really left a few times. By the way, during these years, because your financial situation is good, you start buying a house, dating, getting married, and having your own children. Sometimes you tell yourself that in two years you will buy a car. Of course, many of these big purchases may require installment payments, but you are full of confidence about the future, convinced that this kind of life will continue forever, even if it doesn't get better.
Days pass in this mundane routine, and suddenly, without realizing it, you find that you are almost 30 years old, or already 30. Unexplainably, a vague sense of unease spreads in your heart; it seems that the future is not getting better as it was in previous years. You suddenly realize that among those classmates you once looked down upon, quite a few are already driving cars, and some even live in houses larger than yours, seemingly paid off in one go. You suddenly understand that your current life is at best slightly above average compared to your classmates. What makes you feel uncomfortable at work is that you increasingly dare not say no to your leaders; even if colleagues who joined later than you get promoted or receive raises, you only dare to complain privately while drinking with friends. In front of your superiors, your voice becomes smaller, and your smile gentler.
You finally start to feel confused: "What will I be doing in a few years?" This question often appears in your mind.
Computer development work is a job that relies heavily on youth; to put it simply, it's a "youth-based job." This statement seems to have been heard in a particular industry as well.
The hallmark is that: the work is highly time-sensitive; the deadlines for development projects are usually very tight. Moreover, some books that claim to be about development management insidiously advocate breaking a project into smaller pieces, each with a so-called "milestone" to strictly track development progress. Overtime in other industries usually comes with overtime pay, but in the development industry, it seems that few companies have ever issued overtime pay. After all, there are deadlines; if you can't finish, I'll come to you for an account. Therefore, development work usually carries a psychological pressure that other jobs do not have.
Once a person reaches their thirties, due to family and child burdens, coupled with a decline in energy, the amount of overtime work becomes less and less, which makes many bosses feel: these people are getting old and are no longer useful. They instruct the HR department: "From now on, limit hiring developers to those under 30!" In comparison, hardware development has slightly better age restrictions, but it's still a matter of degrees. Another important point is that the field of computers is advancing too quickly; a top-of-the-line computer bought two years ago now looks like scrap. This is a minor issue; what's more frustrating is that it seems you need to learn new knowledge every day. When you graduated, you only knew PASCAL from textbooks, learned to use corrosion methods to make circuit boards, and then started learning TURBOC and TANGER2.0 as soon as you began working. Just as you got the hang of it, you immediately had to learn Borland C++ and Protel 3.0. After finally mastering those, you find you need to learn VC and Protel 98. The same goes for microcontrollers: you were very familiar with the Z80 instructions, but before you could use them at work, you had to learn the 8031. You originally thought you would rely on it for life, only to discover new things like PIC, DSP, CPLD, FPGA, ARM, etc.... This doesn't even include a whole bunch of 74 series, 4000 series, XX series... IC cards even have CPU cards... If every word of knowledge you learn could turn into a penny, I think all development engineers would be wealthy.
At a glance, this kind of life seems endless; you enjoyed it when you were young, but now you must be doubting how long you can keep it up. We have all played RPG games like "The Legend of Sword and Fairy." At the beginning, you are just an unremarkable youth, but as you fight monsters, collect treasures, and learn secrets, one day you will become a great hero! Yet, you live a life that is even harder than those little heroes; why can't you become a great hero in real life? Haha, the reason lies here: because development work is a tricky skill. Although it can quickly turn you into a small bourgeois, its biggest characteristic is that experience does not accumulate! The ever-changing knowledge updates make you always feel like you are regressing. You are like the protagonist in an RPG; at the beginning, you are given a good sword and armor and start at a high level, but your experience does not accumulate. Although you feel great when you first fight small monsters, as you progress, you will find that you die terribly! Comparing yourself with classmates in non-development fields, you can see the difference, for example, compared to your classmates studying medicine. To quote the old saying of Yue Buqun about the difference between the Huashan Sword Sect and the Qi Sect: in the first ten years, you earn and hold a much better position than your medical classmates, but ten years later, you will be roughly equal in all aspects, and twenty years later, you will be far behind your medical classmates in all aspects! Hmm, you have probably stopped laughing at the Evil-Repelling Sword Technique.
"May I ask where the road is? The road is under your feet..." However, it's acceptable for Monkey Brother and Pigsy to think so; what about you?
Summarizing the life paths of many development friends after 30, let’s take a look at what developers do after turning 30.
Path One: Continue with your "promising" career!
I counted carefully and found that there are indeed many friends who continue to work in development after 30. Here, "engaged" means you still need to code and design circuit boards every day, regardless of whether you have a few subordinates or whether you wear the hats of project manager or chief engineer. As long as you still need to develop personally, you belong to this category. One of my oldest friends was born in 1963 and is engaged in medical instrument development. There are still many around 35 who are involved in software and hardware development. Analyzing these friends who still work in development, they generally have the following characteristics:
- Obsessed with work or computers, spending most evenings from 8 PM to midnight at their computer desk or workbench.
- Dislike socializing, have few friends, and usually keep in touch with no more than five people.
- Talk about work a lot when socializing with friends, but generally do not take the initiative to discuss money.
- Body shape tends to be either overweight or underweight, not within the normal range.
- No future plans, unable to clearly state what their life will be like in five years or what job they will be doing.
- Frugal, never spending money recklessly.
Even if you are a developer under 30, you can see if you meet the above criteria and whether you will still be engaged in development after 30. If you suspect four or more, you are basically diagnosed as belonging to this type.
These friends usually live with a day-to-day attitude; at this age, they no longer dare to change jobs easily, and the youthful vigor has slowly faded. The only unchanging hope is that one day a large sum of money will fall from the sky and injure them. To be honest, due to their personalities, it can be basically determined that they will not achieve better development in their careers in the future. Being a small leader, leading a few people in development has already reached their peak of development. As for their future life path, not only are they confused, but perhaps even God is having a headache.
However, I find it strange that all these friends have sons! I don't know if it's a coincidence or if there's some other saying.
Simple suggestion: To change your fate, first change your personality: stick to not working, gaming, or watching TV for half a year in the evenings, and use that time to socialize with people; your life will change.
Path Two: Transition to technical support, administration, or production.
Some friends, after a few years of development work, due to lack of particular interest or forced job arrangements from their superiors, transitioned to technical support, service, or administrative roles. At least on the surface, their salaries seemed lower than in development, but a real analysis shows that half of them have achieved better development, getting promoted to service department manager or administrative manager, with one particularly impressive friend promoted to assistant general manager, entering upper management.
These friends usually did not voluntarily change careers but were forced by circumstances or other reasons. However, clearly, their professional knowledge makes them stand out in non-technical departments, and they can provide professional advice on various issues. Over time, it is not surprising that they gain more promotion and salary increase opportunities.
Because they are not engaged in development, their experience begins to accumulate. These types of jobs usually give you a very stable feeling, and after you turn 30, you will find that these types of jobs are actually easier to obtain new job opportunities than development work.
Simple suggestion: If you determine that you cannot achieve good development opportunities in the development department, consider trying other departments for a change; even if the pay is lower, the opportunities may be more.
Path Three: Development management.
If you are now a chief engineer or development department manager, or you are about to be promoted to such a position, then congratulations, you are on the golden road from "stable position" to "victorious Buddha." You not only possess high professional skills but also clearly have strong interpersonal skills. People like you do not need to worry about the future at all; even when you have nothing, it is easy for you to start from scratch.
You can easily distinguish whether you are this type of person. Just like in Go, if you are not a national player by the age of twenty, you will have no hope for life. You should find that after three or four years of work, around the age of twenty-seven, you spend more time directing others than developing yourself. Moreover, most people in this category should have "subordinates" at this age. Conversely, if you are almost 30 and still buried in coding and designing, or if you are over 30 and have not been promoted to department manager (even though you always feel hopeful), it can be basically determined that you are not this type of person. If you confirm that you are this type of person, your only thought should be to quickly climb to middle and upper management, because sometimes life is too random, and if you don't occupy your position, you might be replaced!
Simple suggestion: Go to your boss's house every day to clean and wipe the tables!
Path Four: Go abroad or pursue further studies.
I have two friends who went abroad after working in development. One even worked his way up to the position of chief engineer in a small company, with impressive skills in databases and software, but still felt insecure. So he painfully took out the money he had saved for years, spent it all on going abroad and airfare, and then borrowed some money. In 2002, he took $10,000 and ran to Canada, where he repeatedly searched for jobs, changed jobs, and then searched for jobs again. The jobs he found were basically unrelated to computers, but the salary was always around CAD 1,500, which, when converted to RMB, was basically the same as what he earned working in China. However, renting a basement cost CAD 300, and after eating and drinking, plus buying a computer to go online, he basically had to subsidize a bit each month. Recently, he emailed me saying that he now has about $5,000 to $6,000 left and is preparing to start a small company to see if he can bring something back to China for a final attempt. Another friend went to Australia a bit earlier, first picking grapes for over a year, and then finally found a technical job drawing mechanical blueprints, earning a decent income of nearly AUD 3,000, buying an old car, and living a capitalist life. However, when he returned home two years ago, his only lament was that living on $2,000 abroad was definitely not as comfortable as living on 5,000 RMB in China.
There are also two friends who pursued further studies, but one of them is not strictly from a development background, leaning more towards market-oriented work. However, among my friends, there are not many who pursue further studies, so I can only mention two. One found a job in Beijing after pursuing further studies, earning 5,000 to 6,000 RMB a month, but still doing development work, and his life has not changed at all compared to before pursuing further studies. The future still seems dim, and he is still unclear about what he will do next, living a standard day-to-day existence. The other friend found a job at a university after pursuing further studies. Although his salary was significantly lower than what he earned before, he at least secured a stable position for life, which can be considered a successful outcome. Once this guy relaxed, he also started to think about what he could do in his spare time, and it seems he is slowly starting to have some ideas now.
Simple suggestion: These two paths are not particularly good for developers. Going abroad was a good thing ten years ago, but now it's hard to say. The probability of successfully transitioning after pursuing further studies is probably not very high; most still end up doing development, just with a few more years of experience.
Path Five: Transition to marketing.
Thinking hard, I only know two developers who went into marketing. These two cannot be called friends; I just know them. They both actively requested to move to marketing, and as a result, both worked in marketing for about a year before starting their own companies. Haha, it's strange; the success rate of transitioning is extremely high! But upon careful thought, I admire their mindset immensely. To have the determination to give up a monthly salary of 5,000 to 6,000 RMB in development for a position they are not familiar with, earning only around 2,000 RMB plus commission (which is often uncertain), this decision can only reflect their clear grasp of their future and their cunning strategy. Moreover, they did not go into service or production but instead focused on persuading leaders to enter marketing (the marketing and development departments are usually the core departments of a company, and entering is not easy). It can be said that they have long-term considerations. With technical skills, making friends with clients should naturally create significant opportunities.
With strength, cunning, and strong determination, these people probably decided on their life paths long before graduating from university. Every step they take has been meticulously planned years in advance. Now it seems: learn technology → enter marketing → seek business opportunities → start a company, a very clear life path. But just like when we were in elementary and middle school, everyone knew that going to university was the clearest life path, yet only a few could truly reach that goal (of course, the current expansion of enrollment is another matter; I mean back then, "a long, long time ago, when I was your age").
Simple suggestion: If you are this type of person, my suggestion is: ... hmm? ... You, don’t go! I have something to ask you to sponsor...
Path Six: Start your own company.
Haha, seeing this point, I can tell your eyes have widened. You must have thought about this a thousand times, right? Ahem, actually, when I was working in development, I also dreamed of this every day. Always thinking that in a couple of years, I would find an opportunity to start my own business, this dream tormented you year after year while giving you hope. Look, many developers later started their own companies, some succeeded, and many failed. Usually, starting a company begins with a few partners, some doing technology, some doing marketing. A few people hit it off and conspired together for a big event. Generally speaking, for these few people to make the decision to take this step, the product must be advanced, even unique in the country, and the market must be large. The person responsible for marketing usually guarantees that they can sell it and secretly tells you that a certain supervisor is the classmate of his uncle, so there will be no problem. So, you all find a location, register a license, buy a few old tables, and gather a couple of computers, each contributing a few thousand. The company is established!
The product quickly comes out, and the marketing person lives up to expectations, with a few clients expressing interest in trying it out. Everything seems normal, "....... you sit at the boss's desk, and people keep coming to report work or ask for your signature... amidst the comings and goings... you remember the story that the company can't only have one chair even if it's poor..." You laugh out loud in your dream.
It goes so smoothly; you quickly get orders, and soon the little money you gathered is not enough. You are all happy and increase your investment again, counting the money with tears in your eyes, saying, "This is my hen that lays eggs." Your product is indeed good, and the market is doing well; clients gradually increase, and orders come in one after another. You are excited every day, but the only downside is that it seems clients always delay payments. However, clients assure you: in a few days, in a few days, they will pay you. Since the payments are always unexpected, you gather some money to ensure smooth cash flow. At this point, you have some worries because your savings are nearing zero. "It's okay, in two months, when the payments come in, everything will be fine. Who doesn't suffer a bit when starting a business?" You comfort yourself and throw yourself back into work. The funds are always walking a narrow bridge between payments and production costs, and your account never has much money. The expanded company size and many unexpected situations lead you to invest your own funds again and again with your partners, and of course, the later money might already be borrowed...
Finally, one day, your accountant tells you again, "Boss, there's no cash in the account." After suffering several times, you finally decide to start paying attention to cash flow. You lay off some unnecessary staff, reduce development investment, require marketing personnel to pay a percentage upfront when signing contracts, and also start controlling production costs.
Days pass, and because competitors have also copied your products, your products gradually become less advanced. Marketing personnel begin to complain that the company's contract funding regulations are too strict, making it difficult to sign contracts. The decrease in production costs usually leads to an increase in product defects, and clients also start to complain that your service personnel cannot provide timely service.
Finally, one day, you walk back into the talent exchange center. Previously, you came to hire people; now you are looking for a job with your resume...
The success or failure of a company is related to the product, related to the market, but more importantly, it is related to funds. Both product and market can be compensated through funds, but nothing can replace funds. For any company that has collapsed, 99% are related to the break in the cash flow. Before you decide to start a company, first estimate the amount of funds your company will need to support for a year, including labor costs, production, location, advertising, market expenses, even electricity and water fees, etc. Add everything you can think of together, and the value you get is... slow... If you have no actual experience running a company, you need to multiply this number by 3, and then you will have the minimum amount needed to run your company for a year. Haha, the actual money needed for a company's operation is more than three times what you imagine; if you don’t believe me, I can’t help you.
Simple suggestion: Before starting a company, the most important thing is to establish your subsequent funding sources! That is to say, what will you do when the money runs out? — because the money you invest will definitely not be enough.
Path Seven: Second career.
There are quite a few friends like this; they have not left development work, but in their spare time, they keep taking on projects or selling products. In the workplace, they do not stand out, and compared to others, they are among the least willing to work overtime. Therefore, they usually work diligently during the day. These people may not necessarily earn a lot of money, but on average, they usually earn several tens of thousands more than their colleagues in a year. Sometimes they even earn more than their regular job. But it is puzzling that these people pay more attention to stability in life; I have hardly seen them jump jobs, even if they have secretly started a small company, they usually do not resign.
Are there people like this around you? It’s easy to identify them:
-- They receive many phone calls and prefer to leave the office to find a secluded corner to talk. They give off a mysterious vibe that makes people wonder, "Does this guy have a mistress?" These people are the best choice for women: very family-oriented, unlike those wealthy men who are prone to infidelity, and compared to the average person, their income is relatively high. However, after summarizing a few of these developer friends, I came to a disappointing conclusion: these people are usually not tall and have a barrel-like body shape...
Simple suggestion: This seems to be the best path for developers, but the relatively high income usually makes these people unwilling to take risks... So far, I have not met a single one of these people who can truly be considered successful.
Alright, although my experiences are far from rich, and I have nothing to be proud of, perhaps because I am a few years older than other friends and have seen more people, I dare to write down the above words for you.
Below are some insights I have summarized from my journey in development; you may choose not to read them, but if you do, please don’t open your mouth too wide:
- Whether working for others or for yourself, you must work wholeheartedly because any bit of work you do will add a little more leverage to your life. This is the most important! I can at least cite two examples: excellent developers being poached by new companies and given shares, becoming shareholders of the new company. Many people who worked in the same department or earlier with such developers often slacked off, doing as little work as possible, sometimes even mocking the hardworking person as foolish. Years later, who is the real fool?
- Make more friends with marketing personnel. You may feel that they know less than you, or even have lower quality, perhaps a bit crass. But in reality, they understand society better than you! Join their circle, gamble with them, chat with them, go to the sauna with them, and you will be exposed to another world through them.
- Opportunities are far more important than money; making money is not particularly important when you are young! Whether in real life or online or elsewhere, if you have the opportunity to participate in projects or product developments outside of your main job (including your friends inviting you to do some small business or non-development-related work), even if it is just helping out, you should actively get involved. At the very least, you will make many friends, and your life will open up many opportunities.