"The Cultivation of Highly Effective Programmers" Reading Notes (2) - Project and Personnel Management

project management:

 

1. If you want to build a ship, don't rush the workers to gather wood, assign work, and give orders. You should first teach them their longing for the boundless sea. (The motivation from one's own desires is always the most powerful, and smart managers know how to stimulate people's inner desires)  

 

2. The most effective type of technical leadership is to lead by example (administratively managing technical staff is thankless)

 

3. Whether pair programming or peer review, you will see huge improvements in code quality and maintainability. Make sure you have more than one pair of eyes watching the code you write. (Human eyes are always sharpest when looking at others) 

 

4. The meeting should have a clear statement of purpose (marathon meetings are the best way to reduce productivity)

 

5. Team performance can be accurately predicted from the worst member of the team (bad effects are often diffuse)

 

6. Remote development needs a group of people who really love programming 

 

7. A program is a collection of all the tiny details. details make a difference. (Programmers struggle with details every day)

 

8. Usually it's the user who finds a bug in the software...if the user thinks it's a bug, it's a bug, no matter if it exists in training materials, software documentation. The user interface is also the actual software functionality. (The questions that users find are often the most sincere and realistic)

 

9. That's right, you screwed up a lot of stuff in this project. At the same time, you smashed a lot of things you didn't know yet. You have no way of knowing what the botched things are unless you ship the software out and get it in front of your customers (don't decide requirements for the user)

 

Personnel management:

1. Interview programmers: do a few programming questions first, look at their folders, and give a 15-minute professional introduction (here, the basic skills, learning ability and communication ability are examined separately)

 

2. Your goal (recruiting candidates) should not be just to get a job, or to find someone to do things, but to have fun, get close to each other and come together for the same hobby (ideally, But there are very few who do this.)

 

3. When programmers and operations fight, it's because they're boring, and you haven't given them a hard enough task—one that requires a full combination of their unique skills As a vampire, the operation is compared to a werewolf. The vampire is arrogant and considers himself "immortal". The werewolf is not good-looking but has a strong anti-strike ability. The author has a unique opinion on how to make the two cooperate)

 

4. Let developers rotate short-term customer support, and the miracle will happen: the quality and usability of the software will be greatly improved (contacting customers helps to help developers understand the real use cases, so that they can stop using technology only means to solve the problem)

 

5. I have never seen a happy, healthy, cohesive, socially normal software team fail (success because of happiness, not happiness because of success)

 

The above is excerpted from the book "The Cultivation of Highly Effective Programmers", in parentheses is the blogger's own understanding

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326529634&siteId=291194637