The Manager's Path
СтатистикаSome notes of The Manager's Path book during reading. Main channel: @happydeveloper_tlg
- Последний пост
- 18 нояб. 2024 г.
- Последнее чтение
- 13 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- английский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
#Managing_people
How to be a great tech lead Understand architecture: Take time to understand it. It's almost impossible to lead projects well when you don't understand the architecture you're changing. Be a team player: If you're doing all the interesting work yourself, stop. Working on the less exciting, boring or frustrating parts of the code base can teach you a lot about where the process is broken and how to fix it. Also, if you are doing the most boring work, stop that too. You want to encourage others on your team to learn the entire system. Lead technical decisions: Determine which decisions must be made by you, which decisions should be delegated to others with more expertise, and which decisions require the whole team to resolve. Make it clear what the matter under discussion is, and communicate the outcome. Communicate: Your productivity is now less important than the productivity of the team. You will pay the price of communication overhead, you represent the team. If one universal talent separates successful leaders it's communication skills. Successful leaders write well, they read carefully, and the get up in front of a group and speak. Don't forget to listen and give others a chance to speak. If you aren't a good note taker, you may need to become one.
Good manager, bad manager: the process czar The process czar believes that there is one true process that will solve all the team's biggest problems. Agile, Kanban, scrum, Lean, or even waterfall. Engineers sometimes turn into process czars when they become tech leads, seeking out the right tool to solve all issues with planning, focus, time management, and prioritisation. Processes must meet the needs of the team and the work. Be careful on relying on processes to solve problems that are a result of communication or leadership gaps on your team. It's a waste of your time to play rule cops, and automation can often make the rules more obvious.
Managing a project 1- Break down the work: Start breaking down your big deliverables into tasks. 2- Push through the details and the unknowns: Work through the unknowns until you really feel that there is no more value to be gained in spending time on them. 3- Run the project and adjust the plan as you go: The value of planning is that it helps you know how far the project has come, and how far it is from completion. 4- Use the insights gained in the planning process to manage requirement changes. 5- Revisit the details as you get close to completion: Run a premortem, an exercise where you run through all the things that could fail on the launch of the projects. Make a launch plan; make a rollback plan. Celebrate.
Managing projects When faced with a project with many unknowns and relatively hard deadlines, you'll find agile processes tricky. You need to understand how to break down work that has complexity beyond the scope of what you can do as an individual. Hiring for project management is bad, but still project management has to happen. As a tech lead, you should be doing it when needed, especially for deeply technical projects. The value of planning isn't that you execute the plan perfectly, that you catch every detail beforehand, or that you predict the future; it's that you enforce self-discipline to think about the project in some depths before diving in and seeing what happens. Take time to explain. Never hesitate to take the opportunity to explain basics and motivations to senior or junior members. It educates them without making them feel small.
Being a lead 101 The main roles of a tech lead: - System architect and business analyst; Have a good sense of the overall architecture of your systems and a solid understanding of how to design complex software. Understand business requirements and translate them into software. - Project planner: Breaking down work into rough deliverables. Part of the challenge here is getting as much productive work done in parallel as possible. - Software developer and team leader: Software developers and leaders write code, communicate challenges and delegate. In your position as a tech lead, you should continue writing code, but not too much. Start looking for opportunities to delegate work. You have to act as a software developer, a system architect, a business analyst, and a team leaders who knows when to do something single-handedly, and when to delegate work to others.
All great tech leads know this one weird trick The willingness to step away from the code and figure out how to balance your technical commitments with the work the whole team needs. You'll often need to balance doing things you know how to do and enjoy doing, such as writing code, with things you don't know how to do. You'll feel uncomfortable about it. The worst scheduling mistake is allowing yourself to get pulled randomly into meetings. It's important to get your team into a schedule that allows them to be focused on development for long stretches of time. Part of your leadership is helping the other stakeholders, such as your boss and the product manager, respect the team's focus.
You can't lead without engaging with other people, and people skills should be important, much more than technical expertise. Tech leads will work on one major new technical skill: project management, or the work of breaking down a project. Being a tech lead is an exercise in influencing without authority. How do I empower my team? How do I remove the obstacles slowing them down?
It is very hard to grow past senior engineer 2 without ever having acted as a tech lead._
The tech lead is learning how to be a strong technical project manager by delegating work effectively without micromanaging. They focus on the whole team's productivity and strive to increase the impact of the team's work product.
The tech lead role is not a point in the ladder, but a set of responsibilities that any engineer may take once they reach the senior level. - Regular (weekly) 1-1 touchbases - Regular feedback on career growth, progression towards goals, areas for improvement, and praise as warranted. - Working with reports to identify areas for learning and helping them grow in these areas via project work, external learning, or additional mentoring.
The idea that the tech lead role should automatically be given to the most experienced engineer, the one who can handle the most complex features or who writes the best code, is a common misconception that even experienced managers fall for.
#TechLead
Key takeaways for the mentor Be curious and open-minded: When we close our minds and stop learning, we start to lose the most valuable skill for maintaining and growing a successful technical career. Working with new people who are learning things for the first time can shed light on hidden patterns and help you make connections you may not otherwise have made. Listen and speak their language: Mentoring forces you to hone your communication skills. You must be able to listen and communicate in a way that the person can understand. Teams have to communicate effectively to get anything done. Make connections: Your career ultimately succeeds or fails on the strength of your network. Mentoring is a great way to build this network. Your career is long and the tech world can be very small, so treat the other person well.
Tips for the manager of a mentor What you measure, you improve. You help your team succeed by creating clear, focused, measurable goals. Figure out what you're hoping to achieve then find the person who can help meet those goals. If your company is setting up mentoring programs, make sure that there is some guidance and structure. Recognise that the mentor productivity will slow down during the mentoring period. Look for someone that you believe can succeed who wants to distinguish herself beyond her coding ability. Skills that address emotional needs of people and teams. Because the outcome can be difficult to quantify is often dismissed as less important. Mentors need to be recognised, should be treated as first-class citizens. Best mentors are going to be people who are further along in their mastery of the job skills that the mentee is trying to develop. Use this opportunity to reward and train future leaders of your team.
Good manager, bad manager: the alpha geek The alpha geek is driven to be the best engineer on the team, to always have the right answer, and to be the person who solves all the hard problems. He values intelligence and technical skill above all other traits. Can't deal with dissent. He has all the answers. The alpha geek tries to create a culture of excellence, but ends up creating a culture of fear. The alpha geek believes that every developer should know exactly what she knows, and if you don't know something, she will point out your ignorance. She can be very rigid about how things should be done and closed off to new ideas that she didn't come up with. If you have ever wondered why people don't seem to come to you for help despite your clearly strong technical skills, ask yourself whether you're showing some signs of being an alpha geek. Mentoring can be a great opportunity to break out of that habit. Practicing the art of teaching can help us learn how to nurture and coach, how to phrase things so that others will listen, instead of just shouting them down. Alpha geeks make absolutely terrible managers. Better off to give them a focus on technical strategies and system design.
Technical career mentoring The best mentoring relationships evolve naturally and in the context of larger work. When you are a mentor: Don't do it unless you think it will be rewarding for you and the person you're mentoring. Don't say yes and then fail to actually do the mentoring work. When you are a mentee: Think about what you want to get out of this relationship, and come prepared to your sessions. If you don't have time to prepare or you don't think preparing is necessary, ask yourself if mentoring is really something you need at all. Maybe instead you need a friend, or a therapist, or a coach.
Mentoring a new hire Your job consists of onboarding this person in the company effectively, helping out adjusting to the life in the company and building out her network of contacts. There will be many opportunities to clarify many bits of process, culture and jargon that will be completely foreign to a new joiner. Effective teams have good onboarding documents to provide to new hires. Part of the mentoring is introducing the new person around, bringing this person into some of your networks will help her to get up to speed faster. Adopt the mindset that network building is a worthwhile investment of your time and energy.
Mentoring an intern You want him to love you as he will go to his friends and tell about you and the company he worked for. You will have to have a project in mind, look for small features of your current project that would take a few days to complete and start from there. Try to sit with him as much as possible the first days. - Listen carefully: Listening is one of the basic skills for people management. Listening is the precursor of empathy, which is one of the core skills of a quality manager. When you mentee is speaking to you, pay attention to your behaviour. Listening goes beyond hearing words, people are not usually precise on what they mean. Let your mentee correct you. - Communicate clearly: Communicate what needs to happen. - Calibrate your response: During the first weeks of the internship, you'll learn the frequency you need to check in with your mentee to provide the right adjustments.
Being a mentor It is an opportunity in a safe way about the job of management, and the feeling of being responsible for another person. The mentee gets a supervisor that is solely focused on him.