P8 programmer income


Millions of annual salary dug a P8 programmer, is it a "parallel imports"?


The building moved into a startup company. The boss greeted the fruit basket and went upstairs to visit. He said that he had just received the investor's money and was preparing to expand the team. At that time, he was full of ambition and hoped to shine. At that time, I thought that companies that could get investment in this environment should have promising products.

I didn't expect to see it in the elevator a few days later, but I found that the boss had no previous style and was full of sadness all day long. After he saw me in the elevator, he asked: "I remember that you are doing technical media.




It turns out that the crux of his trouble lies in:

After our company got the investment, the staffing was in place in time and the speed of business expansion was still very fast. It didn't take long for our technical team to tell me that the current business development momentum is better, the existing technical structure can't keep up, and some technical cattle people have to recruit the team to be responsible for the overall architecture planning and upgrading.

I am not a technical background. I used to hear about Alibaba's P8 and P9 in various forums. The technology is so powerful. I think this level of programmers should be able to meet our needs. So I used a million-year-old offer to smash an Ali P8 to our team to do CTO, but now the problem is not solved, but more complicated. The technical team people think that his name is not true. He thinks that we are looking for him to be mixed, not happy, and two chaos.

I asked him, do you think he is not good?

He only writes Java, we use Go;

He will only engage in the back end, and the front end does not understand;

His algorithm is not good, we have to do recommendations;

He only writes the Web, we do the App;

He only knows how to use open-source tools, we have to make our wheels;
......

"That is equal to him, which is not what you mean?" I asked him.

Yeah, I didn't expect the Ali P8 to be so watery.

"But what you want to recruit at the beginning is not a CTO that can restructure your system architecture and repay the technical debt?"

Is this a difference?

"The difference is big. You are going to make the front-end and back-end all the time, but also to be proficient in various programming languages, but also to be able to engage in mobile development. What you want is a full-stack, not a CTO. How can the CTO do these? Work, you want to let a person screwing the screw in the big factory line to block every hole, it is impossible."

Cooperating with my money, what?

"It is not a white flower. BAT has a set of streamlined online and offline development management mechanisms. Generally, it can rise to P8. The possibility of encountering parallel imports is relatively small. Your problem is the demand and recruitment direction. If you don't match, you have to recruit a full-stack engineer. The technical experts of the big factory are the assembly line. The difference is big. You listen to me and analyze and analyze with you."

1 Dachang programmer: screwsmith working on the assembly line

As an industry, software engineering has been in existence for more than 50 years. Software development has been a very mature and mature industry under the wave of the Internet. In the first-line Internet companies, such as Silicon Valley's Google, Facebook, Amazon, such as China's Alibaba, Baidu, Tencent, etc., its software development is already a streamlined operation.

As mentioned in the previous article of Alibaba, as one of the most representative Internet companies in China, Alibaba's software development has formed a scale effect, which is directly reflected in the software the development model is a complete streamlined operation...

Process and standardization are the biggest features of Dachang software development. A complete requirements development process is as follows: 1. Pre-review, review; 2. Summary design and review; 3. Test case writing and review; 4. Development; 5. Test and bug fix; 6. Release; Summary / Summary of the project process. In the process, each developer has his or her duties, screwing the screws they are responsible for.



After many newcomers join the technical team, there is usually, a senior employee who can help them integrate into the work and master technology more quickly. In general, the tasks of newcomers at the the beginning is written from simple programs, such as migrating part of the system code (migrating from the upstream system to the downstream system), doing some simple small requirements (such as modifying bugs, adding a field) Wait).

These demands seem simple, but they are not. Because even if it involves a line of changes, you need to carry out a large number of tests to cover, many people think that these should be tested, but in fact, the test can only be carried out for the black-box test, and the test program for the code must be better than the development So the tests on these details are all done by the development self-test. Therefore, often changing a line of code, development may take half a day to test in a variety of ways.

Not only the test, but the Ali technical team also started a large organizational restructuring around 2016, which is to hand over the daily operation and maintenance work to R&D. The original PE (Production Engineer) either transferred to the tool platform to develop, or as an operation and maintenance expert to do product planning and design, and some can not adapt to just leave. This is the most important process for Ali Yunwei from tooling to automation.

Scale, process, and automation. These keywords are put together. You may think of the production workshop at first glance, but in Alibaba, this is an effective software development model that has been precipitated by its technical team for many years...

