I often think that programmers are different pianists, when the hands on the keyboard beat, and then with a green axis of the mechanical keyboard, write is a score ah.

Work overtime

“Turn left ahead, turn into the viaduct of Wanping South Road, take lupu Bridge…” After working overtime, I called a didi. It was already 1:00 in the morning. Usually I would take a taxi and look at the lights and night scene outside the viaduct window. I’ve worked two weekends in a row since National Day, at 21:30 or even later, just like today.

Why work overtime? Because I’m a programmer. I am in a hurry to catch up with the schedule of a project. The so-called business of the product, which takes 3 days to sort out, needs to be developed and launched within a week. National Day after the first weekend we spent a day over demand, the so-called transfer of product demand, we spent a day on Monday in the second week of split the business specific to the individual, and then forecasts the development cycle, detailed to the people, the last we found that this is a mission impossible, unless you don’t sleep about 24 hours a day. Because of a dozen products, their requirements chain is integrated into a complete product requirements, rather than iterative. It will take at least a month to finish this set.

However, the product will not pay attention to these, because their demand has been given, PRD has been handed over, their task has been completed, whether the subsequent work can be completed on time is not their responsibility. If the project is delayed to come online, the top leadership will not come down to them. Then I wondered why I didn’t choose product.

sandwich

Programmer, you’re a sandwich. Why do you say so? Mainly because programmers have product managers upstream and testing downstream. You can pick and choose what you want, but you can’t say no. You can say, ‘Is there something wrong with your operation? ‘But you can’t say,’ I’m not going to fix it, ‘and then you have to do it yourself and look at the log to locate the problem. You can’t be offended on either side, because you’re the one who finally gives in.

In fact, if you want to seriously say, testing is actually very helpless, because testing is in essence to clean up the mess programmers, programmers developed products to do a physical examination. Testing is also required to work overtime before the project goes live. If programmers work overtime because of product requirements, then testing overtime is determined by the number of bugs programmers have. Be kind to your tests, as painful as it is to be accused of being wrong.

Here mainly talk about the product manager for so, I didn’t want to denigrate product managers, after all, everyone is the product manager, maybe want to turn a product manager, programmer, after all, often hear people persuaded, “would you like to have the product of thinking, don’t always from a programming perspective”, does the programmer is always easily trapped in their own code in the world. There are many products with God thinking in the world, such as Zhang Xiaolong, the father of wechat in Tencent, netease’s netease Cloud Music product manager team and so on. Every industry has advantages and disadvantages, but many also suspected of mix, product manager in “competing goods have these features, we also need to have” slogan, when there is a logical flaw, “let me take a look at competing goods is what kind of”, even before the Internet happened “can change color theme with following” fistfight event and so on. Should the product also have a little programming thinking?

The way of programming

Programmer, how did you get into programming? Programmers have always been a group of people concerned, with the rise of the national Internet entrepreneurship boom in recent years, the rapid development of “Internet +”,” cloud computing “, “artificial intelligence” and “blockchain” and other fields, the market demand for programmers is more robust. The Internet, big data and artificial intelligence have made IT talents hot, and wages in the industry are rising. In recent years, training institutions are also making a lot of money. Every year, training institutions transfer millions of IT personnel to the society.

Why do so many people keep piling into the industry? Is it love? By combing the changes of industrial wage level in the past decade and the wage level of Internet technical talents in different cities, we find that:

  • The IT sector has topped the financial sector for three consecutive years.
  • The average salary of programmers in first-tier cities is nearly double that of those in second-tier cities.
  • The number of people pouring into the industry is very large, but the technical level is uneven, and the high-level technical personnel required by enterprises will still be hard to find.

In fact, for most people, compared to other fields, programming life is boring, even for students and friends who are very interested in programming. A lot of people say it’s gratifying to see their product running smoothly online. I just want to say, ‘I envy you, you’re so young.’ When you have experienced years of development, dragged down by the seemingly changing but mediocre business, haunted by the trivial things of life, approaching 30, your parents are getting old, your marriage is pending but your hair is getting thinner, your mortgage is pending and your tuition is coming… After all this, can you still keep your mind so pure?

