The most successful project has an outstanding technical leader to push forward the project, while ensuring that every technical decision is correctly made and the confidence of team members is built.
A few days ago, David Byttow, a senior software engineer and entrepreneur at companies such as Google, Square, and DoubleHelix, wrote an article about his experience from introducing grassroots to being hired by Google, after a wonderful 5 years at Google, he continued to learn and grow as an engineer. In his article, he summarized his work experience and shared his achievements as an outstanding technical leader.
David Byttow believes that being a good technology leader can be attribute, activity, and behavior in three aspects.
Attributes (various features of the Work)
In your work and life, over time, you should constantly strengthen three attributes: knowledge, speed, and consciousness.
1. Knowledge
If a team member asks a question about how a specific component or system works, you should be able to explain it carefully or introduce it to people who can answer the question.
To improve your professional knowledge, you need to do three things (in order ):
- Review code
- Read design documents
- Write code
Excellent technical leaders should master a variety of technologies, such as Java, JavaScript, C ++, distributed storage systems, and Web clients.
2. Speed
You should try to respond quickly and make immediate decisions. If engineers tell you the problem, they expect you to respond quickly. What David Byttow is best at is to use emails to notify team members of issues related to problem tracking, code review, and software production, and allows them to post comments via email.
3. Consciousness
You should always be aware of the overall control of the project at any time, otherwise you will not be able to know the problem you are about to encounter. If an internal or external force threatens to slow down a project, you should know it. Similarly, email integration plays a key role in this regard. Ideally, all project-related statuses or changes should be known in some form via email, even offline parties.
Initiative
1. Block
Block high levels of awareness and strategic decision-making. Technical leaders need to know what the project is. Before making some bad decisions, they should stop it directly. Generally, there will be a better solution, and there is no better but better. If one engineer submits his code to another engineer for review, this may be a normal thing, but in fact, it is very likely to introduce new errors. You can join their review and remind code-writing engineers that this is beneficial to the entire project.
2. Dredging
On the contrary, dredging is equally important. If someone encounters a problem, you should give an answer or find someone who can solve the problem. For an intern, if they don't get the answer, they will often get stuck, or worse, they will feel frustrated. You have to keep learning and strengthen your knowledge to give the correct answer.
3. Redirect
No matter how good you are, there is always something you don't know. You cannot answer all the questions raised by others. Even technically, you can do it, but it will take almost all of your time. In fact, you don't need to use this. You can create a knowledge base, which has your solutions to problems and persons you can ask. This will save you a lot of time.
4. Decision-making
Part of your responsibility is to make decisions, and your team depends on you for everything. The sooner you make a decision, the faster you can take action.
Pay attention to the following aspects when making decisions:
Filter your decisions until you have two other options. The complexity of the problem increases exponentially with the increase of available solutions;
It is best to make quick decisions based on experience and scientific data;
If you cannot make the right decision at a certain point, you should consider whether to find someone who can solve the problem to make the decision;
If there is still no optimal choice, it may be that there is not enough data or it is misled by incorrect questions. Finally, either stop or rely on your own intuition.
5. Model
The most important thing about technology leaders is that they themselves are a model, that is, they must set an example and be learned by others. Technical leaders are generally not managers, because they focus primarily on code rather than people. Therefore, respect for and trust in team members is extremely important, which is beneficial to the development of work and projects.
Most leaders may find it hard to free up time to write code, which is not desirable. Sometimes, the code you write does not have much effect. It may just fix some bugs or add a useful code snippet. This is more valuable than the Code itself.
Action
The following lists some things that can help technical leaders push forward the project.
Develop product launch, test, and release plans
Efficiently host engineer team meetings
Ensure that meetings are useful, temporary, and necessary
Locate priority items
Say "No" to unnecessary functions"
Follow up and solve problems in a timely manner
Learn to collaborate to solve bugs
Maintain the relationship between various functional departments
Refine the target and set the date for reaching the target.
Keep the tools you are using up-to-date
Training engineers
Recruit engineers from other teams
Reviews the code and provides useful feedback.
Read and write, and give feedback to others' design documents
Write appropriate code at the right time
Learn to work with other engineering teams
Think about and seek better solutions
......
David Byttow believes that there is no shortcut to becoming a successful technical leader. You need to do everything in a down-to-earth Manner, accumulate slowly, and maintain your faith.