是谁动了程序员的尊严续-也谈谈软件开发团队的管理

标签: 程序员 尊严 软件开发 | 发表时间:2011-11-28 23:00 | 作者:传说中的弦哥 ooxx
出处:http://www.cnblogs.com/

点题:是谁动了程序员的尊严? 其实质是对一些遭受挫折的程序员的勉励,对热爱技术的肯定,以及小部分对以前疯狂追求技术状态的缅怀。和管理一毛钱关系都没有。居然在回复里有小部分人拿管理手段和管理艺术说事,弦哥想说的是本质上无所谓有什么管理,核心或中层人员往往目标明确,很大程度上是自我管理,底层人员其实只需要扔几个管理工具即可,不起决定性作用。打个比方:你第一个次和MM开房,装13的人会告诉你那是艺术,需要很多技巧和花招,弦哥只会笑而不语,临走前告诉你:“跟随你的心...”。结果是明显的,如果你听信前者,必然导致你心中杂念太多,手忙脚乱,折腾一个小时之后一事无成,最后被MM一巴掌扇下床...管理就像独孤九剑,一旦你就“招”就会被识破,一开始就输了...

  是谁动了程序员的尊严? 里谈了作为程序员和技术人员应该积极的去面对一些挫折。相应的这篇是谈作为技术团队管理者应该思考的一些问题。 首先我是比较不喜欢“管理”这个词的,因为没有谁会喜欢被“管理”,开始我以为是我放荡不羁的性格和无知者无畏的草根情怀所导致的...后来接受了一些关于所谓管理的正规训练后,这种感觉反而更加强烈。

  对于所谓项目管理,我大概有这些学习背景,公司培训的:MBA全景教程,欧洲商学院系列,高级项目经理考试,PMP考试,还有时代光华的那些诸如领导艺术之类的,世界500强流行的什么MOT之类的培训(也可以说是洗脑...)这些虽然我都不是太感兴趣,感觉这些都是西学中的术,个人比较推崇国学中的道,但也不是很排斥,基本都过了一遍;自己看的:《人月神话》,《软件工程》,《敏捷开发》,《代码大全》,《软件开发随想录》,还有些不入流的等等,JavaEye的软件开发和项目管理版也爱没事看看;人文方面的:各种中国正史野史不全的(明史正儿八经的看过正史,主要高中的时候受韩寒和《万历十五年》的影响),杂七杂八的各种儒释道粗略的,诸子百家中显学大概的,西方哲学简要的...所以可以看出我应该不只是一个会写代码和好色的偏激狂....-_-b,下面言归正传,来谈谈“管理”:

  1.首先对于软件开发团队来说根本不存在严格意义上的“管理”。你从敏捷开发就可以看出来,敏捷只允许你团队中有1个,不超过2个的新手。对其他的团队成员的要求基本是从技术到职业素养的全才。很多人在研究敏捷,什么结对,扁平结构,站立会议....那些都是术,都是花招...。比如你10人的团队 没有8个神一样的程序员那都是白瞎...。而神一样的程序员还需要管理吗?我承认敏捷里有非常多优秀的思想和实践,但若放到你自己的团队里玩,我觉得更多的结果是悲剧,喜剧是因为你真的非常幸运,你的团队成员足够强大,和你管理水平和敏捷真的一点关系都没有...

  2.而现实的情况是,一个10人的团队中只有2-3个骨干程序员。他们解决了整个项目80%的问题,剩下的7-8个程序员无关痛痒,他们机械的去写一些有完整技术解决方案的模块,最坏的情况是这7-8个人解决不了任何问题,还会在原本成熟的解决方案下制造一些问题。这段可能很多人不爱听,但不能否则这是事实,同时也自问自己在团队中的价值。其实你看很多牛X的大产品其实都是由个别的几个牛X的技术人员写的,团队其他人基本都是打杂的,国内外都一样。

  3.谈到这里,作为一个团队Leader你应该清醒的意识到你要做的事情首先是对于骨干程序员来说的: 最次的让2-3个骨干程序员不会认为你是个不懂技术的蠢货,较好的是让他们觉得你在技术上是有建树的,最好的是用你的人格魅力感染他们。

  4.对于其他的7-8个程序员,适当的技术培训是必要的,但不应该对他们抱有太大希望,这样大家都会很累。既然他们想成为码农就让他们当好了,个别能脱颖而出的可以重点培养。

  5.管理工具和管理技巧:不要让大家觉得在被管理,没有人喜欢被管理。你可以先给大家介绍一个比较前卫的管理工具,然后说我们大家来玩玩这个管理工具,看看咋样。如果效果不好,大家不会觉得你的管理水平垃圾,只会觉得这个管理工具不好玩而已;如果效果好,那大家就Happy的玩下去,最后你会发现 你的团队成员完全没有感觉在被管理,但其实你团队里的管理工具和管理方法真的是一大堆,有时候你自己都会觉得比较烦,但大家还乐滋不疲....人力资源部的来评估你部门管理水平的时候会着实吓一跳...

  6.对于一个团队Leader或公司技术总监是否应该深入了解技术的问题,我想是没有什么必要讨论的,这是必须的!对于公司来说,你决定的技术方向决定了公司未来几年的产品和战略,如果你对技术一知半解,那是不可想象的,足以搞死整个团队甚至是公司。比如让一个技术水平一般的技术团队使用MOSS作为平台进行开发,比如老板被微软,IBM那帮所谓首席科学家忽悠的头脑发热想大搞云计算中心等等...往小了说,你不懂技术就意味着你无法真正掌握项目的进度,那些所谓的项目管理工具都是浮云....连项目进度都掌握不了的项目经理?还是项目经理吗?

  7.你想说我有一揽子的管理工具,但我只需要一个问题就可以破解你那不需要技术的管理神话,项目做到一半,遇到一个技术问题,所有的技术人员都告诉你不能解决,你怎么办?怎么保证工期?外包?外援?那只会使你的项目风险更大,更加不可控 我们都学过的是吧? 问题在于由于你技术的缺乏导致你的技术风险预知能力下降,技术解决能力基本为零,你在大家面前是个十足的蠢货....

  8.我们经常看到一些团队的项目经理的很多问题和抱怨,我说解决问题的方法和简单,你把代码实现就可以了嘛.......你会实现而不去实现,和你压根儿不懂实现是有本质区别的。就像流行的“技术不重要,思想才重要”,这句话是给懂技术的过来人说的....代码都没写过10万行就拿这话来说事是可笑的

  9.在公司里,没有带团队做3个以上真正成功的项目之前,先把你的任何关于公司和团队的想法意见保留起来。就算你在那个职位,也不会有太多人听的进去,实力和尊重是靠事实证明的

  10.真正给公司赚到钱,也让大家看到你的人品和实力之后:对非技术的领导强调技术,对团队技术人员强调需求

 