Most people, perhaps just love the high income it can provide, after all, to support themselves, supporting life is the most important. To find out, ask yourself this question: “Do you want to stick with programming when it doesn’t bring you the salary you want, or when it leads to a more interesting career?”

Many people say that programmers are paid well, but in fact programmers are paid by the hour, leaving work on time every day is a luxury, how much does the average translate down to? After you work, you will find that the year is by the month, pay 12 times, a year has passed, change two or three companies, 5/6 years has passed. Are your skills up to speed in such a fast-paced life? Many people have less than three years of actual project experience after five years on the job. Programmers need to recharge their batteries.

Professional characteristics of programmer

A programmer’s life is rarely well-organized. His skin is rough, his hair is loose, his nose is bulging, his plaid shirt is forever, and his feet are mostly sneakers.

1. Gender ratio of programmers

Historically, the group of programmers has been predominantly male, with very few women. The survey found that the male-to-female ratio among programmers is still nearly 12:1, which is strikingly similar to the inn’s 2016 survey (92.62% to 7.38%). This “skewed” male-to-female ratio explains why many programmers call themselves “single”.

Among them, 40.7 percent of male programmers and 35.6 percent of female programmers are single.

2. Age and marital status of the programmer

Nearly half of all programmers are between the ages of 25 and 29, and less than 10 percent are over 35. According to a brief History of China’s Internet Development by Sohu, China was officially connected to the Internet in 1994, and the last big wave of China’s Internet was in 2009, when the PC Internet was transferred to the mobile Internet, and the number of Programmers in China was booming. This also explains why most Chinese programmers are between the ages of 25 and 34.

As can be seen from the chart above, the vast majority of programmers under 24 are single, the coders generally marry later, and even 20 percent of those in their 30s and 40s are unmarried.

3. Regional distribution of programmers

The major Internet companies are located in Beijing, Shanghai, Shenzhen and, more recently, Alibaba’s Hangzhou. As can be seen from the map, Beijing (17.18%), Shanghai (11.04%), Zhejiang province and Guangdong Province have the largest number of programmers. According to the survey sample data, Hangzhou (13.50%) in Zhejiang Province has the largest number of programmers, while Shenzhen (8.59%) and Guangzhou (9.52%) in Guangdong Province have the largest number of programmers. There is a popular phrase among programmers, “flee From Beijing, move to Guangzhou”, and it is clear that the number of programmers in Hangzhou and Shenzhen is increasing compared to the 2016 hostel survey report.

4. Nature of programmer company

Nearly three-quarters of programmers work in private enterprises, and nearly 10 percent are freelancers, compared with 4.2 percent in state-owned enterprises.

5. Current situation of programmer job-hopping

Nearly 80% of programmers have job-hopping experience. Among them, 15.2% had one job-hopping experience, 20.5% had two job-hopping experience, 21.1% had three job-hopping experience, and 14.7% had five or more job-hopping experience. According to the survey, the main reasons for programmer job-hopping include lack of development space, not meeting expected expectations and higher salary.

In recent years, programmers are good at language and career direction

Good at language

Professional direction

Java (41.4 percent), JavaScript (38.6 percent) and PHP (22.4 percent) are the most popular languages for programmers. Python (15.2 percent), C (14.3 percent), C# (13.3 percent) and C++ (12.9 percent) are also the most commonly used computer languages. Combined with the career direction of more than 4000 contracted developers in the background of programmer inn, it is basically consistent with this survey. (Note: this item is multiple and the total is greater than 100%).

7. Programmers’ satisfaction with the current work situation

According to the survey, the vast majority of programmers have a neutral attitude toward their current work situation, and nearly 30 percent are not satisfied with their own salary, with colleagues being the most satisfied.

8. Programmer’s part-time job intention

To sum up, China’s first-tier cities are still the main clusters of programmers. Some second-tier cities with developed economy and dense technology companies also have a large number of programmers. When it comes to computer languages, Chinese programmers excel most in Java, JavaScript, PHP and Python, which is in line with the world’s popularity of computer languages. In terms of salary, The salary of Chinese programmers is relatively high compared with other industries, with an average annual salary of more than $15 million. Nearly 50% of Chinese programmers rent a house for more than $1.5 million, and their housing conditions are relatively high.

