管理一支技术团队可能是世界上最难的事情之一。如果你是一个经理,你需要和很多方面的专家合作,和你的上级协调产品需求,和负责协调产品交付件的同级合作,和将产品功能转化成技术需求的同级合作,带领直接汇报给你的团队等等。在某些糟心的时刻,你需要面对的是会把患有自闭症的送报小孩(原文,阿斯伯格综合症,爱因斯坦曾患有此症)赶走的同事。
我曾经担任过开发经理、开发总监的工作,也曾经是一个开发人员,在过去的几十年中,在管理技术团队这件事情的两边,我经历过许多非常不一样的“管理风格”。从技术团队的角度出发,就成为一个卓越的技术经理必备的特质,我会给出一些建议。
首先,技术人员的工作环境始终飞速变化,我觉得如何成为一个卓越的技术经理是一个非常重要的话题。 在过去的二十年中,我们可以看到软件开发的模式有发生了巨大的变革。在大多数企业中,软件开发的周期变得短,而且管理层因为每个季度盈利的目标而对产品开发施加更大的压力。对于许多初创企业,都需要在第一时间发布新的软件产品。这些情况都导致了在软件开发中我们会一直使用各种变更管理的方法。(参考 PMP 传统项目管理或 Agile 方法中的变更管理 Change Management)
在我还是一个开发人员的时候,我明白了第一个道理。我的老板当时问我,你知道你的工作对公司有哪些贡献吗?
我:『额…… 我吗,我就是在写代码。』
老板:『好吧,你是在写代码。让我换一种方式来问你,你觉得你写的每一行代码会给公司带来多少利润呢?』
我:『(脑瓜爆炸中……)噢,不是?我觉得,我不能……我从来没有…… 额……你在说啥?』
我的老板事后向我解释,公司的想法是,每一个开发人员都应当知道自己对于公司的贡献。 当然这不是在讨论每一行代码能产生多少贡献,更主要的目的是,你知道你的工作会对公司的利润产生影响。 你的工作会影响你所开发的产品, 在其生命周期中,这个产品将帮助公司赚钱或是省钱。如果你能得到这些盈利或是节省的数字,除上公司的投入(项目上开发人员的工资收入), 就可以知道你所在项目的大致收益情况。听完这些话后,我一下子茅塞顿开。
这件事情的意义在于,在真实的商业世界里,我在这里引用梳着黑色大背头的 Michael Douglas 关于贪婪带来的好处的说法:对于公司来说,所有的事情都是赚钱相关的。(详见 Michael Douglas 参演的电影 Wall Street)。然而,作为开发人员,我们专注于开发这一艺术性的工作上。我们创造出的代码,将比以前更快、更好、更优雅地解决问题,完成任务。我们就像画家一般在画布上尽情作画,直到完美,从无到有地创造,开发出令人兴奋、大呼碉堡的软件, 这和利润有半毛钱关系?
技术经理们就像“动物园”的看门人一样(想到程序猿们……)。他们应当要能够使用我们的语言,体谅我们付出的劳动,理解我们的问题,并且和我们一同分享胜利的喜悦。同时,当他们没有在做这些事情的时候,他们给予我们反馈,给予我们产品的需求,代表我们和他们的上级和同级的同事一起制定项目预算,确认开发的费用和团队人数。当某一个表面光鲜的销售姐姐因为要完成她的月度销售指标,将没有在当前开发计划中的产品功能承诺给了客户时,他们会帮助我们去解释为什么这样的情况会导致产品的发布日期延后一周。
经理们是公司机器的润滑油,是公司军队中的军士长。他们知道如何把事情做完,何时要紧,何时要松。简单的说,作为开发人员,你工作上成功的概率基本上正比于你老板的职业技能和工作的有效性。在我一生的职场经历中,我变得珍惜和感谢优秀的经理人,我知道真正优秀的经理人就像能中奖的彩票一样稀少。读了下面的文章,你就可以知道你有没有中了『好经理人』彩票。
更多详细信息,请您微信关注“计算网”公众号: