《程序开发心理学》第一篇
本文写于2016年。
其实这本书已经看过一年了,最近管理下面小团队的时候走了一些歪路,也有一点心得,于是重新整理一些笔记发出来。 对小团队而言,掌握成员心理比一些规章制度更重要。
一
在书引言部分有两个有趣的言论
所有精简程序员规模的计划,都是以失败告终的 所有这些计划的炮制者不是别人,而恰恰是管理人员热衷于裁剪的那些程序员自己
去年我这边的开发团队还有十多人(都是外包的),由于公司运营的问题,不少开发人员离开了。我和他们的软件经理不得不承担所有的测试工作。比较奇怪的是,开发效率似乎没有降低很多。 这些开发人员的去留不是由我决定的,我只有建议权。但是我可能没有很好的运用这些权利,以致于有一些新手一年下来竟然没能完成多少工作。事实上即使是很小的团队,也应该有一些末位淘汰的机制。在很多公司中,对程序员的招聘并不严格,所谓的经验、简历也是非常容易伪造的,如果发现他们不合格的话,早点让他们离开是最好的选择。 不管是否精简团队,你都应该尽量保证团队中的每个人都是以比较高的效率在做事的。这样不仅每个人会比较轻松,也能够避免不平衡的情绪发生。 遗憾的是,这个世界本来就是不平衡的。
二
有一些事情很明显是我犯过的错误:刚来到新公司的时候,我在一个月内竟然没能弄清楚我本身的职责是什么。之后我做了很多工作,组织代码重构、制定协议、和各公司合作接入、管控测试、产品上线与运营等等。但是坦白说,我的定位是模糊的。公司希望我能够分担一个组长的工作,而我似乎让他担惊受怕了几次,这证明我的工作并不完美。 我接手了一些工作,而放弃了另一部分工作。我的同事能力很强,但是比较遗憾的是,现在的工作并没能让他们完全发挥;更遗憾的是,有几位同事并没有取得与他的工作匹配的报酬–在国企内,总是会受到一些掣肘;而学历显得非常重要。 除此之外,一个特殊的地方是我的工作有不少地方是可选的;好吧,这是我第一次遇到这种情况。我可以去支配一些开发人员帮助我,虽然我不算他们的上级。我可以去面对老总,虽然看上去没什么意义。 一年以来,我写了不少文档,类似于项目内部的流程、推送协议规范、软件的规范与反思等等;同时我掌握了很多第三方的账号,比我之前的公司多得多,因为合作方实在太多了;我会打包不同的应用,测试,发布等等。这些基本工作保证了我对公司的价值,我相信我绝对不会被淘汰。但是若想再进一步,这些是不够的。
三
当我意识到工作中的内容对我是可以取舍的时候,工作似乎有趣起来了。作为一个工程师,我本能地避免了国企内部一些冗长的会议(那是帅帅的项目经理的事情),,虽然会失去一些可能的机会。相反,我会尽可能出席和别的公司交流的会议,这样可以学到一些新的想法,认识很多厉害的人。除此之外,一些行业内幕也让我大开眼界了。 去年一整年,我做的最有意义的事大概是对整个iOS项目的整理和重构了。外行的人很难想象一个快速的外包项目有多糟糕–比那些蓄意错误命名的软件败类只好一点点。我和两位厉害的iOS和android工程师讨论了重构的思路,然后交给他们。很遗憾,他们没能坚持到底。 我会和iOS工程师交流很多新东西,然而如何在iOS、android和服务器之间建立交流的通道,或许我的水平还达不到。 我还在github上又开始了一个项目,实现了一些有趣的想法;今年年初的时候,OK,这里面的一部分被我的大学室友采纳了:他非常的佩服我,给我发了两块钱红包。这让我很高兴。