Alibaba is relatively a business-driven company. The project has priority in business and its importance to the team is self-evident. In Alibaba, this is a matter that requires multi-person development and teamwork. For large Internet companies with a large number of R&D personnel, the front end should look for the front end, and the back end should look for the back end. After the scale, the requirements are not all talents, but professionals.

The bigger the Internet company, the more the programmers do the more mechanical, the screwing work of adding, deleting, and checking on the software development pipeline, but these people passed the "interview nuclear bomb" before entering the job. The screening came in. The higher the level of technical experts, the less likely it is that parallel imports will occur. Similarly, he will not be able to become a full-stack development for a small company. Whatever results will be a little bit, that is, nothing is fine.

After the product scale goes up, the complexity of each module is very large. The whole stack may not be suitable. After the scale goes up, some projects must be split and maintained by special personnel. The existence of the whole stack is of little significance. Big companies pay attention to special posts, you just have to do your own thing, even if you leave, it is relatively easy to find someone to replace you.

"So you want to dig an Ali P8 to do the full stack your company needs are unrealistic, you can't solve the problem of burying the line."

What is the technical adjustment of the small company?

2 Full-stack development for small companies

 "People mention the 'full-stack development engineer', everyone's impression is definitely: this person can be called the god! There will be a lot of technology, the front-end back-end is proficient, do not master seven or eight languages are embarrassed to say hello, hot technology The nouns all know, and they will all be a little bit, and everyone can talk and laugh."

Right, we want someone like this!

"But, the whole stack engineer is more like a myth. Everyone's energy is limited. You need people to be proficient in the front and back. You can write code and do the test and operation. You can write the website and write the app. You are not going to heaven?"

The above is a technology stack that should be mastered by a full-stack engineer. You can check how far you are from the full-stack, and then think about whether the whole stack engineer is a dream or a reality. This is still the same as the replacement cycle of smartphones, which is like the replacement cycle of smartphones. The skill table shown above will add new components every layer every year, and new layers will be added every few years. Full-stack, are you all over?

The full-stack engineer, to a certain extent, is more like Murong Fu in Jin Yong's novels. When he first appeared on the scene, he would have a halo. Later, with the development of the plot (business), it was forced to fall straight and was laughed at by the martial arts fellows.

Startups generally prefer to recruit a full stack, which is related to the needs of startups, because of companies in the early stages of an an entrepreneur may need to work alone for a few people. Also, it is possible that the boss is a technical origin and understands the huge communication costs that need to be paid for the connection between departments, so there is less communication unit.

For individuals and companies, the definition of the whole stack is different. The initial company must hope that the breadth and depth of the full stack technology can meet the company's business requirements, and essentially just want to do it all. But for the individual, most ordinary people have limited time and energy. It is difficult to be professional in breadth and depth. If it is just to meet the needs of the company, the result is that the company has money after the project is developed. The whole stack is almost out of the way.

For startups, to suppress costs, the full-stack needs to be fully understood. After all, a good programmer is not cheap. It can be a good idea for a person to do two or even three people for cost control. However, explicit cost control, hidden costs?

"You didn't think about it. When your project is at a critical moment, such as going online, or getting a bug on the line, this minute is tens of millions of water, and your technical team has a problem because of the lack of someone. You rushed to find your full-stack CTO, but he said: Wait a moment, I went to Stack Overflow to find out what is wrong with this. Are you crashing?"

Uh……

"At the meeting, Stack Overflow is still good. If he is a full-stack for Baidu programming, you will only cry."

Going a step further, a more complex project, if a full the stack is gone, the project will be greatly affected, and it is difficult to recruit another full-stack that exactly matches the project. We have seen too many startup companies because of the key personnel of the technical team directly lead to the failure of the project, the more you want to save money, the more you can save money.

Listen to what you said, how do you feel that the whole stack is so unsightly?

"Neither is nor not. You are the bosses, always think that they are writing code, there is no difference between the front-end and the back-end. Java and Go are no different. This is the biggest misunderstanding in itself. The full-stack engineer must have its meaning. But if you want the full-stack engineer to do everything, the 996 is not so embarrassing for you. The full-stack engineer may be a future development trend, but now those resumes are written on the full stack of programmers, The big probability is what you think in parallel."

Previous
Next Post »

ConversionConversion EmoticonEmoticon

:)
:(
=(
^_^
:D
=D
=)D
|o|
@@,
;)
:-bd
:-d
:p
:ng