有时候,我就在关注身边的程序员,去想他们为何会有这样、那样的行为发生。分析的其中一个结果就是:程序员的水平差别很大程度是看他是否有编程的激情。
比如:刚毕业的大学生,差的,好的我都看到过,好的一个在还有半年才毕业的时候,就被我拉到公司工作了(这个人后来由于想自己创业,离职了,不过这个人的激情我非常佩服)。而差的,在面试中一些非常简单问题的答题,让我差点吐掉。要知道,我面试刚毕业者,一般不是考具体应用,而是重点考察算法、数据结构的简单知识,而这些知识,大学里是必修的。
有哪些方面可能成为程序员有激情的原因?
在人月神话的第一章《焦油坑》中提到编程行业“满足我们内心深处的创造渴望和愉悦所有人的共有情感”提供了五种乐趣:
◆创造事务的快乐;
◆开发对其它人有用的东西的乐趣;
◆将可以活动、相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力;
◆面对不重复的任务,不断学习的乐趣;
◆工作在如此易于驾驭的介质上的乐趣--纯粹的思维活动--其存在、移动和运转方式完全不同于实体物件;
从我的角度来理解,就是以下两个方面:
◆编程的结果导致的激情,包括创造事务,以及创造的事务被其它人认可。
◆编程的过程,把一行行代码组装成一个功能强大的产品,组装中引入自己正在关注的一些技术,算法,模式。这个算法是我设计的,为此带来的一系列乐趣。
编程的结果和过程,很多时候受制于其它人的。这时候必然会对你在这方面的乐趣产生限制。
越是大公司,越是大型的系统,这种限制越多。另外,日企的严格开发规范,我觉得是对这些限制达到极致的表现。所以我个人肯定不会去日企。也不建议去日企。有些技术牛人,没有去大企业,可能的一个原因是因为他想把自己这些编程乐趣保留在一个更大的范围。
另外,微软开发流程我知道的可能比较多点。我就说说我对微软开发中的乐趣说说我的看法,毕竟我不在微软,可能不一定对。
1、我觉得在微软开发团队,测试人员的开发乐趣比开发人员的开发乐趣要更多。
开发人员需要有产品经理的各种文档作限制,他的最大开发乐趣可能是在设计各种更优秀的算法来保证界面功能可用。
而测试人员则需要用各种工具(包括自己开发的,使用脚本等)来测试各种场景。比如我挺佩服的施凡,有段时间,他为了测试Live Meeting,自己在设计写个语音机器人,来完成这个测试。
2、工作产品被很多人使用的成就感,这点大家应该都很明白,就不细说了。
上面说的是针对个人的编程激情,很多时候,周围人的习惯会影响你也会慢慢具有这个习惯,这就是团队,环境在潜移默化的感染者您。
如何让团队保持激情?
以下只是我个人的看法,并不一定使用于你的环境。
1、制度化,并以身作则。
比如我带领的CSDN论坛相关产品开发团队,有个制度就是每周四,组内一个成员介绍自己最近关注的技术。这个制度我没有往整个公司推广,是因为我觉得推广到整个公司,平均分配到每个人身上,就是4、5个月才轮到一个人一次,对于个人学习的督促作用一点用都没有了。
2、工作节奏松劲轮换,不能一直以一个节奏来进行。
该加班的时候就加班,该放松的时候就放松。注意不能一直是一个节奏,如果一直是一个节奏,那么人很容易懒散。
总结:
最近在看《人月神话》,其中的很多知识点感触很深,很浅显的一个道理,如果让自己一个人去慢慢悟的话,就不知何时才能出来。
回到本文讨论的主题,如何让自己保持激情?如何让团队保持激情?这是每一个程序员,每一个项目经理都要考虑的事情,只有有激情的团队才能产生伟大的作品。才能跟上时代的步伐。
(编辑:aniston)
|