`
庄表伟
  • 浏览: 1136886 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关注软件开发项目中的人[全文]

阅读更多
本文为《程序员》10月份稿件,先贴出部分,以吊胃口:)
全文将在《程序员》发稿后贴出,请勿转载。
--------------------------------------------------------------------------------
  从1995年我开始带领3个人的软件团队起,到现在也10多年了。一直以来我都在思考,如何才能确保一个软件项目能够顺利,成功的开发完成。而我能够得到的最为重要经验是:“决定一个项目成败的最关键的因素,是人!”
  软件是人开发出来的,而且到目前为止,也只可能是人开发出来的。但是,在通常的,对于软件项目、软件工程的讨论中,关于人的讨论,往往被淹没在对于技术、方法、框架、过程等等话题的讨论之中。
  这次正好有这样一个机会,可以把我长久以来的思考,整理出来,和大家一起探讨一下,软件开发项目中的人。这篇文章的预定读者,是项目经理,或者再高一级的 技术部门经理。一个项目组里的人是什么样子,或者最后这些人会变成什么样子,大部分是由这个项目的头是个什么样的人来决定的。

一、选人
  每个软件公司都在招人,或者曾经、或者将要招人。但是,有多少软件公司,能够招到自己满意的人才呢?大家都在说现在人才难找。问题在于,有多少软件公司,懂得如何招人呢?当一个人才来你们公司应聘,你们能够发现他,而不是错过他、赶走他吗?
  有些公司,根本不知道自己需要什么样的人才,于是就到网上去搜索一把,找来一堆自己都没有看过的题目。然后交给来面试的人做。绝大多数这种问题,要么特别变态,要么特别刁钻,要么毫无意义,要么只会让人觉得可笑。现在都什么时代了,还要求我们的程序员,拿着一支笔,对着一张纸来做题目?写错了一个字符,就会被扣分。拜托,现在的Google已经能够查到绝大多数问题的答案了!现在的IDE已经能够发现绝大多数的语法错误了!你们还在出这种遍历二叉树的题目?
  如果你们一定要笔试,请不要出这种毫无意义的编程题行吗?
  如果是我来出笔试题,我会通过笔试,考察一个程序员的描述能力,也就是把一个问题、一件事情,通过一段文字,干净利落的描述出来的能力。比如:请通过纯文字(不含任何UML图),描述一个ATM取款机的人机交互过程,以及可能出现的异常现象。通过这样的笔试,我可以考察一个应聘者的顺序思维的能力,因为纯文字的描述是线性的,通过线性的文字,描述复杂的事物,需要有一个整体性的思维,然后才能写出由上而下,层层分解的清晰描述。还可以考察的一点是:有没有错别字,这一点也许有点奇怪,但是,真的有很多程序员,不注意自己的书写,有没有错别字。这也是严谨性的一部分。
  再来说说面试,据说,越是大公司,面试的次数越多。据说,面试一般在笔试之后。据说,面试能够考察很多方面的能力。事实上,大多数面试者并不知道如何面试,他们看起来煞有介事,其实也忐忑得很。
  在我看来,面试主要考察的,是两个方面,沟通与表达能力,还有就是一个人的个性。通常我面试别人,都会提同样的一个问题:“说说你最近做过的一个项目,技术方面的,管理方面的。”我最希望听到的,是一个人带着非常投入的语气,像描述一场战役一样,描述他们所面临的技术挑战和管理挑战。有些人比较专注于技术,他们对于解决问题很有兴趣,因此描述起自己的那些光荣成绩来,总是很有热情。有些人比较专注于业务,他们会相当细致的分析那些具体的业务逻辑,讲解其中的复杂之处。有些人比较专注于管理沟通,如何保证项目顺利的完成,他们有很多心得。这些都很好。但是呢,往往也会听到抱怨,比如团队的沟通不好呀,人家的技术差要他帮忙呀,客户的需求没有逻辑呀,领导的管理比较混乱呀等等等等。还有些人比较注重反省,最近的这个项目,所得所失,他都会认真的、甚至是反复的去想,去总结。听这些叙述,就可以初步了解一个人:兴趣何在,是否愿意并善于沟通,是不是勇于承担自己的责任,还是动辄怨天尤人?通常,愿意反省自己的人,都会更快的进步,这是非常难得的优秀品质。
  笔试、面试。其实都不足以全面的了解一个人,前者容易受困于标准答案,后者容易被当时的谈话氛围所左右。而我最推崇的判断一个程序的水平的方式,是看代码。给他几天的时间,让他去了解一个以前从来没有涉足过的技术领域,然后写一个简单的demo交上来。这样我可以考察他的:
  快速学习的能力:一个全新的领域,能够在多少时间里初步掌握。
  在开发速度与功能设计方面的权衡的能力:完全由他自己决定开发什么功能,什么时侯开发完成可以交给我。
  代码的编写能力:代码是否好懂,这是一个重要的考察点。
  以及编程的严谨性:是不是没有bug,或者足够少。
  说得不客气一些,大多数公司,根本没有这样的能力,来以这样的方式招聘程序员。因为他们负责招聘的人,已经好多年都不写,不看代码了。更不要说分辨代码质量的高低了。

二、看人与用人
  没有一个办法,能够保证招到合格的员工。哪怕是像我这样,通过代码来考察程序员,也难免走眼。所以,才会有通行的试用期制度。在试用期间,公司需要仔细的观察已经招聘进来的员工,是否达到要求,有没有看走眼?我遇到过许许多多的程序员,人与人之间的差别真是太大了。在这里就简单聊聊我所见识到的不同类型的程序员吧。

1、独当一面型
  在我的开发生涯中,曾经有幸与这样的同事一起共事过,他们能够搞定一切,不但快,而且好。他们能够完成任务,而且往往比要求的做得更多,考虑得也更多。合理的要求,他们都会坚决的执行,而不合理的要求,他们也不会一味的盲从。就像三国里说的:“卧龙、凤雏,得一而可以安天下。”基本上这样的人才是可遇而不可求的。这样的人才该怎么用?分配的任务,越是有挑战性,他们就越是喜欢。然后尽一切可能,保证他们心情舒畅,不受无聊的干扰,专心做事就行了。

2、胜任愉快型
  这一类程序员,更加懂得生活,他们能够完成给定的任务,不多,也不少,不快,也不慢。因为生活可不仅仅是编程那么枯燥的事情,还有许多值得花时间去玩玩弄弄的东西。那些没有眼光的老板,光看到他们准点下班,甚至晚来早走,却没有发现他们已经搞定了工作,早就不想蜷缩在电脑面前了。要用这样的人,其实挺难的,尤其是当你想榨取人家更多的剩余价值的时候,会遭到顽强的抵抗。合理的,可持续的“使用”,才是双赢的方案。

3、信心不足型
  这类程序员其实相当的罕见,大多数我所遇到的程序员,都非常的自信,甚至过分自信的都不少。难得遇到过几个信心不足的,水平其实都挺不错的,反倒总觉得自己无法胜任手头的工作。遇到这样的朋友,通常还是以鼓励为主,实在不行,也就只能放弃了。

4、任劳任怨型
  每一个团队,都需要有一个或者一些这样的“老黄牛”。一个项目组里个个都是天才,不见得就是什么好事。软件项目开发,总会有很多琐碎的,点点滴滴的小事,得有人愿意干。有些时候,项目组会受气受委屈,得有人情绪平和,不冲动、抱怨。总之,要想培养出一种成熟、稳健的团队文化,这样的员工,就会必不可少。问题在于,老黄牛可能会能力不足,还可能会倚老卖老,这个时候,就需要权衡利弊了。

5、夸夸其谈型
  他们很关心趋势、潮流、技术走向、最新名词,该听说过的,他们肯定都听说过。说起来也是头头是道。模式啊、框架啊、架构啊,也是张嘴就来。但是大多数他嘴里的技术,却根本没有深入的了解和思考,经不起深入的追问。不过这种人,也是人才,不过不适合开发程序,而是去做售前工程师之类的工作。要能够唬住用户,正是他们所擅长的。

6、快枪手型
  我最初就是个快枪手,能够快速的完成主线功能,但是却从来不考虑例外情况。完成了给定的功能需求,但是代码却只有我自己才能看懂(1天之内)。新的技术, 我也是很快就能上手,“Hello World”转眼就能跑出来。但是要再进一步深入专研,我的兴致就不高了。一个团队有一个这样快枪手,真是要非常的小心,才能用好。你可以分派给他各种类型的任务,但最好不要给他太关键的功能点。因为究竟会不会出bug,他是无法保证的。要花更多的时间,并且更加频繁的检查他的工作,以确保他不仅仅是完成了表面工作。更为重要的是,要不断的敲打他,督促他,逼他更加用心,努力提高。一个快枪手,也是有可能成长为独当一面的将才的。

(待续...)
分享到:
评论
19 楼 Arath 2006-10-12  
抛出异常的爱 写道

看来你的公司找不到什么人用了.......条件太高
我认为人员这东西对于我来说是有什么人用什么人(没有面试过人员)
而你缺什么样的人就招什么样的人
如果你缺的那种人太少就改变管理方式
让能用的上的人顶上工作

1. 反应慢的人(大多作了很多年的人都是这个样子:如公司元老在公司干了5年以上但水平一般)
2. 逻辑混乱的人(大多女程序员就是这个样子,一般会把一个工作分成N份每半天一份工作)
3. 过于活跃的人(我们组的核心人员有两个都是这个样子.....真不知道没了他们还要招多少人能顶上)
4. 计算机毕业不会写程序的人(每个人都是从这步走过来的将心比心只要不是太离谱,开价不是太高都还可以要的)
5. 不了解业内信息的人(工作是工作不必要求热爱,对业内新闻了解很深水平一般的人不喜欢....可能是我不太了业内动态吧)
6. 经验“丰富”的人(我们组的硕士是测试员,全公司所有的项目都测过.....但是)


公司在招人上的确有很多问题,我只是个负责面试的,在我单独面试的时候我可以做些主,但我的主管如果也在一起面试我基本就没什么办法了
另一个方面,公司小,吸引力不足也是一个问题,而且公司在薪资上的确有些低于市场价格
其实对于很多毕业生,我的要求还是很低的,但至少不能说完全不懂,公司有为期一个月的强化培训,实行淘汰制,这一点对于很多新手还是很有用的

引用
只找合适的人,不找拔尖的。
招聘的时候第一看有没有必要的基础和学习能力;
第二看想不想为团队出力,只出时间而不想出力人绝对不要。
而后者尤其重要。

这些观点我是很认同的,军队需要勇猛无敌的大将,但也需要中坚的士兵
18 楼 ddd 2006-10-11  
124678几种类型可能都集中在一个人身上。
所以这几种类型不能叫类型,因为类型是互斥的,应该叫特点。
17 楼 抛出异常的爱 2006-10-11  
Arath 写道
结合自己的经验说说需要几类人:
1. 反应慢的人,遇到过一位仁兄,面试题目中的技术问题是不限时间的,但一般来说撑死了2个小时,结果他图图改改花了差不多4小时完成,基本也正确,面谈也可以,但是总觉得不是很合适,但是主管似乎感觉抓到了一个宝,录用...结果呢,现在真的快把我气死,真的是慢啊,稍微复杂点的问题往往要想很久,如果真的想的周到也就算了,但是结果还是没搞明白.
2. 逻辑混乱的人,程序员基本要求就是逻辑能力至少要清晰,所以这一点我很注意,连简单的问题都说不清楚写什么程序?
3. 过于活跃的人,写程序是枯燥的事情,当然也是很需要创造力,但是过于活跃的人,很可能无法安心工作或则说安心在一家公司工作,所以这种可能是奇才也可能是废才.
4. 计算机毕业不会写程序的人,说起来头头是道,但是程序写的乱七八糟,只能问一句“你是学这门功课的吗”?这种人也许也是不错的,但是如果有更好的选择我会放弃这类人.
5. 不了解业内信息的人,面试往往会问些业内的新闻,很多人答不上来,这不是重要指标,但是至少表明了这个人对这份工作的热爱程度.
6. 经验“丰富”的人,遇到过一个计算机硕士,开价很高,并且简历上项目一大堆,第一感觉不错,不过等等,工作没有几年怎么会有十多个项目,面试一问基本都是这个项目组扫扫那个项目拖拖,连项目基本的开发规模都不清楚,算了吧...
招人面试固然重要,其实更重要的还在于气候的管理和培养.所以个人认为试用期是第一个重要管卡,然后是半年,如果都没有问题那么基本就是合格了,一旦发现问题要及时沟通,如果无法解决,那么开人不是什么需要犹豫的.


看来你的公司找不到什么人用了.......条件太高
我认为人员这东西对于我来说是有什么人用什么人(没有面试过人员)
而你缺什么样的人就招什么样的人
如果你缺的那种人太少就改变管理方式
让能用的上的人顶上工作

1. 反应慢的人(大多作了很多年的人都是这个样子:如公司元老在公司干了5年以上但水平一般)
2. 逻辑混乱的人(大多女程序员就是这个样子,一般会把一个工作分成N份每半天一份工作)
3. 过于活跃的人(我们组的核心人员有两个都是这个样子.....真不知道没了他们还要招多少人能顶上)
4. 计算机毕业不会写程序的人(每个人都是从这步走过来的将心比心只要不是太离谱,开价不是太高都还可以要的)
5. 不了解业内信息的人(工作是工作不必要求热爱,对业内新闻了解很深水平一般的人不喜欢....可能是我不太了业内动态吧)
6. 经验“丰富”的人(我们组的硕士是测试员,全公司所有的项目都测过.....但是)
16 楼 adamzhao 2006-10-11  
老庄的这篇文章感觉有些虎头蛇尾。
开篇的那一贴确实调人胃口,可惜后边贴的这一篇有充数之嫌。

对于招人,还是dlee的主张好:

大意:
引用
只找合适的人,不找拔尖的。
招聘的时候第一看有没有必要的基础和学习能力;
第二看想不想为团队出力,只出时间而不想出力人绝对不要。
而后者尤其重要。
15 楼 Arath 2006-10-10  
结合自己的经验说说需要几类人:
1. 反应慢的人,遇到过一位仁兄,面试题目中的技术问题是不限时间的,但一般来说撑死了2个小时,结果他图图改改花了差不多4小时完成,基本也正确,面谈也可以,但是总觉得不是很合适,但是主管似乎感觉抓到了一个宝,录用...结果呢,现在真的快把我气死,真的是慢啊,稍微复杂点的问题往往要想很久,如果真的想的周到也就算了,但是结果还是没搞明白.
2. 逻辑混乱的人,程序员基本要求就是逻辑能力至少要清晰,所以这一点我很注意,连简单的问题都说不清楚写什么程序?
3. 过于活跃的人,写程序是枯燥的事情,当然也是很需要创造力,但是过于活跃的人,很可能无法安心工作或则说安心在一家公司工作,所以这种可能是奇才也可能是废才.
4. 计算机毕业不会写程序的人,说起来头头是道,但是程序写的乱七八糟,只能问一句“你是学这门功课的吗”?这种人也许也是不错的,但是如果有更好的选择我会放弃这类人.
5. 不了解业内信息的人,面试往往会问些业内的新闻,很多人答不上来,这不是重要指标,但是至少表明了这个人对这份工作的热爱程度.
6. 经验“丰富”的人,遇到过一个计算机硕士,开价很高,并且简历上项目一大堆,第一感觉不错,不过等等,工作没有几年怎么会有十多个项目,面试一问基本都是这个项目组扫扫那个项目拖拖,连项目基本的开发规模都不清楚,算了吧...
招人面试固然重要,其实更重要的还在于气候的管理和培养.所以个人认为试用期是第一个重要管卡,然后是半年,如果都没有问题那么基本就是合格了,一旦发现问题要及时沟通,如果无法解决,那么开人不是什么需要犹豫的.
14 楼 runes 2006-10-10  

总的来说这篇写的不错。


突然想起来以前看过老庄blog写的那个如何面试人的,这里正好也趁机探讨一下。
那篇blog实话说,给我的印象是非常令人反感.字里行间隐约流露出一种莫名的优越感.

blog被屏蔽了,贴不了原文,这里只能凭印象说说大概,如有失真之处请多多包涵。

大意说,问面试者什么最不熟悉,如果面试者说A最不熟悉,好,就让其用A写个demo,
老庄拿到demo看看是否有testcase,然后跑一下,如果发现bug,嘿嘿,你就挂了。

1.人家最不熟悉的,好像你很熟一样,写出来你看不懂,咋办?

2.写testcase固然是好,但是别动不动就testcase的,testcase只是保证质量的手段之一,
  而且有些东西你还真testcase不起来.去看看apache的源代码吧,可怜的testcase.
  当然强调testcase,这个可能和java做多了有关吧。

3.最令人反感的是:跑一下demo,如果发现bug,嘿嘿,你就挂了(大意如此)
  整个一个好像人家就指望你吃饭了,莫名的优越感!
  bug这玩意,只能相对搞定。
  看个link吧。
  http://www.itisedu.com/03/200606080842266.asp

需要说明的是:
    
     第一 我没有被楼主面试过,也不认识楼主,谈不上意见和过节。

     第二 之所以来扯两句蛋,是因为好多javaeyer的可能都担当面试者的角色。
         
          感觉给他们传达一点声音:

          很多求职者并不容易,在他们面前没有必要的耍cool就不要了。
          公司又不是在搞人工智能,基本素质具备了,就宽容一点吧。
         




13 楼 抛出异常的爱 2006-10-10  
一、选人 :由于我很少去面试人员所以这方面没有多少感受
二、看人与用人 :这方面有新意但没什么大用
三、防人:这个道理人人都懂说的也不深刻
四、项目组之外的重要人物:
很是开扩了我的眼界,但是语言组织很乱。看了两遍才大约了解了想说什么
12 楼 庄表伟 2006-10-10  
抛出异常的爱 写道
......
上老庄一当
买了这期的杂志先翻到了老庄的文章上去了
看过之后这个叫气。。。。
你老人家在杂志上发表的东西啥也没说么。。。
只是对人种进行了分类。。。。。
我又不是想当博物馆馆长
有了分类也得说说怎么样用吧。。。。。
很深刻的东西让你泛泛一说好似是那么回事
但又不是真的那么回事
心痒难受。。。。。
好像明白点什么了
但又不知道怎么样才能作的对
比不知道还差了很多。。。。
迷茫中


杂志上的文章,只能泛泛而论的嘛,抱歉抱歉。
11 楼 庄表伟 2006-10-10  
     7、狙击手型
    狙击手是很难被考量他的工作效率的。他们一般都非常的沉得住气。最困难的技术问题,一般是由他们来解决的,最难发现和解决的bug,一般是由他们来搞定的。像这种高难度的活,基本上你不能给他们限制时间,信任他们,把最困难的事交给他们吧。

    8、特种兵型
    特种兵与狙击手比较容易混淆。   区别在于,特种兵喜欢搞自己的一套,而不愿意服从大局。他们真的能够完成任务,但是不太会考虑跟其他团队成员的配合。特立独行的性格,也使得他们相当的难以管理。所以,如果不是非“他”不可,那还是不要招进来的好。
  
    9、一无是处型
    莫文蔚有一首歌唱得很好:“你讲也讲不听、听又听不懂、懂也不会做、你做又做不好”。我不得不承认,我真的遇到过这样的程序员,基本上,我们都应该相信,有些程序员,其实是入错了行。

    三、防人
    有一句老话说得好:“害人之心不可有,防人之心不可无。”做项目要成功,总要考虑各种各样的风险,并且能够预先防范。其中最重要的风险,同样是来自于人的。要确保项目成功顺利,就要懂得防人!

    1、时刻提醒自己
    项目是由项目经理来带领的,所以,一个项目的成败,归根结底,该由项目经理来负责。那么,在考虑项目风险的时候,作为一个项目经理,很重要的一个准备工作,就是考虑自己:我的长处在哪里?缺点是哪些?如果由于我自己的缺点,会给项目造成重大风险,那么,这些需要警觉的可能性,有哪些?我是不是一个比较情绪化的人,会不会在做判断,下决定时,受到各种情绪的左右?
    比如说,我的长处是解决各种突发的问题,但是不太能够坚持进行规范化的管理。有可能导致的问题就是:在一段时间内,我可能会沉迷于解决有趣的技术问题,而忘记了去把握整个项目的进度情况。这就会给整个项目,带来巨大的风险。

    2、准确的估计别人的能力
    这个前面也提过,速度快的程序员,会给人一种假象,就是效率非常高,能力非常强,容易让人对他比较放心。如果是一个夸夸其谈的快枪手,就尤其危险。同样的,如果低估一个程序员的能力,也有可能引起心理的反感,毕竟被人轻视、看低,总不是一件好事情。更加重要的原因是,在分配任务的时候,应该量才而用,分配给这个人的工作,无论过少或者过多,对于项目来说,都是不利的。

    3、预防各种消极心态
    每个人都有可能变成消极怠工者、刺头,似乎突然之间,他们就不肯好好的干活了。原因是多种多样的,项目太紧,压力太大;公司的激励机制出了问题,员工感到不公平;项目需求变动过于剧烈,让人无所适从;办公室政治,小道消息满天飞;对于项目经理的管理能力与技术能力表示不满;已经打算跳槽,最近就快提出辞职了;或者其他各种个人原因。
    作为一个项目的管理者,尤其要不断的锻炼提升自己的“察言观色” 的能力,能够尽早的发现程序员的情绪变化与心态反应,才能够采取针对性的措施。这自然是一门非常深的学问,我自己也仅仅是知道该在这方面多下功夫提高。大多数技术人员出身的管理者,真的很少有人擅长这个方面,这也是不少项目,管得不好的重要原因。

    4、预防机密外泄
    项目的代码、文档、计划等等,都是公司的重要资产,如果被竞争对手获得,就会给项目和公司带来巨大的风险。有些公司对此采取了非常极端的措施,比如不准上网,不准带移动存储设备,不准收发E-Mail等等。还有些公司,利用技术手段监控员工的网络通讯情况。还有大多数公司,都会跟员工签订一份或合理、或无理的《保密协议》。
    对于这个问题,我是这么看的:
    任何预防泄密的措施,都会给员工带来不信任的感觉,这样的感觉,永远都不会好。所以,真正要想办法,花大力气留住的,是人的心,而不是那些代码。不过更加现实一点来说,一份合情、合理、合法的《保密协议》,还是很有必要的。至于其他监控、断网的措施,除非一个公司大到像中兴那样,否则还是不要采用的好。毕竟你一个小公司,不能给人家大公司的待遇和保障,倒是让人家饱尝大公司的煎熬,凭什么呀?

    5、预防人员离职
    项目组关键成员的突然离职,往往是一个项目失败的重要原因。
    有一次我在和当时那家公司的老板吵架。他当时在批评我,文档写得不够详细。我就顶了他一句:“写得不够详细,不是还可以问我的吗?”。
    他接着说:“那要是你明天离职了呢?”。
    我也接着顶:“通常的公司,都会规定离职通知时间的呀,重要的人员离职,都要提前一个月通知,并做好交接工作的嘛!”
    他当时也在气头上,就说:“那你要是明天被车撞死了呢?”
    这么说下去,自然是相对无言,不欢而散。不过这个对话,其实凸显了一个公司管理层真实存在的担忧心理,究竟该如何预防人员的突然离职?从我的经验来说,有两个主要的方法可以尝试,一个是结对编程,使得项目中的任何一个知识点,都不会只有一个人掌握。另一个是我曾经写过的一篇Blog,叫做《软件开发文档的持续集成》,其中心思想,就是尽可能的使得项目的文档,能够跟随项目一起生长,尽可能的使得已知的知识被写下来。

    四、项目组之外的重要人物
    项目要成功,项目组之外的人,也要很当心啊。

    1、Stakeholder
    这是项目管理中的一个专有名词,一般被翻译为:干系人;利益相关者;利害关系者;风险承担者;共同利益负责者;受益人。简单的理解,就是那些于项目成败有关系的人。他们关心项目的成败,是出于自身的利益。因此,出发点往往是善意的。当然,他们或者高高在上,或者一窍不通,或者自作聪明,或者自以为是,或者关心则乱,或者颐指气使。总之,难免会有让人气闷的时候。这个时候,重要的还是在于调整自己的心态,要常常提醒自己,心态要积极,要正面,要立足于解决问题而不是制造问题。

    2、老板是最后负责的那个人
    无论成败,赚钱的是他,亏本的也是他。所以,不要总觉得老板不近情理,他肯定是希望你的项目能够成功的。作为项目经理,要相信老板不是你的敌人,更不要把老板真正变成你的敌人。要耐心的告诉他项目的实际情况,以赢得老板的信任与支持,这才是上策。

    3、用户只需要懂得业务,不需要懂得技术
    很少有用户,同时还是技术方面的行家,所以他们往往不知道该如何提出自己的需求,如果技术人员与业务人员之间,无法相互理解和沟通,项目就会非常的难以开展。归根结底,用户没有义务理解你们的技术是怎么回事,而且,他们还是最终付钱的那个人。所以,尊重用户,尊重他们的需求,尊重他们的智力,是一个非常重要的心理建设工作。

    4、部门利益与公司政治
    公司里不会只有你这一个项目组,总会有其他的部门,有其他的人员,既不是你的上司,也不归你管辖。但是,一不当心,他们就可能会给你的项目制造麻烦。所以,任何时候,做人低调一些,为人和蔼一些,处世柔和一些,说话婉转一些,不要莫名其妙的得罪一些看似不相干的人,总之,真的挺难的。
10 楼 抛出异常的爱 2006-10-06  
......
上老庄一当
买了这期的杂志先翻到了老庄的文章上去了
看过之后这个叫气。。。。
你老人家在杂志上发表的东西啥也没说么。。。
只是对人种进行了分类。。。。。
我又不是想当博物馆馆长
有了分类也得说说怎么样用吧。。。。。
很深刻的东西让你泛泛一说好似是那么回事
但又不是真的那么回事
心痒难受。。。。。
好像明白点什么了
但又不知道怎么样才能作的对
比不知道还差了很多。。。。
迷茫中
9 楼 抛出异常的爱 2006-09-21  
wind_bell 写道
如果是你面试我就好了,目前我正在求职当中,所有面试的公司都有笔试,最多是选择题,还有什么冒泡算法、二叉树遍历算法,应有尽有,说实在的,我都烦了!可有什么办法呢,还得做…
只有那么一家公司,一样的笔试,可不同的是他们还有机试!机试那天,他们拿给我两张纸,上面写满了各种我没见过的专业名词,让我做业务分析和设计,第一眼看过去,妈呀,这回死定了!第二眼存细看,嗯,似乎有点意思…第三眼再看,哈哈,我喜欢!一个小时以后,漂亮的设计出来啦!
之后的事情当然好说,所有的人面上都是笑容,可我却是忐忑不安,因为在她之前的几家公司,我连选择题都做不好,改试卷的是人事小姐,我偷偷看了一眼,红叉叉不少!我担心的是此时他们面上的笑容是不是真的?!
不过,我知道,不管那笑容是不是真的,我却喜欢上了这家公司,不因为别的,就因为她的与众不同…
说明一下,本人毕业以后就一直在国企呆了四年多,协议还是在学校签的,这次算是第一次正式求职…,希望如我所愿,嘿嘿…


呵呵
没问你业务知道的话
很难说明问题
前几家公司定是想过CMMI的公司
题都是人事部出的。。。。
8 楼 wind_bell 2006-09-21  
如果是你面试我就好了,目前我正在求职当中,所有面试的公司都有笔试,最多是选择题,还有什么冒泡算法、二叉树遍历算法,应有尽有,说实在的,我都烦了!可有什么办法呢,还得做…
只有那么一家公司,一样的笔试,可不同的是他们还有机试!机试那天,他们拿给我两张纸,上面写满了各种我没见过的专业名词,让我做业务分析和设计,第一眼看过去,妈呀,这回死定了!第二眼存细看,嗯,似乎有点意思…第三眼再看,哈哈,我喜欢!一个小时以后,漂亮的设计出来啦!
之后的事情当然好说,所有的人面上都是笑容,可我却是忐忑不安,因为在她之前的几家公司,我连选择题都做不好,改试卷的是人事小姐,我偷偷看了一眼,红叉叉不少!我担心的是此时他们面上的笑容是不是真的?!
不过,我知道,不管那笑容是不是真的,我却喜欢上了这家公司,不因为别的,就因为她的与众不同…
说明一下,本人毕业以后就一直在国企呆了四年多,协议还是在学校签的,这次算是第一次正式求职…,希望如我所愿,嘿嘿…
7 楼 抛出异常的爱 2006-09-19  
程序员很多文章是很片面的看法
而写文章的人有很多不能深刻的表达看法
主编不知道自己面向的观众群
。。。。。。。
鱼龙混杂
不同层次的人卖了一本
要看的东西也就十几页
。。。。
想N年前就已经十元了
而现在还是十元
(。。。。。纸价都升了不止一次了)
说明了主办者越来越失败
6 楼 number017 2006-09-18  
好文章!

btw,为什么大家这么不屑《程序员》,但是又喜欢在程序员上发文章呢?
看来国内没什么IT刊物了。
5 楼 tianxinet 2006-09-17  
仔细读了老庄的文章,期待后续部分。

根据亲身体验,即便是“政治”因素较少的开发型项目,人也会造成一些不稳定因素。我曾把一些有关人的因素(不关技术、经验,而是个性、情绪、做事方式...,我也没太理出头绪来,凭大家的相处、互相了解和观察,凭感觉)作为项目风险来管理--是私下里,没见诸任何正式的项目报告或资料,以至于技术上的考虑都为这方面的考虑让步,结果证明实际上避免了很大的风险。

我也反思过自己作为团队一员,自己的个性、情绪、做事方式等对团队带来的影响,除了做好自己的事情,我在哪些方面跟团队的成员有互补性,自己喜欢(当然,适应和协作比喜欢更重要)和什么类型的人合作。以及怎样的搭配比较好。

老庄如果有兴趣能不能再写写一个团队内,什么类型的人员组合比较好?
当然,如果有空而且觉得有意义的话
4 楼 liucjj 2006-09-15  
俺也是快枪手,呵呵
3 楼 tianxinet 2006-09-14  
庄表伟 写道

...
6、快枪手型
  我最初就是个快枪手,能够快速的完成主线功能,但是却从来不考虑例外情况。完成了给定的功能需求,但是代码却只有我自己才能看懂(1天之内)。新的技术, 我也是很快就能上手,“Hello World”转眼就能跑出来。但是要再进一步深入专研,我的兴致就不高了。一个团队有一个这样快枪手,真是要非常的小心,才能用好。你可以分派给他各种类型的任务,但最好不要给他太关键的功能点。因为究竟会不会出bug,他是无法保证的。要花更多的时间,并且更加频繁的检查他的工作,以确保他不仅仅是完成了表面工作。更为重要的是,要不断的敲打他,督促他,逼他更加用心,努力提高。一个快枪手,也是有可能成长为独当一面的将才的。

(待续...)


"1天之内"...^&(*&)(())%$^%&*@@...,我笑啊笑,这不是俺曾经的写照么
2 楼 IvanLi 2006-09-14  
一吊就吊了半个月
1 楼 adamzhao 2006-09-14  
果然是吊胃口

相关推荐

    软件项目管理 人件中文第二版

    人们认为,《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”,因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。1999 年 2 月,《人件》第2版出版,增补了8 章新内容。这些新...

    软件开发工程 项目管理

    中间是项目经理关注的功能层,最后一层,也就是具体的任务,是开发人员关注的。想想,如果没有这玩意,你怎么告诉其它项目干系人进度?但又引出几个问题: 靠文档来沟通,还是靠信任? 太在乎文档,往往导致每天去...

    敏捷项目管理-软件开发指导思想

    发起人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 不断地关注优秀的技能和好的设计会增强敏捷能力。 简单化是根本(不做过度设计和预测)。 最好的构架、需求和设计出自于自组织的团队。 每隔...

    人件(第二版)

    人们认为,《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”,因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。1999 年 2 月,《人件》第2版出版,增补了8 章新内容。这些新...

    OSSDevGov2021:开源软件开发和社区治理(开源软件开发与社区治理)

    开源软件开发的模式涉及到开发者,开源项目,开源社区,开源基金会本课程围绕着开源协作过程中的核心要素,包括开源软件历史,开源软件开发过程,开源软件开发背后的协作原理,开发过程中的典型模式,了解开源软件...

    人件(第二版) 【与《人月神话》一样,《人件》现已成为软件团队管理的经典之作】

    人们认为,《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”,因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。 -------------------------------------------------------...

    人件 中文版

    人们认为,《人月神话》关注"软件开发"本身,《人件》则关注软件开发中的"人",因此,在成千上万的书架上,《人件》永远和《人月神话》并列在一起。1999 年 2 月,《人件》第2版出版,增补了8 章新内容。这些新内容...

    浅评ChatGPT在软件开发上的辅助能力(附GPT-4对比)

     ChatGPT于去年正式公测后,凭借其强大的自然语言处理能力迅速获得业内广泛关注,特别是辅助软件开发上,初步表现出了令人满意的能力,然而正当业内积极探索引入ChatGPT后的新工作模式之时,OpenAI又发布了基于GPT-...

    微软项目求生法则

    本书是特为每个关注项目开发成败的人,特别是寻些没有经过正式软件项目管理训练的 人而写的一本书。作者利用在研究与工作中获得的经验告 诉您项目开发过程中的规划、 设计、管理、质量控制、测试与完工所需的...

    [人件]DorsetHouse PeopleWare

     《人月神话》关注“软件开发”本身,《人件》则关注软件开发中的“人”。  ——UMLChina  几十年来对美国软件业影响最大的理念,本书提供的方法正在成为国际标准。 本书于1987年出版,专门讨论了软件开发和维护...

    微软项目:求生法则.zip

    本书是特为每个关注项目开发成败的人,特别是寻些没有经过正式软件项目管理训练的 人而写的一本书。作者利用在研究与工作中获得的经验告 诉您项目开发过程中的规划、 设计、管理、质量控制、测试与完工所需的策略与...

    基于Android的老人用药提醒软件开发

    1、设计的基本条件: 依靠Android系统,开发一款Android平台下,老年人的用药辅助APP。系统的实现包括APP前端,APP后台,数据库设计等几个方面。客户端的使用角色包括老人本身和其子女,可以设置用药提醒等等内容,...

    软件工程与软件过程.doc

    软件工程与软件过程 摘要:软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好,管理严密,各 类人员协同配合,共用完成的工程项目。必须充分吸取和借鉴人类长期以来从事各种工 程项目所积累的行之有效的...

    微软项目:求生法则

    本书是特为每个关注项目开发成败的人,特别是寻些没有经过正式软件项目管理训练的人而写的一本书。作者利用在研究与工作中获得的经验告 诉您项目开发过程中的规划、设计、管理、质量控制、测试与完工所需的策略与...

    微软项目-求生法则

    本书是特为每个关注项目开发成败的人,特别是寻些没有经过正式软件项目管理训练的 人而写的一本书。作者利用在研究与工作中获得的经验告 诉您项目开发过程中的规划、 设计、管理、质量控制、测试与完工所需的...

    城市空气质量监测与预警系统源码+项目说明+数据+示例图片(ESRI杯中国大学生GIS软件开发竞赛一等奖).zip

    城市空气质量监测与预警系统源码+项目说明+数据+示例图片(ESRI杯中国大学生GIS软件开发竞赛一等奖).zip ## 作品概述 现阶段我国的经济发展正处于转型和升级的阶段,在发展过程中曾经被掩盖或不曾被关注的问题一一...

    非常实用的软件测试综合资料库

    统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例...

    微软项目:求生法则 作者: 史蒂夫.麦克康纳尔

    本书是特为每个关注项目开发成败的人,特别是寻些没有经过正式软件项目管理训练的 人而写的一本书。作者利用在研究与工作中获得的经验告 诉您项目开发过程中的规划、 设计、管理、质量控制、测试与完工所需的策略与...

    微软项目管理: <求生法则>

    本书是特为每个关注项目开发成败的人,特别是寻些没有经过正式软件项目管理训练的 人而写的一本书。作者利用在研究与工作中获得的经验告 诉您项目开发过程中的规划、 设计、管理、质量控制、测试与完工所需的策略与...

Global site tag (gtag.js) - Google Analytics