是你的程序员辛苦还是他们太懒?

时间:2016-12-16 16:12来源:CSDN 作者:瓏曦 点击:

当做体力劳动时,很容易评估工作强度,因为能看到肢体的动作,甚至包括汗水。你也可以通过他们的工作成果来衡量:比如砖墙一直在被砌高,地下挖的坑越来越大等。认识和奖励辛勤工作是人的本性。当这一切遇到了脑力劳动时就有所改变,因为创造性的技术员工往往看起来似乎没有那么的辛苦。

早在2004年,当时我是有线电视公司计费和配置系统大型团队中的一名初级开发人员,大系统由多个相对独立的子系统构成,每个子系统又有不同的小团队负责。其中模拟电视和数字电视两个团队就相对独立。模拟团队决定将系统建立在微软Biztalk的早期版本上,他们工作异常辛苦,经常能看到他们深夜和周末加班加点的身影,围绕在桌前探讨产品问题、解决之道,工作真的非常辛劳。

而在数字团队身上则不一样,代码大多数由一位名叫Dave的成员搞定。我当时只是负责初级维护工作,一开始我很难看懂那些代码,有同事抱怨Dave做事太复杂,但是Dave将我招致麾下并建议我读几本面向对象编程的书,他教我设计模型、SOLID原则以及单元测试。这样没多久我就开始觉得代码变得有意义了,而且随着我越发地努力学习编程,开始欣赏他很棒的设计。这样的结果就是表面上看起来我们似乎一点不辛苦,我下午五点半就下班回家、周末也不加班、我们不会围着桌子探讨。在外人看来一定认为比起模拟团队,分给我们的是很容易的工作。而事实是,工作要求很相似,我们只是有更好的设计和更完善的软件、更好的配套基础设施,尤其是我们的单元设计。

之后经理准备根据大家表现给出绩效加薪奖励,当轮到我跟老板聊的时候,得到的却是他不认可我们工作辛苦的回答,和那些贡献夜晚和周末的团队比,我们团队似乎并不关心公司。

其实有线电视公司可被看成一个实验室,你可以直接观察比较优秀和糟糕的软件设计和团队行为。我认为一个辛苦工作的表象往往是一个失败的迹象。在高压环境下其实不利于软件开发者工作,长时间工作也不一定有好的效果。有时解决难题最好的办法是停下来不去想它,走出去散步或者好好睡一觉,让潜意识去解决问题。

管理层判断员工努力与否应取决于结果、工作软件,而不仅从工作表象来得结论。而且最好不要限制开发人员一定坐班,远程工作有时更有效率。你可以用员工的工作结果衡量判定,而不是盯着他们坐在自己桌前每天8小时或者围在一起“热火朝天”讨论所谓“有用建议”。

分享到: