程序员理想中的工作环境
1. 弹性上班制
程序员群体是一群怀有Geek情结的家伙,追求相对的精神自由,在自己的时间安排上也喜欢自由自在、无拘无束。灵感来时,可以废寝忘食、疯狂Coding;思维乏术时,则可能漫不经心、无所事事,这时不如早点结束工作,放松心情,触发下一次的灵感。
常规企业的朝九晚五上班制度,说实话并不适合程序员一族,因为这种制度一定程度上扼杀了这个最需要差异性的群体的差异性,把程序员的Coding灵感等同于工厂流水线上机械手臂,希望按钮一按下,灵感发动,按钮再一按下,灵感结束。这是一种一厢情愿的想法。
所以对于高层次的程序员群体,请不要在作息时间上严格限制他们,因为他们不是装配工,有着独一无二的个体差异性,有着不同的思维G点,他们需要差异性的时间作息来调整自己的最佳状态,从而迸发激情和灵感。
上班时间的弹性有多大,比如早上8点——10点上班,下午4点——6点下班。只是一个相对的参考,因为个体的差异性有时候的确不容易完全包容,作为一个企业的运作,还是需要一定的时间规范,只不过尽可能地考虑到程序员群体的独特性思维。
2. 宽松的工作氛围
程序员群体讨厌管理,任何自上而下的所谓管理都容易引起程序员们的心理抵触,特别是那种死板的、指令式的管理模式,尤其让程序员们作呕。
程序员们希望自己做的事情是出于内心的意愿,那样他们就会干劲十足,而不是来自于经理计划文档中那条冷冰冰的文字,那怕是他们心里意愿的和经理的计划本是同一件事。所以对于程序员群体的管理需要技巧,要化管理于无形,让他们感觉不到管理的痕迹,让他们感觉着做这些事情就是出自于他们自己的意愿。
总结来说就是让他们作为自己的管理者,而团队的管理者所要做就是培养他们这种自管理的能力。
正如K.K在他的大作《失控》中所阐述的思想:有机的活系统,依赖于分布式的自管理的子系统,而各个子系统又依赖于分布式的自管理的个体,没有中枢,没有一个统一的自上而下的管理,每个个体相互联系,相互反馈,相互协作,创造了一个生机勃勃、充满活力的有机活系统。看似杂乱,却有条不紊地运转。
适度的压力可以产生做事的动力,但长时间的持续的压力却是扼杀激情和创造力的罪魁祸首。压力会让程序员焦虑,同时也会造成低劣的设计和代码实现,因为交付的压力会让程序员对匆忙设计出来的方案妥协,而不会持续的优化找到最优方案。而一系列看似微不足道的缺陷设计集合到一起,就会形成让人意想不到的、不可控制的乱象。
正所谓:一张一弛,文武之道也。偶尔的交付压力,可以让程序员执行效率提高,但却不是长久之计。让他们在完成既定目标的同时有自由思考时间,是一个明智的选择,看似拖长了项目研发的进度,所获得的回报却是不容小觑的。因为每个个体表现优异,会叠加到整个集体的表现优异,正向反馈,正向循环,持续优化,达到一种最佳的状态。
所以,“快”不见得是好事,“慢”也不见得是坏事。
3. 鼓励参与开源项目
开源项目社区的欣欣向荣,是一朵盛开的奇葩,无论怎么赞誉都不为过。
一些著名的开源项目,例如Linux,Apahce, openssl等等,数不胜数的优秀设计,给我们带来了多少的惊喜,同时也催生了多少的商业公司。
参与到开源项目中,是一个程序员从初级走向高级、完善技术的最有效途径之一。一些著名的开源项目,架构设计和Coding技巧上都属上乘之作, 浸淫其中,受益匪浅。
人们常说:成功的第一步就是模仿。在软件设计领域也是如此。当一个程序员通过理论学习掌握了一门语言的基本技巧后,要怎么样才能更上一层楼,快速提升自己?实践,实践,再实践!而参与开源项目就是最好的实践之一。一是可以学到很多优秀的设计思想和Coding技巧,而是可以跟很多牛人并肩作战,讨论技术。人生快事,莫过于此!
站在程序员个人角度,参与开源项目的益处显而易见。那么站在公司企业的角度,凭什么要让自己的员工耗费精力参与到开源项目中呢?这样有没有可能影响本职的工作呢?
俗话说:站的高的人才能看的更远!思维的高度决定行动的高度。企业管理者如果能够站的高一点,眼光能够看的远一点,就会领悟到让自己的员工参与到开源项目中对企业本身的益处也是显而易见。
例如下面几点:
- 公司业务本身使用的技术框架就涉及到开源项目,那么开源项目的发展就跟企业的发展息息相关。
- 员工本身技术能力的提高会带动自己团队整体技术能力的提高,对公司来说是可能是一件需要花费很大气力要做的事情。
- 让员工获得成就感,员工就会把这种积极的情绪带给团队和公司,营造一个积极向上的工作氛围。
当然,企业毕竟不是专职做开源项目的,主营的还是自己的业务。那么对员工工作时间上的安排要有一个大体的把握,既然鼓励员工参与到开源项目中,又要提醒他们不要影响到正常的研发工作。这是需要注意的地方。
4. 兴趣学习小组
学习,是人的一种天性,是人的一种权利,也是人毕生的追求。
身在企业,如果失去了学习的空间,被剥夺了学习的权利,没有了自我提升的空间,那么这个企业就不值得为之付出。
工作之余,召集几位志同道合的同事,为了一个共同的学习兴趣,开办一个兴趣学习小组,相互讨论,共同成长,岂不快哉!
兴趣学习小组的形式可以多种多样,譬如:
- 共同研读一本书籍,写下自己的读书心得,然后跟大家交流。
- 组织读书会,大家在一起共同研读经典之作,交流新的,获取灵感。
- 组织编程道场,就一个题目进行设计、编码、测试,在实践中获取真知。
组织活动的时间上要把握好,不能太频繁,不然会影响正常的工作生活节奏;但也不能跨度太长,不然会造成断片,大家的积极性会逐渐降低。比如两周组织一次活动,我觉得还是可以接受的。
来自: http://原网站已经失效/article/programmer-ideal-workplace.html