tech lead需要抓住战略要点,然后从整体去调节团队的开发,从整体计划到细节实现;
tech lead在深度和广度两个维度上越优秀越好;
对项目的掌握越充分(广且全)越好;
如果因为种种原因不可兼得,对于tech lead来说广度要优于深度;
毕竟深度可以有专门的骨干成员来替代,而广度则只有tech lead一个位置能做;
这里有些错误不可犯,比如项目本身是高复杂度+高效率,那么就不能采用强调开发效率而性能却很低的方式;
另外确保对整体的了解,避免无用功;
最近遇到个有意思的事情,同一个团队,程序A目标是优化内存,然后时间换内存,优化了n mb的内存;然后程序B目标是优化效率,profile到这个热点之后,把改动revert,优化了n ms的效率;
程序员A和B都很高兴,各自可以宣称把项目优化了多少;
但是项目却遭受了开发进度上的损失,这个就是tech lead要在开始明确整体的战略目标,进行决策,一个解是:
明确战略目标,比如说是性能,那么就否决A的改动;
然后内存节省,要全局去寻找,避免做时间空间对换的策略;
这个操作就是tech lead的本职工作,程序A,B两个同学做出这个实现应该说是没有问题的,毕竟大家就是在局部看自己的问题,得出最优解是合理的;
tech lead把局部最优解,升级成全局最优解;