Ten years ago today, on the last day of 2006, I arrived in Beijing. I dug up a blog post I wrote ten years ago, “I can’t Find north in Beijing” :

I remember when I just arrived in Beijing, it happened to be the first snow of winter in Beijing. I didn’t know which door came out of the West Station. It was probably the worst one. I stood outside the door and began to look at the strange city. The snow outside melted and stirred into a dirty slush that soaked my shoes. Call my classmate and ask him to pick me up. He asked me which door I was at, and I said I didn’t know. How can I find north when there are no stars in the sky?

I remember I was a little embarrassed at that time. I lost my wallet, ID card and all my cards before I came to Beijing. I borrowed 1000 yuan from my friend. Fortunately, I didn’t need an ID card to buy a train ticket at that time. I was also glad that the sun Zhigang incident led to the abolition of the compulsory asylum system, otherwise I might have been dragged to Changping to screen sand.

The second day of New Year’s day, received my five uncle telephone, was heavily criticized half an hour, good law is not engaged in, not to engage in the computer. I remember at that time I was full of grievance, but I could not give a reason to persuade uncle Five. To tell the truth, I did not believe that my choice was right. Because he was neither born in a programming family, nor talented. Only in college did I get to know the computer, so I explored the Internet by myself, audited the courses of the information institute and tamped around for two years. At least I could write some programs. I met a friend in the online forum and asked me to write programs as an intern in his company, so I came to Beijing.

Ten years have passed in the blink of an eye.

Ten years ago, there were only three subways in Beijing. Ten years later, they were everywhere.

Ten years ago, Beijing often sandstorm, I also wrote an article of sandstorm and hometown sandstorm comparison, now there is no sandstorm, haze has come.

Over the course of a decade, I’ve had a few jobs and a few start-ups, and I think I’ve grown into a GeraldM.Weinberg professional programmer. I don’t worry that I can’t compete with the regular army when I start out.

In the past ten years, I gradually understand the ideas of the previous generation to a certain extent, and have a deeper understanding of the programmer industry, so here is a simple summary, as a solution to the choice at that time.

Programmers, we generally call themselves code farmers, called software engineers according to the title, according to class theory should belong to the working class, similar to senior technical workers or artisans. But the biggest difference from other skilled workers is not that it is primarily mental work. It is the work of engineers — software that can be copied cheaply. This is difficult for traditional engineers and craftsmen to achieve, the construction engineer built a house, if you need another one exactly the same, you have to do it again, while the software engineer just copy and paste.

There is only one profession in history that can do that, and that is writer. And then, as the phonograph, video recording and television matured, artists emerged, eclipsing even writers because their work reached a much wider audience. But literary workers themselves do not engage in direct productive work, and software engineers are the first productive jobs with the ability to reproduce works. This ability to replicate works can be used by tens of thousands of people at the same time, for a small fee per person (or even nothing, through advertising and other means), allowing producers to make a lot of money. Therefore, from this point of view, the outbreak of Internet software industry and the rise of software engineers are inevitable.

This may sound like nonsense to people in this industry, but people in other industries may not understand it. I remember when I was still on Weibo, a friend once told me that she saw that I often worked overtime, so she stopped her classmates when they wanted to register for weibo, saying that they were afraid of increasing my workload. I couldn’t laugh or cry. So I told her that for software engineers, after the system is developed, there is no difference between one person using it and many people using it. The biggest hope of engineers is that as many people use it as possible.

But will the community of software engineers end up like artists, where a few top artists dominate the market? The question was still being discussed on Weibo that day: why do top code farmers earn less than top entertainers? Personally, I don’t think it’s possible. Software itself is an industrial product, not an art product. With the same function, there is no big difference between the software you write and the software I write, but there is a big difference between the art product and Andy Lau singing the same song.

Because of this feature, software can be done by multiple people, with product managers, software engineers, and designers working together. Software engineering teams are generally good at creating software that goes from zero to one, but the reuse value can only be realized if the software is distributed to a large number of people and enterprises, which requires the help of operations and marketing. In addition, the life cycle of software is shorter than that of literary works. Although software is protected according to copyright, the music of 50 years ago can still be listened to, and the code of 50 years ago is probably scrap. Therefore, the Matthew effect in the software industry is much weaker than that in the field of literature and art. The positions of members at all levels of this profession are in a trapezoidal structure, and the polarization is not as serious as that in the field of literature and art. The career with this structure is more suitable for individual efforts, and the gap between talent and luck can be made up to some extent through efforts. You’ll always find someone better than you in this industry, but you’ll always find your niche. Can you switch to product manager if you have to? :).

Since the biggest “magic” of software engineers is the replicability of works, the resources and talents within the software industry also flow to the field that can best play this characteristic, which in the first decade was the Internet. Ten years ago, the status of Internet companies was still as strong as it is now. At that time, computer graduates generally preferred software companies. Internet companies did not feel so professional in software at that time. I, too, had been brainwashed by J2EE that the Internet was not a true enterprise application. Ten years later, Internet companies had basically reconfigured the infrastructure.

Now it seems that the advantage of the Internet model lies in the abstraction of the most common requirements into general standardized products, and then relying on standardized distribution channels, maximizing the reusability of software products. Before 2010, Web and browser assumed the role of distribution channel, but after 2010, with the gradual popularization of mobile Internet and standardization of mobile devices, iOS and Android application market became the new standardized distribution channel.