In terms of work, 76.6 percent of programmers work in the private sector, and nearly 10 percent are self-employed. 77.2% of programmers have job-hopping experience, and their salary increases after job-hopping. Although Chinese programmers usually work under great pressure and often work overtime, it can be seen that they are quite considerable in their work status and do not hold a lot of negative emotions.

Challenge and Improvement

The IT industry is an industry that needs to constantly challenge itself, which makes many people want to try and challenge. The work in IT industry belongs to mental work, which requires continuous efforts to overcome difficulties. In addition, in the process of work, I need to constantly update my skills and knowledge to keep up with the pace of The Times. In this industry, practitioners need to constantly break through themselves and improve themselves step by step. It’s a continuous learning process.

I was talking to an ex-colleague, and he’s very anxious. Two years ago, we met in XX Company. It was the first time FOR me to jump ship and join the new company. His position was intermediate. Programmers get along with each other in fact very simple, there is no workplace competition, there is no infighting, strong ability is also willing to take more difficult work, there are problems also consult each other to solve. The main reason is that we are similar in age, including the group leader and architect, as well as several of our r&d, the age difference is between 4 and 5. I worked late every day, but the atmosphere was good, so I didn’t feel tired. Eat together, work together, late at night after fixing the bug and so on after the release of the operation and maintenance version of the gap time, seven and eight scattered Ge You lying, chatting and playing pesticides. Young is good.

However, in less than half a year, the project changed and went to pieces. The architect went to Lujiazui Financial Company and the team leader went to Chengdu to settle down. Considering my own technology and development, I finally left, and I spent a week to complete the design and development of the new requirements before leaving, I think it is better for those who leave voluntarily to complete their own tasks, leaving no mess to those who take over later. Programmers have been so hard, why bother programmers.

We met again this year. He had not changed his job and was still in the same place. He said that after we left, there were two other colleagues who stayed behind. He complained that although the company upgraded him, his salary did not increase much. I communicated with him about the technologies used in the adjustment of the project architecture after the change of staff. He said that we had changed Springboot and MogoDB, and the development tools were all unified into IDEA. Is that all?” “” Yeah”, he said he dare not leave now, said I did not expect to see you two years more capable than ME. In fact, I am not stronger, I have been walking, and you are in place.

As can be seen from the development of the Internet in recent years, the industry has been changing, the tuyere has also been changing, and the technology is changing with each passing day, springing up like a bamboo shoot after a Spring rain. In 13/14, a large number of people are recruiting Java backend, basically familiar with Spring, Mybatis, SpringMVC, Mysql/Oracle, You can find a good job with JS/Jquery. In 2015 and 2016, the popularity of mobile Internet led to a large number of enterprises recruiting Android/IOS, and the idea of front and back end separation became popular in China. Front-end engineers also started to make efforts, and angularJs, HTML5 and back-end big data engineers were in great demand. 17/18, Blockchain Technology, Artificial Intelligence, Angular 2, React, Vue, Microservices Framework, SpringCloud… .

In a market where technology is changing so quickly, if you stand still, you are waiting to become obsolete.

Your life is boring

Why is programming boring, or to put it another way: what makes programming boring?

In fact, the reasons are as follows:

1. Same environment, same technology

What do you mean? Different from one world, one dream, if you stay in the same company for a long time, using a technology you know, working on the same project over and over again, isn’t it boring? If you work on a project for a year in a company, you just implement it step by step with the technology you know, without learning new technology and knowledge, and without improving your skills? Boredom will naturally follow, and it will be quiet. It may be meaningful work for the company, but for you: it’s repetitive, mechanical moving bricks.

2. Copy and paste……

In fact, it’s similar to that. Jobs are pasted and copied from the Internet every day, and that’s how projects are stacked. When a lot of people go off the Internet, they basically lose 80 percent of their programming ability, and the other 20 percent is still copying books. Many programmers do not think about programming, but simply copy and paste.

