是什么让我对未知世界始终充满热情?

0%

文章创作中,如有初期反馈,请联系微信公众号金沙游戏官网,或者发邮件到[email protected]

成为技术领队,是一次大的变化,日常,不再只是代码。你的生活会变的更加丰富多彩,因为和你打交道的,多了,设计产品的,管理项目的,初入职场的,还有和你一样的其他领队。就像经历所有大的变化一样,喜悦中会伴随着一些不安。喜悦的是你的能力得到了认可,你将会产生更大的影响力。不安的是,变化带了从未经历过的挑战。如何在这个多变环境中做一个优秀的技术领队呢?

首先是要搞清楚技术领队的责任,其次是学习新的技能,最后就是不断的去实践。

我将把重点放到实践上,因为更实际,更容易理解。不过让我们先简要的谈一下责任和技能。

技术领队的责任

技术领队的责任是什么?是带领队伍独立完成产品开发任务。
重中之重,是独立二字。创业初期的公司一般人数都不多,CTO带着技术团队披荆斩棘。然而,当公司经过若干轮融资,招兵买马快速扩张的时候,CTO一个人就管不过来了。这时候就需要建立不同的团队,齐头并进,每个队伍都需要一个领头的,负责这个队伍。

这里需要着重强调的是,独立不是孤立。独立,指的是技术领队识别出对外界的依赖关系,挑起大梁,通过合理调动周围的资源,完成团队目标。强调的是技术领队发动机的作用。

独立干的事,是什么事?开发。这就要求领队扎实的技术功底。技术领队要掌握如何为复杂的问题找到技术解决方案。产品经理根据你对产品复杂度的估计来调整产品路线。团队内部成员需要你的指导,来选择相对优化的解决方案。

技术领队的技能

和不同角色高效的合作是技术领队的重要职责,这就要求技术领队熟悉各个角色的领域,知己知彼才能更好的沟通。

首先要学会和产品经理沟通。这势必要求你能够熟悉掌握你们的业务。这是最重要的,因为业务是产出,有产出了才能有价值。熟悉业务除了能够帮助你和产品经理搭建沟通的桥梁之外,还能帮助你找到最有效的技术解决方案。

其次是要学习项目管理知识。项目管理的核心就是如何在有限的时间,金钱,和资源下产出价值。项目经理负责追踪项目的进展。针对对外界有依赖关系的任务,项目经理会负责把需要的资源在合适的阶段,配置到位。除了资源的配置,项目经理会在项目进入关键交付期的时候,辨别出延期的风险,寻找各方帮助,控制风险。

除了产品和项目经理,技术领队好得搞清楚自己老板,手下和其他技术领队的角色。

一旦知道了自己的责任,了解了同事们能提供的帮助,下面就要通过切实的合作来达到共同目标。我将从时间顺序上描述如何高效的合作。

高效的培养新人,要从两个方面考量,一是新人得到提升,二是老师没有过度消耗精力。我从一个真实的错误中学到了一条很宝贵的经验,能二者兼顾。那就是在每次授业解惑前,必须备好课。

有一次,我回看新人的代码,发现不少需要改进的地方,就找到他手把手的演示如何把代码写的更加简洁。因为是临场讲解,有的问题挖的深,有的拓的宽,不知不觉,别的同事都下班了,就剩下了我俩,还有对面暗地里观察我们的老板。事后,老板找到我,说我在新人身上花的时间太多了,自己的任务都给耽误了,他给我分享了一个技巧,帮我更加高效的带好新人。

这个技巧,就是在每次授业解惑前,必须备好课,切忌临场展开大规模的讨论。备课的目的,是事先抓住问题的关键,理清讲解的范畴和思路,规划好哪部分手把手教,哪些让新人自学。这样做的好处,一是把信息更加简洁的传递给新人,并且给他自学的机会,留给他足够多的时间去消化吸收难点。一旦新人能通过一部分的自学解决问题,这就能节省老师的时间。

然而,要彻底的发挥这个技巧的威力,有一个前提,就是老师得事先充分了解到新人遇到的问题,和新人的水平。如果问题了解的不清楚,本来是语文课,结果备成了数学,没用。新人自学能力不足,你甩给他一堆资料,他也学不会。

除了这个前提,还有后续的反馈。新人自学一段之后,要从新评估他对问题的理解水平,作出相应的备课调整,进而再讲解。

高效的培养新人,就是要建立一个,从了解,备课,传授,到从新评估的循环机制。刚开始带新人的老师,可能在每个阶段上都要花些心思,这个循环的周期也可能是一天,两天,或好几天。随着老师带人阅历的增加,不同阶段之间的衔接会更流畅,带人的效率也会更高。

今年参加了法国最佳金沙游戏厅(Meilleur Dev de France)比赛,结果第一轮就惨遭淘汰,非常可惜,总结一下失败的教训,希望下一年能比的更好。

之所以止步第一轮,有几个主要原因。

首先,是太在意得失了。第一次取的了不错的成绩,大伙包括自己,都有很高的期待。开赛前,老板还给我说,如果进了前二十就请客吃饭。越是在意得失,就越难集中注意力。

除了心态,另外是解决问题的方法。越是到关键时刻,越不能像无头苍蝇一样乱撞。乱撞的成本太高,这次浪费了不少时间,纠结是大于等于,还是纯大于的一些操作上。越是乱,越要冷静的思考,可以画个图,演算一遍算法,每个细节都要有理论的支撑。

冷静之后,还要提高考虑问题的层面,不要着急的直奔方案,而是要先申清楚所期待的输入输出,避免做一些错误的假设。如果开头的假设,是不正确的,就像盖楼一样,盖得再高,也要推到重做。具体的来讲,就是可以花上一分钟的时间,把题目举得例子都先扫一遍。

最后一个原因,就是生搬硬套。这些年来,大大小小的比赛也参加了不少,自己也积累了一些常用问题的解决办法。可过多的依赖已经写过的代码,也是有风险的。已经写过的代码,往往是经过提炼和抽象,解决一类问题的。如果要重用这些代码,必须把现有的问题转化成既有方案能适用的样子。这个转化的过程,很容易拖慢解题速度。比如这次我遇到的问题,其实是一个很简单的深度遍历的问题,如果生写代码,几分钟也就能搞定了。我却过度的依赖一个已有的框架,做了一些转换,结果转换的过程中,出现了一些差错。

可归根结底,还是平时训练的少,自己如果真的掌握的已经炉火纯青,也不至于在压力的情况下就败下北来。

失败的滋味,很不好受,特别是这种有排名的比赛,就觉得你都工作七八年了,还比不过,那些还没有毕业的大学生,情何以堪!当天晚上回来,就一直懊悔,为什么会犯那么低级的错误。虽然会难过,但也会暗示自己:不能只注重结果,过于的在意输赢,很容易就导致一个人在失败的时候,完全放弃。参加比赛,更重要的是激励自己平时的积累,保持思维的敏捷,学习不能停。失败了,就意识到了不足,继续加油!