当前位置:网站首页>Farewell to runaway

Farewell to runaway

2020-11-10 18:13:40 Eastern Emperor Barton

List of articles


1、 Summary

  《 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

  1. 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 )

  2. 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 .

  3. 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 :

classification Reading
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
Database programmers DBA
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 :

  1. Internal employees ( The book focuses on , Managers need to build a close relationship with them , To reduce communication costs )
  2. Remote employees ( I can't see you , The longer the distance, the less efficient communication )
  3. contract worker ( Part time )
  4. Contract management team
  5. Outsourcing company

3.5 Personality :

  1. 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 .

  2. “ 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 .

  3. 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 .

  4. 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 .

  5. 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 .
 Recruitment process

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

  1. 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 )
  2. Have new employees sit down with team members who can act as mentors .
  3. Make sure they have immediate access to all relevant documents .
  4. 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 :

  1. 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 …)
  2. Have a good track record ;
  3. Make a commendable technical contribution ;
  4. Chasing the cutting edge of technology trends ;
  5. Show strong personal value ;
  6. 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 .

6.5 guide

   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 .

6.6 Protect

   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

  1. Set goals for employees and reach consensus with them , Focus on helping teams find their own self driving force .
  2. Performance review . Formal communication 、 Informal communication 、 Written records of performance reviews , And continue to improve their performance .( Second only to recruiting the right people )
  3. 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 .

7.4 opportunity

   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 :

  1. Don't take every problem to your boss for solutions , The real problem is to ask the boss for help .
  2. Volunteer to help your boss solve problems .
  3. 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

  1. A decent look . Eliminate negative perceptions from your boss and other management . Dress depends on where you work and the culture of your work .
  2. The professional ethics . It can set an example 、 Make oneself an example .
  3. 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

  1. 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 .
  2. 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 .

10.6 Benefits

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 :

  1. A quiet private office 、 Unlimited drinks 、68~72℉ Room temperature
  2. 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 .
  3. 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

  1. 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 .)
  2. 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 .
  3. 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 .
  4. Every programmer's inner motivation is different , Understanding the motivation of every programmer is the key to efficient management .
  5. 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 .
  6. 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 .
  7. 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 .
  8. Brooks The laws of : Add people to projects that are behind schedule , Will only make progress more backward .
  9. 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 .
  10. 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]所创,转载请带上原文链接,感谢