I remember ten years ago, when I was about to leave school after graduation, I had a chat with one of my classmates about imagining what I would be doing ten years from now. I said I should be writing code in Zhongguancun in slippers, with long hair and a laptop on my back (that was before I had one). The bold assumption was that by the end of the decade, at least, computers would be ubiquitous in cities. But I never imagined that ten years later, even my rural hometown would have handheld computers — smart phones — connected to the Internet.

Internet software technology developed to this extent, most people have become Internet users, has not reached the peak? This depends on whether there is room to improve the reuse efficiency of software, whether the coverage of the field can be expanded. In recent years, cloud, container, SaaS are all trying to build standardized enterprise applications, so that enterprise applications also give full play to the reuse value. This year’s hot AI, in essence, is to solve the contradiction between the standardization caused by software reuse and the need for personalized scenarios. From this perspective, the Internet software industry is still far from the peak, the gap between enterprise applications and Internet applications is becoming less obvious, and the revolution has just begun.

If so, can everyone in the software industry rest easy? But no, software engineering is one of the most anxious professions, at least. I remember from the beginning of the industry, there was a saying in the group of software engineers, “software is to eat youth, after 30 can not write programs, we should consider changing careers as soon as possible”. Suddenly, I was in my thirties, and realized that with my talent and experience, programming before the age of 30 was still largely unfathomable, driven by demands and business pressures. Only after the age of 30 can I slowly see farther and understand more deeply. I feel like I have an Epiphany when I look at some problems. I’ve been thinking about where this came from, and the topic of older programmers came up at the GIAC conference the other day, and left Ear Mouse wrote an article about it. I think the point is that software engineering is a profession with no “barriers” to entry.

There is no threshold here is not to say that there is no difficulty, but there are few outside access threshold, marketization degree is relatively high. For example, the lawyer should have lawyer qualification certificate, even drive a fast train, the government requires a Beijing registered permanent residence, never heard of writing procedures need a Beijing registered permanent residence? Again for instance you place an booth, still must do all sorts of card, be chased by city tube otherwise, but you write a program to put application market to sell, what certificate does no one want you to do? At the same time, all attempts to erect barriers to certification were quickly abandoned by the market because of the rapid development of technology. For example, software engineer certification, architect certification, in my experience of job interview, or interviewing other people, none of the certification was required, even if it was written on the resume, not a single certificate was used.

Technology update speed lead to another result is that the low level of industry experience and skills are easy to be eliminated, if the engineer can’t summarized from existing practical experience to a higher level of abstraction, experience can not be converted into learning ability, it is easy to fall behind in a new round of technological change, then we are in the same starting line and other new lines of engineers. And this time energy can not catch up with the new, overtime fight but the new, learning efficiency if not as good as the new, the salary is higher than others, with what and others competition? However, in other industries, the admission system is a means to protect practitioners, and the level of qualification certification is a means to protect old practitioners, so the degree of anxiety about age is much lower than that of engineers.

But on the other hand, it is this complete market-oriented mechanism that promotes the development of the industry. Software engineers are the most learner-loving group I have ever known. There are so many technical conferences and meetups every year, and most of them are in holidays. No statistics, but I would say that technical books are probably the best selling industry books. Other professions say that learning a lot means how to deal with exams.

From this point of view, the career model of software engineers is a more advanced model. The requirement of marketization is to break all kinds of barriers, including professional barriers. At the same time, software engineers are helping to break down barriers in other industries. Before the Internet, writers were still required to be certified in China, but now “national first-class writer” is a title ridiculed on Weibo. In other words, with the progress of technology, other industries will also gradually develop in this direction, but the group of engineers ran ahead and experienced the training of how to deal with industry changes in advance.

Our previous generation expected a stable career, and hoped to have a stable career roadmap. They hoped that the career could give them an identity, belonging to a certain group, such as XXX unit. But my generation thinks differently, and the problem with expecting stability in the future is boredom, and we’re so afraid of boredom that we choose change. However, when the company is changing, the team members are changing, the technology they are engaged in is changing, the place they live may also change, and the housing price changes every day, they will start to worry. The word “drift” of “North drift” accurately describes the state of no root, no anchor, no place to cling to.

At this time, we need to find a coordinate, which may be the concept of a certain technology, or the belief to solve problems in a certain industry, or some responsibility. In popular speaking, it is something that can be called my career. And this coordinate, at the same time, is the reference point when facing the choice. Change also brings with it a variety of choices, whether to learn the new technology, whether to start a business, whether to join a company. It is said that “choice is greater than effort”, but without this reference, when we make a choice, we will haggle over every ounce, hesitate and wander, and fall into anxiety again. Since the future is unpredictable, we should choose a direction that we will not regret if we make mistakes.

In the last ten years, I have made several friends in Beijing, made some peers who are in-depth in various fields, and set up a family. I have no great achievements and I am not too bad luck. I have gained a lot from the leaders I met in several companies, and I still take pleasure in writing codes. Thank the Internet. Ten years ago, I could not find the north in Beijing, but NOW I dare not say I have found it, but I have more confidence and less hesitation.

A link to the


  1. Technicians on the road to development left ear mouse article
  2. I can’t find my article ten years ago in Beijing