总结:大道至简! 不要过于迷信西学的那些管理工具和管理技巧,除非你把西方哲学和文化的历史好好学一遍,否则你只会邯郸学步,不得要领。也许你回过头来看看咱老祖宗的那些东西,反而会豁然开朗呢?

举个例子:软件开发中的面向对象和面向过程的两种开发方式最早可以追溯到亚里士多德(貌似在我们的教科书中他就是个该打倒的学术权威..)的分类和逻辑两种认识世界的工具...其实这也是西方科学的根本,想当年我们学编程的时候那个云里雾里啊...点破之后其实很简单是不是?什么一切皆为对象,什么至上而下...说白了就是分类和逻辑。有时候我们会标榜面向对象而鄙视面向过程,其实很愚蠢是不?

再比如现在量子物理学算是走进了唯心主义的死胡同(当然也有平行宇宙的说法..)...居然观察会影响客观结果!但其实孔子对于占卜早说过,你不要算,在你算的一瞬间其实结果就已经变了(不占而已矣)。真的是和电子的波粒二相性一样一样儿的啊...

当然!这些“思想”固然重要,但请不要忘记踏踏实实写好你的10W行代码先...

  也许有朋友会问,你上篇说的那种有亮剑精神的团队呢?比较遗憾现在在一个比较大的公司,在一切都需要看财务报表的公司文化里不允许我那样搞,大公司很多事情也更复杂需要考虑更多。而且那种需要我投入极大理想主义精神,精力和感情的团队貌似也不太适合我这个快当孩子他爹的人。谨以文送给我那牛B的亮剑团队和团队里的兄弟们。

作者: 传说中的弦哥 发表于 2011-11-28 23:00 原文链接

评论: 15 查看评论 发表评论


最新新闻:
· Windows Phone Power Tools(2011-11-29 10:40)
· 佳能相机掉入海底一年 Google+找回失主(2011-11-29 10:37)
· 细数Google搜索进化史(2011-11-29 10:31)
· 白首不相离 惠普CTO称退休后继续推广WebOS(2011-11-29 10:28)
· WP7入华 微软借道苏宁(2011-11-29 10:25)

编辑推荐:HTML5 WebWorkers 防止浏览器假死

网站导航:博客园首页  我的园子  新闻  闪存  博问  知识库

相关 [程序员 尊严 软件开发] 推荐:

是谁动了程序员的尊严续-也谈谈软件开发团队的管理

- ooxx - 博客园-首页原创精华区
 其实质是对一些遭受挫折的程序员的勉励,对热爱技术的肯定,以及小部分对以前疯狂追求技术状态的缅怀. 居然在回复里有小部分人拿管理手段和管理艺术说事,弦哥想说的是本质上无所谓有什么管理,核心或中层人员往往目标明确,很大程度上是自我管理,底层人员其实只需要扔几个管理工具即可,不起决定性作用. 打个比方:你第一个次和MM开房,装13的人会告诉你那是艺术,需要很多技巧和花招,弦哥只会笑而不语,临走前告诉你:“跟随你的心...”.

软件开发的核心

- - 博客园_知识库
  「我们一直这样做开发,时间做久了,便忘了当初的本意.   有关软件系统开发,我们谈些什么.   我们谈过程,编码规范、开发流程、同行评审、结对编程、持续集成,从瀑布到敏捷再到极限编程.   我们谈架构,企业级、J2EE、容器化、SOA(面向服务架构)、Microservices(微服务化).   我们谈规模,大容量、高并发、大数据.

普通程序员、文艺程序员、2B程序员

- 可可 - 宇宙的心弦
希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧. 如何辨别自己在现实还是虚拟世界.

软件开发的“三重门”

- - 酷壳 - CoolShell.cn
自从上次写了“ 程序员技术练级攻略” 以来,就觉得似乎还有很多东西没有谈到,但当时没有继续思考了. 而春节前有人问我,是做底层技术,还是做业务. 这问题让我思考了很多,不由自主地回顾了一 下我这十多年的软件开发经历,并顺着整理分类了一下自己解决过的若干问题,还发散想了很多,经过了一个春节假期的发酵,产生了下面这篇文章.

软件开发的人文关怀

- - 博客园_知识库
  几年前,我从温伯格的《技术领导之路》中学到一点:技术人员往往更喜欢和机器打交道,因为他们“认为”自己更适合和机器打交道;但是,优秀的技术人员必须(也必然)具备好的沟通能力. 所以,温伯格鼓励各位技术人员多加练习和其他人打交道的能力. 温伯格的这个观点我是非常赞成的,好的技术人员一定需要“勇敢”面对他人,不能被“自实现的预言”局限在机器的世界里.

软件吞噬软件开发

- - PingWest中文网
软件蚕食世界,自互联网特别是移动互联网连接线上线下服务后,已成为不可逆的趋势. 每一项实用的服务可以由小团队来完成. 以WhatsApp为例,这款被高调收购的IM应用,拥有4.5亿月活跃用户,70%的日活跃率,至今还保持每天新增用户1000万的速度. 但这些服务居然由32名工程师支撑下来了,所以有了业界八卦“每位员工价值20亿”的说法.

软件开发中的两种态度

- - 外刊IT评论网
一种态度认为,应该对程序员在软件开发中的行为进行约束( DirectingAttitude). 持这种态度的人认为大部分的程序员水平都不高(谣传说有50%的人低于平均水平),所以应该对他们所做的事情进行管教约束. 要防止他们做一些可能会给他们正在开发的系统带来危害的事情. 通常,这种态度体现在一些系统设计和工具中时,你会发现它们会试图阻止程序员去做某些事情,限制程序员的一些做法,以此避免他们陷入过于复杂的境况.

软件开发的人文关怀

- - 极客公园-GeekPark
我是极客公园黑板报认证值日生. [核心提示]软件可以没有活力,而软件开发却不能没有活力;程序可以像机器一样,程序员却不能像机器一样. 要改变这种状态,就应当增添更多的人文关怀,把开发人员当成活生生的人,而不是视为程序或者工具. 编辑注记:本文来自余晟的博客 乱象,印记. 作者从自己的经验出发,提出了一些给软件开发人员提供人文关怀的可行措施.

软件开发模型综述

- - CSDN博客推荐文章
                     软件开发模型概述. 最早出现的软件开发模型是1970年W·Royce提出的瀑布模型. 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架. 软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段.

防火长城内的软件开发

- - Solidot
对于软件开发者来说,防火长城不只是屏蔽网站过滤流量这么简单——它是痛苦之源,尤其是如果你想开发针对中国市场之外的软件或想利用广泛使用的服务和软件库的话. 上海聊天机器人创业公司Rikai Labs的创始人DC Collier认为,中国的软件开发者写代码的时候一只手是绑在背后的. 防火长城的屏蔽范围日益扩大,这意味着越来越多的服务被永久性或不定期的屏蔽.