44 lessons from Software Engineering Management)

Source: Internet
Author: User

I saw an article, which is good and practical. Let's give a rough translation of it.

Original: http://www.defmacro.org/2014/10/03/engman.html

==============================================

Do. can be

  1. Attract, educate, train, and retain talents. Chat with engineers and let them speak out their attention earlier. If they can, make up for it in time.
  2. Communicate with every engineer on their next important issue.
  3. When the development team fails to reach an agreement, you should be a breakthrough.
  4. To become an information center, you need to know what each engineer is doing and help them deal with omissions.
  5. Provides management support, arranges requirements, and works with the release to ensure normal operation of the entire machine.
  6. Enforce behaviors and efficiency standards to drive out overbearing people and unqualified people.

Don't cannot be

  1. You can fix bugs or handle requirements by yourself, so you have to write code for maintenance, but coding is not your responsibility.
  2. Management Quality and workload. Software Engineering is not a production line. If you find that you care too much, you don't find the right people or don't give them the right incentives.

Motivation and culture

  1. You are the person who decides whether to hire or fire your team. It is your responsibility to do everything that happens in your team.
  2. Software Engineering is a seller's market: people help you with your work because they trust you, and using their talents is your privilege.
  3. You cannot grant permissions at will and must make the right decisions.
  4. Do not make a decision. Whenever possible, let the team look for idea and make their own decisions.
  5. Make a decision when necessary. No more frustrating than a stagnant team.
  6. Do not crack down on idea unless necessary. We need to create an environment for everyone to feel that they can share and explore idea securely. There are a lot of things you don't know about writing code. Trust your team to make better decisions.
  7. Thinking about how to make a good decision and maintain a good relationship with your team usually gives you 95% chance to achieve these goals. There are many conceptual frameworks for organizing a software engineering team, but they are basically the same. They may make good managers better, but worse managers.

Emotions and people emotions and people

  1. Our culture worship management, but management is a skill like other things. Worship is blind-it is impetuous and arbitrary. Believe that you are better than anyone else. The sooner you surpass worship, the faster you will be able to focus on your work.
  2. Management also brings contempt. Ignore it-people who believe in useless management do not know how to create a winning team.
  3. If you think something is wrong, it may be true. Do not let anyone feel like you are ignoring yourself.
  4. If you find yourself blaming others, you may be wrong. No one wakes up to think about doing something bad. In 95% of the cases, you can communicate with it to solve the problem.
  5. Most people can easily share their feelings with others. They can make up for it through regular informal conversations and jokes about possible mistakes.
  6. Your team only points out that you must have the courage to say what everyone knows is right, but you have not said anything.
  7. The boss asks you to discover and make up for cultural issues that may not be noticed in your team. Have the courage to say what everyone should know but no one knows.
  8. Hire cool people and trust them fully. Make an assessment every month or every quarter. If it is necessary to open it, open it. Do not evaluate a person every day, it will make everyone (including yourself) nervous.
  9. Most of the ideological arguments are emotional. If you can differentiate these emotional arguments, your efficiency can be surprisingly improved.

Tiebreaking and conflict

  1. Don't draw conclusions too quickly. Self-thinking is a common problem of people. In any situation, even if you are sure that you are right, you should first listen to everyone's opinions.
  2. After listening to the opinions of all people, we can sum up all the opinions to make everyone feel clear. List the consent of each opinion, mark what you know from everyone, and then make a decision.
  3. Once a decision is made, it will be implemented. Do not let the team waste time to appease the inharmonious voice.
  4. If there are important new situations, restart the discussion.
  5. When someone does not agree, or everyone cannot accept a decision for a reason, the situation is now in conflict.
  6. Most of the conflicts are caused by the fact that your opinions are not listened. At this time, you should sit down and talk to everyone, ask them how they feel, listen carefully, ask, and then ask, and then give them a summary and feedback. In most cases, this can solve the problem.
  7. If there are still conflicts after reasonable listening and compensation, it should be a deadlock.

Difficult conversations deadlock

  1. The deadlock should be cracked as soon as possible, and the wait will only be worse.
  2. Never let us assume or draw conclusions, never turn others into demons in our hearts, and never blame, yell, or abuse others.
  3. Using non-violent communication-this is the best way I know to criticize a person's behavior without hurting him. This is like a management fashion, but it does work (I promise ).
  4. Have the courage to express your feelings and what you need. People are attracted by others' weaknesses, but they resist their weaknesses. Weakness is not weakness.
  5. Let others be as open and humble as you are. If someone points out what you need and how you feel it makes you feel uncomfortable, it is more about telling you your situation.

Rough edge position

  1. Someone else will spy on your boundary. In this case, you know when to leave and when to stick to it, and you have already won the halftime.
  2. Sometimes some people will play too much. In this case, they should express their positions and make them brake quickly. Otherwise, you will lose your prestige in your team.
  3. It is enough to say "I don't agree.
  4. Don't laugh at what you don't feel you can laugh at, and have the courage to show your true feelings.
  5. If you want someone to say too much "I don't agree", you should open him.
  6. Unless you are an anti-social engineer, you will find how difficult it is to expel a person, so that you are looking for reasons not to do so. If you often hesitate too long to decide whether or not someone is suitable for work, you must have the courage to do what you know is right.
  7. Do not make decisions that you do not believe in under the pressure of others. Afterwards, they will let you assume this responsibility, and they are always right. Decision-making is your responsibility.
  8. Believe in yourself. If you think it's funny to ride on the horse, you cannot lead the cavalry in charge.

44 lessons from Software Engineering Management)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.