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."
ConversionConversion EmoticonEmoticon