当前位置:网站首页>Hungry for 4 years + Ali for 2 years: some conclusions and Thoughts on the road of research and development
Hungry for 4 years + Ali for 2 years: some conclusions and Thoughts on the road of research and development
2022-07-06 08:17:00 【Non famous programmer】
author | Shi Jianing
“ The most important thing is to choose , The most difficult thing is to stick to .”
I was in 2014 You're hungry when you're in , From the front end and PHP Always do back end architecture and team , from 2014 Year to 2017 I was responsible for the company's customer service 、 sales 、 Agent 、 payment 、 Settle accounts 、 Order these business research and team ;2018 From the business R & D team ,6 Individuals form a group and engage in machine learning , Try to combine the actual business scenarios to transform the business through technology ;2019 Back to the platform ( Zhongtai ) Research and development , In charge of trading 、 Finance 、 Marketing, R & D and team work of the three centers . Based on whether I'm hungry 4 And Alibaba 2 Years of R & D experience , From a technical 、 Business 、 Share some of my thoughts on management and Architecture .
Technical level
For development students , Technology is the foundation of the body , Although often interview building rocket entry screw , But there's no denying it , Technology is the cornerstone of your business . Whether it's basic hands-on ability or problem analysis ability , Including your thinking logic and even the ability to recognize things , Technical thinking will affect you all the time . The most obvious effect is when you are faced with the nails of countless problems , Is technology your favorite hammer .
I focus on several technical aspects :
Basic skill ( Language 、 Coding level , It's mainly hands-on ability )
Practical experience of large-scale distributed system (RPC、SOA、MySQL、Redis、MQ)
project ( DB Design 、API contract 、DDD abstract 、 Link design 、 Project risk control )
stability ( You can use & Asset loss )
1. stability
Stability is a matter of consciousness before ability . Remember in 2015 At the beginning of year , Zhang Xuefeng joined the post of hungry CTO after , One of the most common words heard from him is “ R & D should be in awe of the production environment ”.
2014 In the second half of , People from all walks of life began to enter the takeout market , Are you hungry? Start the plan of 100 cities for business expansion , From... In a short time 10+ The city covers 100+ City , The daily order volume also quickly changed from 10 Wan rose to 100 ten thousand . Business blowout at the same time , The technology is not ready enough . I have the impression that ,2014 In the second half of the year, the trading volume almost reached a new high at noon , But it's also accompanied by system downtime 、 Current limiting capacity expansion 、 Emergency tuning 、 Customer service line burst 、 Technical overtime and staying up late .
I have seen some customer service students suddenly collapse in Xinxiang's customer service center , The earphone falls down and leaves the station , Because we will receive a large number of calls from users every day , At that moment, in fact, you will feel clearly and intuitively : Every line of code you have in the editor , Every time you publish on the server , It will have a direct impact on many living people in the real world , You'll suddenly realize that your work is more important and meaningful than you thought before .
The so-called R & D should be in awe of the production environment , It's that you know your work will have a bad impact on others , You will feel ashamed and guilty for the bad results , This leads to awe . There is a basic principle for emergency response :“ With the least business impact , Priority recovery is the core purpose , Don't get entangled in means and causes .”
Don't take your regrets 、 Determined to 、 Thinking about stability 、 All kinds of wonderful idea And the executive power is reflected in the accident review meeting , The safe production of the system is the same as fire , It makes sense in advance .
2. Link design
Most industry research lacks a full link perspective , What you often see is your own responsibility , But you can't see a line or even a whole face , There's no chance to think about it , For some large projects and long link systems , This is fatal .
My advice is , For the system you're responsible for , Its key upstream and downstream 、 The links of core services must be familiar with , Including data 、 Interface ( call 、 function 、 Logic )、 Various exception handling and special design . The easiest way to do this is to drawing 、 drawing 、 drawing ! Say the important conclusion three times , Make sure you can draw a big picture of the system , And then you can zoom in and out according to the big picture . Zoom in to draw the link to the business scenario , Highlight business logic and interaction between upstream and downstream , What is the processing logic of narrowing down to a call , How does the data change .
Always draw pictures , Don't tangle with form and standard , It's important to form a framework for your own understanding of the system , One's own way of thinking , You can use it when you need it .
Daily whether it's talking about requirements or doing system design , Get used to drawing , It's half done . The rest of the rest is going to look at the picture and think about it 、 Find the problem .
3. Technical debt
Never lie to yourself that , Now dig a hole for this need , Come back and fill in after a while ( restructure or redo ).
Technical debt is the same as financial debt , It must exist , And will be like a rascal all the time , It's going to explode every once in a while . As time goes on and the business grows , You'll find the architecture more and more confusing , The domain boundaries of different systems are increasingly blurred , The mapping of systems and requirements to organizational relationships is becoming more and more complex , Increasingly inconsistent coding risk control within services , One by one, the wheels of repetition appear covertly .
“ I'm too busy to sort out the problems ”、“ To solve those problems, both upstream and downstream should be corrected together , laborious , can't move sth. by pushing ”、“ It's not a problem yet , And it's being sorted out , Don't rush ”. It's a voice we hear all the time . Actually , Technical students are a little bit of code cleanliness , There are many problems not to be dealt with subjectively , But objectively, it's because of energy 、 Time 、ROI Other factors , It's often a matter of waiting for a problem to break out , We can deal with those problems with great care .
I used to deal with technical debt , It's about having a checklist , I will review all the systems on a regular basis , And combined with the accidents of their own team and other teams to complete mine clearance . The system itself is a product of equilibrium , Is time 、 function 、 risk 、 The result of the balance of several directions such as the possibility of the future . So the test of technology debt for R & D students , It's not about how you guarantee the technical debt of the system in your daily work 0, It's about assessing clearly, with limited resources and time , Which problems are urgent , Which questions can be put back .
It's hard to imagine that a team without technology can develop a robust 、 Good maintainability 、 A scalable system . contrary , This kind of business code stack , In the short term, it may be “ Faster ” Realized the business requirements , But in the long run , The increase of this kind of bad system will greatly hinder the development of business , Form a black hole application , Engineers are caught between business requirements and bad systems , Tired of coping , Burn out . This accommodation will lead to the corruption of the system , The technical debt goes up , Ugly code grows crazy , It consumes all your energy like a tumor , And finally your life .
4. Watch out for big projects
Not everyone has the ability to handle big projects , Not everyone can balance the delivery pressure 、 Online quality 、 Product logic and time window , It's a very challenging job , It needs a lot of soft abilities besides pure technical ability to assist , For example, the communication and cooperation ability of the organization 、 The ability to ask for power and responsibility 、 Ability to balance product business expectations 、 The ability to change in case of emergency . The bigger the project is for Owner The higher the requirements of , How can we do a big project? How can we leave a big hole .
The time taken from start-up to project approval of a large-scale project is often far beyond the actual development cycle of the project , The smooth progress of the project needs “ compromise ”, But the success of the project requires persistence . Many projects fail , It is in the process of doing that that the Chinese side constantly compromises , The final product is far away from what it was originally intended to look like .
Business level
Besides technology , R & D students also need to enhance their awareness and attention to the business level .
For research and development , Business is like a foreign language , You don't understand business as if you were in a foreign country , Out of tune with the surrounding environment , And easy to lose ! Compared with products 、 Business 、 Operation and other types of work , Technology prefers to deal with technology , Business in the eyes of most students is chaotic and lack of order , There is no clear realization path and stable consensus knowledge structure as technology . And technology is relatively easy to falsify , And business is always trying , Research and development hate “ uncertainty ”. But in a large organization, you want to do the technology well , You have to deal with business , After all, business is the core value of a company .
1. Technical planning based on business planning
Many students are used to equate planning with planning . Ali is a business company that respects Technology , All the teams are talking about business 、 In the plan is the business plan 、 It's a business project in the weekly newspaper 、 It's business results in the report 、 When you are promoted, you should also highlight your “ Military exploits ”. Compared to the technology itself , People are more concerned about what technology has changed , That's why we talk about how the technical team plans in the business section , This is the starting point of the company's operation ( Purpose ), Only when it is extended can we have specific technical planning and organizational design as solutions .
Deeply understand the business and design strategy , Dismantling campaigns and projects , Ensure the implementation and implementation of the project through organization and various mechanisms , Finally get the business results , This is the standard way for a big company to execute its strategy . When R & D students do technical planning and team planning , Be sure to consider your environment , What will the company focus on this year , What's the goal of your big department , What is the status quo of the corresponding products and business , What are the business benefits of pure technical iteration . in addition , What force majeure does the team have at present , Or resistance to planning .
When many students do planning, they will habitually follow this idea :① Summarize the status quo ( Pain points ) ② Corresponding solutions and Strategies ③ Looking forward to the future . occasionally ② and ③ In reverse order . Most of the time, we find that the final Department planning has nothing to do with the planning you make , I don't know how to force in which direction , Or just go ahead with your plan .
For most students , I suggest that planning be realistic . Before doing technical planning , Talk to the R & D team around you , Find your product 、 Let's talk about the operation , Know what their goals are , Know what the company's priorities are , And then combine your current pain points , Find a balance between the present and the future 、 Find the part that's profitable now and in the future .
The planning needs to include some hard and fast content , For example, what problems should be solved by this goal , How to make sure it's solved , Is it a good solution , Good results, who will approve, etc . Planning must be focused , No point, that's not planning , That's the schedule . Many students are not involved in planning , They have their own “ idea ”, For example, the company's business or strategy changes too fast 、 Too many organizational adjustments , In the second half of the year, it's not sure which team to work on or even what to do , So planning is not serious . There is no denying the existence of frequent changes , And the impact of this change in organizational structure on Planning , But if you keep thinking like this , You can never get value from change , Because you've been out of it .
2. R & D should understand business better than products
Lei Jun said :“ Never try to use tactical diligence , To cover up your strategic laziness .” For R & D students , You have to understand business better than your business classmates , In order to find a balance between technology and business . For most students , It's often just familiar with the system you're responsible for , But for students who want more space and more growth , I can draw a clear conclusion : It's not enough to be familiar with your own system .
First , Different people have different definitions of familiarity . Be responsible for you 、 You contribute code 、 The system in which you design and deliver requirements , Familiarity alone is not enough . You don't just have to know its past and present life , Think about the way it's grown , Entangled in its future development , At the same time, we should be clear about its risks and hidden dangers , Its life and death .
Based on the core system you know best , From it to do business scene extension , To get to know your upstream and downstream , And can be combined with business scenarios to mine . From a business point of view 、 Link from product 、 From the perspective of technology optimization and hidden dangers , Let your own design dimension and perspective continue to rise , In this way, the scope of your assurance or control will become larger and larger , There will be more opportunities in the future .
Management level
Team is a macro and micro coexistence of things , On the macro level, we say organization 、 Talk about strategy 、 Planning 、 We need to line up , On the micro level, we focus on communication 、 grow up 、 mood . The reason why most students are frustrated at the micro level , It's because you can't grasp the macro rhythm . The company is a profit making organization , The technology center is a cost Department , The reason why the technology center has a certain organization , Then it must be :“ The company expects the organization to solve a certain kind of problem , And to a certain extent .”
So here you have to understand a key word ,“ Results and KPI” It doesn't depend on how you define it , It's about the expectations of the organization and managers who delegate your goals to you , Yours GAP Often it's not necessarily the difference in results , It's a gap of expectations .
1. Embrace change
In fact, most of the time you don't need to hug , Change will suddenly embrace you , Tightening your neck makes you feel difficult to breathe for a moment . Internet companies are changing fast , A lot depends on its business attributes , Compared to traditional companies , Internet companies can be faster 、 More clearly feel the degree of fit with the market , And adjust the strategy in time .
Combined with the experience of these years , To join Alibaba in the last two years , I have two core insights :
First, be sensitive to business development and environmental changes . If you can initiate change before it comes , So it's best to turn passivity into initiative . Even if you can't , We should also clearly feel and think about the driving force behind the change , To find the key power point , Let yourself adapt to change .
The second is the adjustment of work content brought about by changes 、 Adjustment of the reporting line 、 Team changes, etc , No matter good or bad , It's all relative in a period of time , It's not the absolute . When it's impossible for everything to go well , Adjust your mind , Let yourself jump out of your emotions , Paying more attention to the things themselves would be a better choice .
2. Adding people doesn't solve the problem
Even if you say “ You can't ”, But the action will be honest , Still want as much as possible HC, Hope to put more “ The core ” It's within your scope of responsibility to build a system of . Actually , From a management point of view , You can see if you have “ Effectively add people ”, Some technology Leader Don't care about new people Landing , It is equivalent to focusing on quantity rather than quality , The end result must be a mess .
From the perspective of absolute theory , It must be helpful to add people , You have more resources , There is plenty of room for turnover and operation . But from experience , In most cases , There is no final change in value ( The results of the project 、 Business success or failure ). Because of the development of the system 、 The promotion of the project is not just a pile of resources ,1000 Man day system, which is 1000 I made it in a day . In the real world , We are often not lost in the amount of resources used , It's about the direction and efficiency of resources .
3. Consciously manage upward
This problem stems from two points of experience in the past : One is that I have experienced countless organizational relationship adjustments , I found that both myself and my classmates in my team , Compared with what they do and with or without people 、 How many people do you take with you , More focused on their own reporting lines . Who do you report to , Who am I Leader, I can't get along with him , Can he improve me 、 There is growth . The second is that many students will be interested in Leader There is confusion in our relationship .
Based on these two points , I've added upward management as a separate topic , Say first conclusion : want ! want ! want ! It has to be ! must do !
Even Mr. Ma said that one of the three elements of employee turnover is to work with Leader I can't get along with it , How can you just ignore it . If you are still in a submissive or even flattering attitude towards upward management to deal with your relationship , I can only say it's too young . I didn't systematically learn upward Management , I haven't read the book systematically , So I just want to talk about my understanding .
Individuals want rewards and benefits in an organization , The basic method is to promote the growth and improvement of the organization , And improve yourself synchronously , So you can share your share of the income from it . This requires that your output is a positive spillover to the organization , But this direction and standard is not clear to all or can accurately grasp .
Students with poor performance are often depressed and even complain that they often work overtime , Even the Department was the last to leave , I have to deal with work on weekends . Let's not talk about the background , If you hit the one above , Let me give you a piece of advice first : Except for factories that pay by piece , No physical effort anywhere else is directly related to the outcome . Just like when you go to school, there must be a few other children , Or it's hard work and good study , Or it's like playing with you every day , But the results always crush you . From school to society , This phenomenon has not disappeared , Don't be superstitious about overtime and physical effort , Most people just can't think about it , What you are willing to give physically , Far more than you and I can imagine .
And Leader Getting along and communicating , In essence, it's about achieving agreed goals and mutually recognized outcomes . It's a very critical original intention , I sometimes joke and talk to my classmates on the team , Said you should have a good look at my Leader What do you want , So you can do it , So I can report . Direction 、 rhythm 、 The focus of the results is crucial to the work and achievement , At the same time, you should get more information from him so that you can make decisions and learn , Keep getting nutrients out of them .
In some environments , Physical effort is necessary , But the only physical effort can only move you , Your team doesn't want to work overtime with you every day 11 At or before midnight 2 spot , No interest in the early morning 1 I'll hold a conference call at 30:30 to discuss the plan . So be sure to do well “ Expectation Management ”,Leader Expectations for you 、 Expectations for the project 、 What you expect from him to give you space and support , We must focus clearly , And the same goal .
At the architecture level
There is another point that I think is very important , At the architecture level , Including business architecture 、 Technology selection and implementation of details , Be aware of it .
1. The most important thing is to define
Einstein said :“ It's more important to ask questions than to solve them !” Defining a problem is a mental exercise , Solving problems is individual effort . People are used to seeing a problem and rushing to hammer it , In terms of probability , It's very likely that you'll fall into a problem-solving black hole , It's that you're constantly solving problems , But in the end, you're not getting better .
When you are faced with a difficulty or a situation , First of all, it's more important to define , What the hell is this going to solve 、 What's the benefit of solving it 、 How to be sure to solve . The second is the definition structure , The key point of this problem is composed of , What's your solution , How to weigh the gains and losses , And how the effect of the final solution runs through and spreads through , From point to face .
A team can work without stopping , But it's not necessarily going to do well . Most of them are used to listing the problems they face , But there is no overall analysis and carding of these problems , In fact, the hardest part is “ To find problems ” On .
2. The nature of the problem is not so profound
Sometimes we do a project , There may be a product requirement , After reading it, we think it's not easy to do or can't do it , Because the system doesn't support , The cost of retrofitting is too high , And there are a lot of uncertain technical risks . I believe that very few people in this situation will have no brain request to add people 、 Processing time to solve this problem . Most of the time we'll see if there's a shortcut or something else , Let the product effect achieve , Even if the technology is dirty 、 Go around some .
In fact, at this time, we should dig more horizontally or ask more questions , There may be different answers . This requirement is to solve the user's problems , The current solution is not a business ( product 、 technology ) Unique , What costs and new problems will this solution bring , Will other projects currently under way be related to this issue , Is there any other team that is working on a similar problem or has ever solved it .
3. Achieve the goal
In the middle of the job, you can order one API contract 、 From medium to online, a requirement 、 Big enough to complete a promotion , There are ways to succeed in everything . Find the short board 、 Set a plan 、 Resist setbacks 、 Train repeatedly 、 Tune... Based on feedback , You can solve any problem .《 The debt crisis 》 The author of —— Bridge Water Fund CEO Dario summed up a five step approach to success , It is interesting to :
The famous great mathematician Polya had a famous book 《 How to solve problems 》, There is a four step solution , Maybe from the perspective of R & D, I feel more :
4. Continuous learning is fundamental
The times are constantly developing and changing , It's a magnificent time , In this environment , No matter how much is accumulated at present , It's possible to drop to the bottom in a short period of time as the development changes . The company can grow , It must be very suitable for the environment in a certain period of time , But over time , If it doesn't change with it , Then it will only be abandoned by the times . It's what makes you successful , It's going to make you fail in the end , Like Kodak 、 Nokia is not immune to , The individual cannot escape such a rule .
In this case , Continuous learning and the ability to change themselves is the biggest R & D students 、 It's also the strongest advantage . The rapid change of technology itself requires you to keep learning , The same habits radiate to all fields , Will slowly learn from each other , Optimize yourself , So if we say what R & D students need most , I think continuous learning ability is the key .
Just like hungry? Founder Wang Yuan had a sentence in an interview before , It made me unforgettable : The most important thing is to choose , The most difficult thing is to stick to .
Click on the official account card below. , Pay attention to me
Official account dialog box , Reply key “1024”
Get a free practical tutorial on making money from sidelines
边栏推荐
- Go learning notes (3) basic types and statements (2)
- [Yugong series] February 2022 U3D full stack class 011 unity section 1 mind map
- matplotlib. Widgets are easy to use
- Asia Pacific Financial Media | art cube of "designer universe": Guangzhou community designers achieve "great improvement" in urban quality | observation of stable strategy industry fund
- Online yaml to CSV tool
- Sanzi chess (C language)
- 数据治理:主数据的3特征、4超越和3二八原则
- 面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读
- 数据治理:误区梳理篇
- JS select all and tab bar switching, simple comments
猜你喜欢
Step by step guide to setting NFT as an ens profile Avatar
[untitled]
Pangolin Library: control panel, control components, shortcut key settings
C语言 - 位段
A Closer Look at How Fine-tuning Changes BERT
"Friendship and righteousness" of the center for national economy and information technology: China's friendship wine - the "unparalleled loyalty and righteousness" of the solidarity group released th
Understanding of law of large numbers and central limit theorem
matplotlib. Widgets are easy to use
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Nft智能合约发行,盲盒,公开发售技术实战--拼图篇
随机推荐
Introduction to backup and recovery Cr
IP lab, the first weekly recheck
Use br to back up tidb cluster data to S3 compatible storage
Flash return file download
1202 character lookup
使用 BR 恢复 S3 兼容存储上的备份数据
Understanding of law of large numbers and central limit theorem
[Yugong series] February 2022 U3D full stack class 010 prefabricated parts
使用 TiUP 升级 TiDB
TiDB备份与恢复简介
2.10transfrom attribute
使用 BR 备份 TiDB 集群数据到兼容 S3 的存储
What are the ways to download network pictures with PHP
从 TiDB 集群迁移数据至另一 TiDB 集群
ESP series pin description diagram summary
ESP系列引脚说明图汇总
【MySQL】数据库的存储过程与存储函数通关教程(完整版)
[research materials] 2021 China online high growth white paper - Download attached
What is the use of entering the critical point? How to realize STM32 single chip microcomputer?
CAD ARX 获取当前的视口设置