上个季度,想给我组里的一个L4做升职,却被我经理“痛批”了一顿😭。我跟现在经理合作已经2.5年,这是他说我最狠的一次。情况是我们在review promotion doc, 经理随手抓了些数据,比如程序员在过去半年发cr的数量,review 别人 cr 的数量,结果发现比其他新晋l5少,问我如何解释。我一时答不上来。一方面作为新手经理,对给人升值会考察的dimenstion我不太清楚,所以没有准备充分,另一方面我也觉得,这,有问题啊!
自己开始带人之后发现程序员们的打码效率真的是有很大差别的。与态度无关,主要是个人基础和做事方法的差异。编程基础,只能靠主动学习去提高。至于方法,我觉得这几年还是积累了一些,可以写出来探讨一下。
🌟 数据很重要
有不少程序员对看代码数据,比如提交cr数量,有些反感。但不可否认的是,这是升职的参考(其他的,经理也看不懂),也是程序员们的铁业绩啊。如果想从L4升L5,那就要注意让自己的数据跟组里其他L5持平。常上GitFarm抓一下自己的数据,跟周围比较一下,会比较有动力哦。
🌟 做好task breakdown
写代码前,一定要做好task breakdown,计划好要发几个cr来完成项目。我安排cr的准则是,能分成两个cr,绝对不写一个。小cr发的快,review的也快,自己会更有成就感。如果是新手程序员,可以让组里有经验的前辈帮你优化task breakdown。Task breakdwon, 其实是帮助程序员manage complexity 的关键步骤,做好了,代码会越写越简单,越写越快。
🌟先写code skeleton
完成项目代码,对程序员来说一般会有好几个难点和未知。但是如果一上来了就扎入这些难点和未知,会乱了手脚,打击信心。我喜欢先搭出框架,写出主要class, interface,function signature。 有了整体框架,flow也理顺了, 再一点点implement。
🌟有计划地做测试
开发过程中,如果走一小步测试一下会很浪费时间,但是写了一大堆才测试,又很难debug。建议大家写完code skeleton后,用comment标出测试点,让自己mindfully去思考在哪个节点做测试更合理,不要毫无章法的乱来。测试点找到好不好,对打码效率有很大影响,但是没有统一的诀窍,要靠经验的累积。
🌟不要被细节牵绊
我写代码,喜欢码一遍,改一遍。码的时候负责功能实现,改的时候负责把写好看。在一个iteration, 同时完成功能实现和代码好看,常顾此失彼,走的很慢。
🌟 发cr前读两遍啊
这个就不多说了。每次我读到满篇typo的cr,都超生气的。