Of course, smart programmers will still encapsulate, they will put some commonly used tool classes, some methods, some controls to encapsulate, keep later standby. When the company develops A project and then DEVELOPS B project, it will be very simple. It will take what it encapsulates and use it directly. Is it boring to reuse or paste and copy mechanically? The answer is yes.

3. Repeated iteration and maintenance, as well as Bug modification

In fact, when a project enters the testing phase and later maintenance and iteration phase, almost 90% of the developer’s work is to fix bugs, not to develop new features, learn and use new technologies. Every day in the maintenance and update iteration of this project, in fact, the work is very boring.

4. An unthinking programmer

A lot of times, programmers don’t have a voice, especially in small startups, because the boss is basically the product manager, and you do what the demand tells you to do, right? You have to do what you’re told to do. Will not let you participate in the discussion of the product, of course, if the boss let you participate in, estimated because the product manager is the boss, you do not have what say and say.

Are you bored in a development environment where there is no individual thought or independent thinking? Just a mechanical tool to implement the boss’s ideas? Yes, you are a tool. How do you change that? It’s time to think about leaving.

When to quit

To be honest, as a developer, as a programmer, I believe that most people rarely stay in the same job for more than two years. In other words, it’s rare for a programmer to stay in the same job for more than two years at the same company.

A lot of people say that programmers are job-hopping more frequent career, every job-hopping will make the salary greatly or even doubled growth, so at this time there will be a lot of people jump out to say: programmers job-hopping purpose is very simple, is because want to raise wages. Here, I want to say: I don’t deny that there are many developers and programmers job-hopping is in order to get a raise, but I believe that as a responsible, ambitious programmer, job-hopping is not the purpose of the biggest pay rise, but in a better environment, better growth platform and development space, pay just jump process the value of the collateral.

Programmers are also human beings. When one’s ability reaches a bottleneck and the original company cannot provide good room for advancement, the advancement space is not limited to technology or management, one can consider leaving.

If I find that job-hopping can raise my salary, can I do it frequently? If so, I believe you will be unemployed for a long time or your growth will stop for a long time in the future. Technology also takes time to settle and digest. Interview is a two-way process. When the interviewer chooses you, you also have the right to choose the company. During the interview, you can ask reverse questions to learn more about whether the company is right for you.

As a programmer, technology is our leading force. Therefore, before joining the new company, we can ask the interviewer in reverse directions: the ratio of technical personnel in the company, the details of the project after joining the company, the company’s product development direction, and the main architecture technology at present. This allows us to quickly see if the company is right for us.

Generally, I can judge whether I can quit. If there is no special reason, I can judge from the following points:

  1. Have you fully understood the company’s projects and product logic? Can you explain it clearly in detail in the next interview?
  2. Whether all the technologies involved in the project have been well understood. Don’t stop at the surface of the stage, to understand the technology and understand the characteristics. Technology is a cumulative process, and as you know, technology updates quickly, so try not to go back and learn.
  3. Have a higher goal to pursue and think you are capable of achieving it now.

Programmer you are 30

Are you worried about your thirties? I think if you’re prepared before 30, you have nothing to worry about. If you’re afraid, you’re not good enough. If you have the 72 changes of Sun Wukong, will you be afraid of the demons and ghosts on the way? If you have right and wrong king Kong not bad magic, you will be afraid of the sword gun sword shadow on the river’s lake? Please don’t put a trap on yourself. Planning for a rainy day is what any professional needs to do.

When you don’t burn yourself out before 30 and keep accumulating skills, I believe that you can be confident at 30, because a capable person can go anywhere without fear.

One last word: Do what you can. People can have dreams, but can not be ambitious, unrealistic. In this world, mountains are connected, rivers are rippling, and there are people on top of people. The environment is different, the starting point is different, the satisfaction of their own heart, I have a hundred silver to eat and wear warm, family happiness and why care about other people’s hundred gold.

Afterword.

Programmer, are you tired? Then get some sleep. Wake up and fight again.


Personal public account: JaJian

Welcome long press the picture below to pay attention to the public number: JaJian!

We regularly provide you with the explanation and analysis of distributed, micro-services and other first-line Internet companies.