- Review/refactor design and documentation that the team produces. See Scrum sprints.
- Review code, optimize/refactor for comprehensibility, speed, memory and safety. This will keep you up to date with the code.
- Evaluate and select code analysis tools.
- Evaluate tutorials and point team members to them.
- Use stack instead of heap.
- Solve difficult technical challenges that are beyond the capabilities of a team member.
- Assist in solving difficult problems. Since you have been continuously reviewing design and code, you won't need extra acclimation time.
- Review issue definitions and refactor for comprehensibility.
- Review commits to repository (commits should be multiple times a day, not once a week)
- Write simulators/emulators for external hardware and software components
- Write initial versions of build scripts. Scripts will be maintained by juniors.
- Write initial versions of setup scripts that makes setting a development environment as simple as a single mouse click. Scripts will be maintained by juniors.
- Find ways to decrease build times, create tutorials.
- Disable antivirus
- Use Linux instead of Windows.
- Precompiled headers
- Optimize IDE settings, create tutorials.
- Shortcuts
- Folder view
- Output directory = bin
Notice that the list does not contain product work because fulfilling the above would take a lot of time. Product development consists mostly of repetitive/boring work that a junior can handle with guidance of a senior. By freeing the techlead from those chores and making him a team mentor and solver of only hard problems, you improve productivity of everyone.
No comments:
Post a Comment