焦油坑与激情 论程序员的职业生涯
先来听我说几个真实的故事:
上周面试了一个开发人员,这个人所有的面试题都答出来了。各方面我们需要的知识也掌握了,但是在初试中,这个人就被我们三个面试官一并否决了。 原因很简单,这个面试者提供的答案都是能解决问题,但几乎都是效率最差的方案;另外,从一些面试题中,可以看出这人很多时候,把开发工作当成一个应付差事的工作来做,而不是作为自己的兴趣来做。缺乏激情,工作只是应付差事,仅仅是由于有几年工作经验,才能答出我们的面试题。这样的人不要也罢。
另外一个故事,公司有个开发组,在他们组发生过这样一件事情:有次在一个界面布局文档中,有几个很明显的错别字。提交到某个开发人员那里后,开发人员在知道是错别字的前提下,不跟其它相关人员沟通,在WEB页面上,仍然采用了这个错别字。
再一个面试中听到的故事:在问面试者为何离开前一个公司的时候,有个面试者说了这样一种情况,一个10个多人的开发团队,忙了一年,产品还没有上线,需求还在因为Boss的灵感不断,还在不断修改中,最后他觉得对这个项目和这个公司失去了激情,为此他决定寻找新的工作机会。
种种原因,没能或不再把编程工作当作一种乐趣,没有成就感,这是上面三个故事产生的根源。这是我的看法。
不仅仅程序,编程系统产品在焦油坑中苦苦挣扎,程序员们也在焦油坑中苦苦挣扎。下图是人月神话第一章的插图:拉布雷阿的焦油坑壁画(Mural of La Brea Tar Pits)。我们每个人都象其中的动物一样,时时刻刻陷身在焦油坑中,都在苦苦的挣扎中。
说自己陷身焦油坑,有这个,哪个苦恼。谁没有苦恼,人在各个阶段都会有大量的苦恼存在,在苦恼中仍然有激情,这才是重要。
有时候,我就在关注身边的程序员,去想他们为何会有这样、那样的行为发生。分析的其中一个结果就是:程序员的水平差别很大程度是看他是否有编程的激情。
比如:刚毕业的大学生,差的,好的我都看到过,好的一个在还有半年才毕业的时候,就被我拉到公司工作了(这个人后来由于想自己创业,离职了,不过这个人的激情我非常佩服)。而差的,在面试中一些非常简单问题的答题,让我差点吐掉。要知道,我面试刚毕业者,一般不是考具体应用,而是重点考察算法、数据结构的简单知识,而这些知识,大学里是必修的。
有哪些方面可能成为程序员有激情的原因?
在人月神话的第一章《焦油坑》中提到编程行业“满足我们内心深处的创造渴望和愉悦所有人的共有情感”提供了五种乐趣:
创造事务的快乐;
开发对其它人有用的东西的乐趣;
将可以活动、相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力;
面对不重复的任务,不断学习的`乐趣;
工作在如此易于驾驭的介质上的乐趣--纯粹的思维活动--其存在、移动和运转方式完全不同于实体物件;
从我的角度来理解,就是以下两个方面:
编程的结果导致的激情,包括创造事务,以及创造的事务被其它人认可。
编程的过程,把一行行代码组装成一个功能强大的产品,组装中引入自己正在关注的一些技术,算法,模式。这个算法是我设计的,为此带来的一系列乐趣。
编程的结果和过程,很多时候受制于其它人的。这时候必然会对你在这方面的乐趣产生限制。
越是大公司,越是大型的系统,这种限制越多。另外,日企的严格开发规范,我觉得是对这些限制达到极致的表现。所以我个人肯定不会去日企。也不建议去日企。有些技术牛人,没有去大企业,可能的一个原因是因为他想把自己这些编程乐趣保留在一个更大的范围。
另外,微软开发流程我知道的可能比较多点。我就说说我对微软开发中的乐趣说说我的看法,毕竟我不在微软,可能不一定对。
1、我觉得在微软开发团队,测试人员的开发乐趣比开发人员的开发乐趣要更多。
开发人员需要有产品经理的各种文档作限制,他的最大开发乐趣可能是在设计各种更优秀的算法来保证界面功能可用。
而测试人员则需要用各种工具(包括自己开发的,使用脚本等)来测试各种场景。比如我挺佩服的施凡,有段时间,他为了测试Live Meeting,自己在设计写个语音机器人,来完成这个测试。
2、工作产品被很多人使用的成就感,这点大家应该都很明白,就不细说了。
上面说的是针对个人的编程激情,很多时候,周围人的习惯会影响你也会慢慢具有这个习惯,这就是团队,环境在潜移默化的感染者您。
如何让团队保持激情?
以下只是我个人的看法,并不一定使用于你的环境。
1、制度化,并以身作则。
比如我带领的论坛相关产品开发团队,有个制度就是每周四,组内一个成员介绍自己最近关注的技术。这个制度我没有往整个公司推广,是因为我觉得推广到整个公司,平均分配到每个人身上,就是4、5个月才轮到一个人一次,对于个人学习的督促作用一点用都没有了。
2、工作节奏松劲轮换,不能一直以一个节奏来进行。
该加班的时候就加班,该放松的时候就放松。注意不能一直是一个节奏,如果一直是一个节奏,那么人很容易懒散。
总结:
最近在看《人月神话》,其中的很多知识点感触很深,很浅显的一个道理,如果让自己一个人去慢慢悟的话,就不知何时才能出来。
回到本文讨论的主题,如何让自己保持激情?如何让团队保持激情?这是每一个程序员,每一个项目经理都要考虑的事情,只有有激情的团队才能产生伟大的作品。才能跟上时代的步伐。
版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。
本文地址:https://www.gunzhua.com/jiuye/zhiyeguihua/19936.html