当前位置：网站首页>Farewell to runaway
Farewell to runaway
2020-11-10 18:13:40 【Eastern Emperor Barton】
List of articles
- 1、 Summary
- 2、 Why programmers are hard to manage
- 3、 Understanding programmers
- 3.1 Job classification ：
- 3.2 Domain knowledge ：
- 3.3 Programming level ( Rank )：
- 3.4 Workplace and work relationship ：
- 3.5 Personality ：
- 4、 Looking for and recruiting good programmers
- 5、 Help new employees get on the job
- 5.1 Staff entry
- 5.2 Prepare for the arrival of new employees ( Entry reception work )
- 5.3 To ensure success
- 6、 Down management
- 6.1 Win technical respect
- 6.2 Recruiting outstanding programmers
- 6.3 Strengthen the existing team
- 6.4 Managing different types of programmers
- 6.5 guide
- 6.6 Protect
- 6.7 Evaluate and improve performance
- 6.8 Deliver results and celebrate victory
- 7、 Manage up
- 7.1 Get to know your boss
- 7.2 Be ready to communicate
- 7.3 Get to know your boss's boss
- 7.4 opportunity
- 7.5 Become a model employee
- 8、 External management
- 9、 Self management
- 9.1 Personal style
- 9.2 Time and priority management
- 9.3 Communication management
- 9.4 Looking for a mentor
- 9.5 My career development and personal discipline
- 10、 Motivating programmers
- 10.1 To change the world
- 10.2 Learning and growing
- 10.3 Tools and Technology
- 10.4 Recognition and praise
- 10.5 Have a good time with your employees
- 10.6 Benefits
- 11、 Environmental Science
- 12、 Rule of thumb
《 Say goodbye to being out of control 》 It's about hiring 、 A guide to motivating and leading top software development teams , How to build a sustainable development 、 Always deliver high quality software that meets expectations 、 The R & D team with renrenrenle in the cultural atmosphere , The book offers many valuable rules of thumb 、 Guiding advice 、 Brilliant insight . This book not only helps project managers become better managers , It also helps team members work more efficiently , For those students who want to improve their soft skills , This book is enlightening and will be a good book for you .
2、 Why programmers are hard to manage
The profession of programmer has at least 60 Years of history , There are huge numbers of people working in the world 、 The quality of practitioners varies .( Anyone can be a programmer , There are no required certificate standards or examinations )
Compared with other engineering practices , Programming is more like writing a novel ( It's a creative art ), On the premise of completing the specified function , The details of the code are hard to control .
Standard development process and framework , They are only constraints on the process of writing software , There is no question of programmer management . And programmers are an eccentric group ( Wear slippers 、 Plaid Shirt 、 Sloth 、 free 、 Be independent 、 Not willing to change 、 The difference is too big to be equal ), How to explore the strengths of every programmer , It's a challenge to make the whole team work efficiently . All in all , Managing programmers is like a herd of cats in a grazing software project .
3、 Understanding programmers
To manage programmers well , You have to really understand every programmer . Programmers can be understood from the following perspectives .
3.1 Job classification ：
|Client programmer||People who are engaged in the development of client programs . Client programs usually run on the end user's computer 、 mobile phone 、iPad And other consumer electronics .|
|Server programmers||Back end RD|
|Web Developers and other script writers||HTML、XML、CSS、JSP、JS、PHP, More and more web Programmers can be as skilled as client programmers .|
this 4 These types cover the vast majority of programmers in the world , Every tool that programmers use 、 They are good at solving problems and product directions . Most programmers can only do one of them well .
3.2 Domain knowledge ：
The background and knowledge of each industry and field is different . The team is made up of programming talent 、 Domain knowledge 、 The mix of people with analytical capabilities . Domain knowledge is another perspective of programmer classification .
3.3 Programming level ( Rank )：
The programming level is associated with a set of evaluation criteria , Programmers must meet the relevant conditions to be employed in this level . Among them, the requirement of working years is not absolute , Years can be used as a rough measure of the skills and experience that programmers have . It is very important to establish a series of rank evaluation system which is suitable for the growth of programmers .
3.4 Workplace and work relationship ：
- Internal employees （ The book focuses on , Managers need to build a close relationship with them , To reduce communication costs ）
- Remote employees ( I can't see you , The longer the distance, the less efficient communication )
- contract worker ( Part time )
- Contract management team
- Outsourcing company
3.5 Personality ：
Night people . Most programmers are night people , Often in the normal working hours after a long time to the unit , And work long after work . Pay more attention to the results , Not their working hours .
“ Shepherd boy ” And “ a farmer ” . Software development is like farming , Farmers know the terrain 、 Study the chemical composition of the land 、 planting 、 watering 、 Weed 、 Receiving goods . Good software is also developed in an orderly way . But most programmers prefer to be " Shepherd boy ", When something goes wrong “ Jump on the horse and leave ” To solve problems on your own , They skip the specification , Finally, you get a one-time solution , Strong ability to solve unexpected problems . Need to identify shepherd boy , To restrict , So that its developed solutions can also be used to solve other problems .
hero . Someone who can give superhuman effort and finally complete the task . You can't always expect them to work superhuman , It will destroy them . Need to focus on their welfare , Selectively for critical projects .
Introverts . Some of the staff are very quiet 、 Very reserved , They may be able to do the job well , But little contribution to team dynamics or meetings , Almost no sense of their presence .
Detest the world and its ways 、 Mean people . They need to be measured whether their talent matches the cost of hiring them .
Summary ： All these perspectives tell us that , Every programmer is different , Just like there are no two snowflakes in the world , It needs to be applied according to the material , Don't treat people equally . Managing people is difficult , Sometimes the most talented programmers are also the hardest to manage .
4、 Looking for and recruiting good programmers
according to “ Individual differences ” Research , Programmers are coding time 、 Code size 、 Commissioning time 、bug There's a big difference in quantity , Good programmers can be better than mediocre programmers at best 30 times . The most important job of a programming manager is to get the right people . The worst recruitment can cause months of pain for the team .
5、 Help new employees get on the job
Recruitment is very important , It's also important to do a good job of new employees , Never underestimate the importance of a proper welcome to new employees . How to make new employees feel at home ( It's like going home without worrying about what to eat ), It's directly related to the enthusiasm of new employees . Don't plan ahead , Just express the excitement of their participation .
5.1 Staff entry
It should start from the moment the employee accepts the offer , Keep up with the candidates " warm " The relationship between , Master the psychological changes of candidates , Because all kinds of events will affect whether a candidate will actually come to the job .
5.2 Prepare for the arrival of new employees ( Entry reception work )
Such as “ Partner Program ”、 New people SOP、 Visit the office environment 、 My supervisor leads the new employee in the office “ Street shopping ” Make a public appearance 、 Team goal communication, etc .
5.3 To ensure success
- Help new employees find tasks they can accomplish , Let it work quickly .（ Make it productive , Sense of achievement , If perfect wiki、 Sort out the business, etc ）
- Have new employees sit down with team members who can act as mentors .
- Make sure they have immediate access to all relevant documents .
- Set the expected results of the probation period , Maintain proper communication frequency with new employees , Focus on short-term results .（ Don't trust too much in the self-management of new people ）
Most companies have a vertical organizational structure . According to the relationship with you ：
- Down management （ Manage subordinates , Project managers should spend most of their time on down management ）
- Manage up （ Managing the boss ）
- External management （ Other organizations ）
- Self management
6、 Down management
6.1 Win technical respect
The most important thing to manage programmers successfully 、 The key factor is to gain the technical respect of subordinates . There are many factors to gain respect for Technology , such as ：
- Understand the art of computer programming ;（ Bill Gates likes to work with his employees to analyze programs to the byte level , Be able to defend your position in technical combat …）
- Have a good track record ;
- Make a commendable technical contribution ;
- Chasing the cutting edge of technology trends ;
- Show strong personal value ;
- To write a book 、 There are patents 、 Technical papers 、 Open source software …
6.2 Recruiting outstanding programmers
Recruit the right people , Then other jobs will be easier ;
6.3 Strengthen the existing team
Limited by recruitment budget 、 The system is old and boring , It's almost impossible to recruit outstanding programmers . You have to recruit good programmers at the same time , Continue to drive team progress （ Internal culture ）.
6.4 Managing different types of programmers
Different types of programmers treat . Project progress is often difficult to tell , We can only rely on indirect factors to observe progress ： status report 、 Project schedule 、 Basic indicators and oral feedback , Give them trust and space .
Managers should guide programmers to make the right decisions , Instead of making your own decisions ; If you often need to give specific orders , That means you don't make good use of your management skills . Outstanding managers can identify obstacles ahead of time and remove them in advance , Make the implementation of goals look easy .
The manager wants to protect his team members , Avoid the problems that run rampant in the organization every day 、 assessment 、 Discuss 、 Record 、 The interference of controversy , Drowning in the torrent of complexity will greatly reduce RD The programming efficiency of , The manager needs to step up and cushion the torrents , And let them know you're protecting them , So you'll get the reputation .
6.7 Evaluate and improve performance
- Set goals for employees and reach consensus with them , Focus on helping teams find their own self driving force .
- Performance review . Formal communication 、 Informal communication 、 Written records of performance reviews , And continue to improve their performance .( Second only to recruiting the right people )
- Cut losses . Dismissal is too bad for performance 、 Negative people who lose motivation 、 People who show destructive influence on the organization, etc .
6.8 Deliver results and celebrate victory
distinguish 、 It's crucial to reward and celebrate the team's performance . Such as ：10.24 Invite the team to dinner 、 After work on Friday 、 Let's have a circle of friends for the overtime team on Saturday ？
Summary ： It's hard to manage down , But if it works , The brilliance of a career is absolutely guaranteed . No matter how effective the management is , Let the team know you're busy , Is busy managing them .
7、 Manage up
Success doesn't depend on what you do , It's more important to think about what others think of what you've done , In reality, cognition is more important than action . Manage your boss and make them your career progress 、 The source of personal success .
7.1 Get to know your boss
What kind of boss is ？ Technology-based 、 Sales and marketing 、 Financial type 、 The overall situation 、 Details, etc .
7.2 Be ready to communicate
Take the initiative to communicate , Let the leader know that you have shared a lot of work for him , As time goes on, your reporter will come to a consensus on your capabilities and boundaries of authority .
7.3 Get to know your boss's boss
It's not enough just to do your job well , And help your boss succeed . Understand your boss's goals , Know what you can do for your boss .
Good timing is almost as important as good luck . Just as the timing of a movie's release directly affects whether it can win an Oscar .
7.5 Become a model employee
A few tips for becoming a model employee ：
- Don't take every problem to your boss for solutions , The real problem is to ask the boss for help .
- Volunteer to help your boss solve problems .
- Learn to surprise people 、 happy .
8、 External management
Outward management is the management of the external relations of an organization , For example, the technical cooperation department 、 supplier 、 partners 、 competitors 、 Influential people in the industry, etc . Cross department 、 Cross organizational ties are necessary , You can build relationships step by step in an unconventional way .
9、 Self management
The hardest people to manage are always themselves .
9.1 Personal style
- A decent look . Eliminate negative perceptions from your boss and other management . Dress depends on where you work and the culture of your work .
- The professional ethics . It can set an example 、 Make oneself an example .
- Get to know your employees . To manage the team successfully , You can't just play with the team , We can't be too cold and distant , Be approachable , So that employees are willing to talk to you when they have problems .
9.2 Time and priority management
Keep a positive and accurate schedule , Be generous only to those who really need your time .
9.3 Communication management
- General information about flood management , Stay focused , Focus on the important things . mail 、 Telephone 、 The jingle of information easily distracts people's attention 、 It gives people a sense of urgency , You don't have to answer or respond .
- The biggest problem in communication , I mistakenly think that we are communicating . You can restate or paraphrase what you hear , Feedback listening .
9.4 Looking for a mentor
Look for things you respect 、 People who can guide you in your life and career , And then somehow approach them , Ask them to direct your career development , And guide the way to difficult management problems .
9.5 My career development and personal discipline
There is not enough time , Don't think of yourself last . Take time to manage yourself every week , Refuse an appointment once a week , Save time for yourself to improve your problems .
10、 Motivating programmers
There is no way to motivate programmers once and for all . Here are a few key motivators , In the end, we need to think and practice again and again .
10.1 To change the world
Few people don't want to change the world . A lot of people choose programming , At least in part, it's to have a positive impact on the world you live in .
10.2 Learning and growing
Technology changes too quickly , The best programmers must be lifelong learners . Create an excellent learning atmosphere for employees . Technical lectures can come from outside 、 Candidates 、 staff 、 The author of the new book 、 supplier 、 Product manager, etc .
10.3 Tools and Technology
One of the simplest ways to reward and motivate programmers , Is to configure them with state-of-the-art development equipment and environment .
10.4 Recognition and praise
Recognition and praise don't cost a cent , But they can treat their employees 、 The professional ethics 、 Overall performance has a huge impact .
10.5 Have a good time with your employees
No need to be happy every day , But be able to sit down and learn about what happened that day or a joke between employees , And laugh with them . occasionally , Laughter is a powerful tool for dealing with problems and breaking tension .
A little …
Summary ： Every programmer is different , The motivation to motivate programmers varies from person to person , Understand the motivation of a programmer , Before you hire them , Then you have the opportunity to study the real motivation that motivates them .
11、 Environmental Science
Programmers hired with a lot of money , How to get the most efficient production efficiency ？ Need to have ：
- A quiet private office 、 Unlimited drinks 、68~72℉ Room temperature
- An excellent computer and software 、 There is no dazzling screen 、 A comfortable chair 、 A system administrator who ensures the smooth flow of the network 、 One that can see what they can't see bug The tester .
- A marketing team that can find target customers 、 A great sales team 、 A help programmer to sort out what problems caused the technical support staff 、 A series of supporting and managing functions
12、 Rule of thumb
- Management is dealing with people , Its task is to enable employees to work together 、 Foster strengths and circumvent weaknesses . Don't spend all your time in the tedious routine .( do " real " Work .)
- Drawing a picture can solve the problem , If you can't graph a problem , Then you probably don't understand the problem . Praise loudly , Blame softly .
- Meetings without records , It's equivalent to a meeting that hasn't been held . Don't write code that no one is going to run , The output value is used in “ Code ” multiply “ The frequency of code execution ” To measure .
- Every programmer's inner motivation is different , Understanding the motivation of every programmer is the key to efficient management .
- The problem with programmers is , You never know what programmers are doing , And when you find out, it's late . One on one is the most effective management tool .
- Writing documents is like having sex ： If it's not done well , That's better than nothing . Employees leave the company , Look at five factors ： Environmental Science 、 platform 、 product 、 Leader 、 compensation .
- Small teams are more efficient than big teams … Complete a project of the same size ,5~7 The team of people takes the shortest time .
- Brooks The laws of ： Add people to projects that are behind schedule , Will only make progress more backward .
- Hou Shida (Hofstadter) The laws of ： It always takes longer than you expected to do things , Even if you have houshida's law in mind .
- Most good programmers don't do programming for pay , It's not for public worship , It's because programming is fun .——Linus Torvalds
本文为[Eastern Emperor Barton]所创，转载请带上原文链接，感谢
- OPTIMIZER_ Trace details
- Using consult to realize service discovery: instance ID customization
- Summary of common string algorithms
- Summary of common algorithms of linked list
- Linked blocking Queue Analysis of blocking queue
- 构建者模式(Builder pattern)
- Builder pattern
- Newbe.ObjectVisitor 样例 1
Newbe.ObjectVisitor Example 1
LeetCode Algorithm 0060 - Permutation Sequence (Medium)
编程基础 - 栈的应用 - 混洗(Stack Shuffling)
LeetCode Algorithm 0060 - Permutation Sequence (Medium)
Fundamentals of programming stack shuffling
[color card] brief analysis of commonly used chromatograms, Chinese traditional color cards, code with RBG, HC
Introduction to mongodb replica set
My name is mongodb, don't understand me. After reading my story, you will get started!
- Roboguide cracking installation tutorial
- The transformation of town street intelligent street lamp under the industrial intelligent gateway
- Remote smoke monitoring of environmental protection data acquisition instrument under Internet of things
- Flutter 页面中的异常处理ErrorWidget
- Exception handling errorwidget in fluent page
- Bolt's practice of route management of flutter (page decoupling, process control, function expansion, etc.)
- C语言系统化精讲 重塑你的编程思想 打造坚实的开发基础
- Skywalking series blog 7 - dynamic configuration
- Skywalking series blog 6 - help you write skywalking plug-in
- Blog host_ Automatic renewal of free certificate
- 0x05 - 综合示例，导出 CSV
- 0x05 - synthesis example, export to CSV
- 0x02 - create and cache object visitors
- Fluent round or linear progress bar
- Fluent adds sticky header components to scrolling content
- Typora uses latex to insert mathematical formulas
- How to write a thesis opening report
- Based on C PHP fast IP resolution extension, IP detection
- Click smooth scrolling effect
- HighGo Database触发器使用案例（APP）
- Use case of highgo database trigger (APP)
- Flutter 最常出现的错误
- Flutter's most common mistakes
- 捕获 flutter app的崩溃日志并上报
- Capture and report the crash log of the flutter app
- SQL Server递归查询在Highgo DB中实现 (APP)
- Implementation of SQL Server recursive query in highgo dB (APP)
- About browserlist configuration items