`
庄表伟
  • 浏览: 1152117 次
  • 性别: 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  
果然是吊胃口

相关推荐

    软件开发项目验收报告,验收模板

    本报告将详述一个具体的案例——IT设备智慧运维综合管理平台的验收过程,以此来阐述软件开发项目验收报告的基本结构、内容及其重要性。 一、项目基本情况 在项目基本情况部分,通常会涵盖项目的背景、目标、主要...

    软件开发项目需求调研模板

    本文将详细解析“软件开发项目需求调研模板”,并阐述其重要性、组成部分以及如何有效利用。 一、需求调研的重要性 需求调研是软件开发的第一步,它的目标是收集和分析潜在用户或客户对新系统或改进现有系统的需求...

    软件开发项目管理

    在软件开发项目管理中,项目管理计划书是指导整个项目执行和控制的关键文档。它涵盖了项目的各个关键领域,包括但不限于沟通管理计划,这是确保所有团队成员、干系人以及利益相关者之间有效交流的重要部分。以下是对...

    项目软件产品开发过程文档

    在软件开发过程中,文档起着至关重要的作用,它记录了项目的每一步,确保团队成员间的沟通清晰,也为后续的维护和升级提供了依据。"项目软件产品开发过程文档"这一资源集合了从需求分析到测试验收的全套文档模板,是...

    【北京地标】信息化项目软件开发费用测算规范DB11T 1010-2013.pdf

    本标准适用于需要进行软件定制开发的信息化项目,主要关注软件开发过程中的费用计算,包括人力成本和非人力成本,以及项目的工期估算。 2. 引用文件 标准中可能引用了相关行业的国家标准和行业标准,这些文件为软件...

    软件开发项目(对外)承包制考核管理办法.pdf

    《软件开发项目(对外)承包制考核管理办法》的目的是通过引入承包制度来降低管理成本,...该管理办法旨在通过科学的考核和激励机制,优化软件开发项目管理,提升团队效率和产品质量,同时也关注员工的个人成长和发展。

    软件开发项目管理说明

    软件开发项目管理不仅关注技术实现,更强调管理层面的协调与控制。通过有效管理,可以减少项目延期、超出预算和质量问题,提高客户满意度。理解并熟练应用这些知识,对于任何软件开发团队来说都是至关重要的。

    软件开发规范文档 软件项目开发文档写作模板

    "软件开发规范文档 软件项目开发文档写作模板" 提供了一个全面的框架,适用于大中型项目,确保所有必要的文档都得到了充分的关注和编写。 首先,软件开发规范文档通常包括以下几个主要部分: 1. **项目启动文档...

    IT软件开发项目需求规格说明书

    以上知识点构成了IT软件开发项目需求规格说明书的基础架构和应用背景,详细涵盖了软件开发流程中的各个关键环节,以及如何在教育实践中进行应用。对于从事IT软件开发的个人或团队,理解并正确运用这些知识点是至关...

    软件项目开发计划-实例

    ### 软件项目开发计划知识点详解 #### 一、项目背景与目标 - **项目名称**:Mobile College(移动校园) - **发起人**:曾林青 - **开发团队**:曾林青、沈哲、孙志国、刘金山 - **目标用户**:高校学生 - **开发...

    XX软件开发项目管理手册.ppt

    《XX软件开发项目管理手册》是对软件开发过程中项目管理的全面概述。项目管理涉及一系列复杂的活动,旨在确保项目从启动到完成的整个过程中能够高效、有效地达成预设目标。本手册详细介绍了软件项目的特性和管理过程...

    人件:软件开发管理经典

    不同于《人月神话》侧重于探讨软件开发过程和技术,《人件》更关注软件开发中的“人”的因素,强调以人为本的管理理念。本书不仅适合管理者阅读,同时也为开发者提供了宝贵的见解。 #### 书籍结构与内容 本书分为...

    软件开发项目管理.doc

    《软件开发项目管理详解》 软件开发项目管理是确保软件项目成功实施的关键所在,它涵盖了从项目启动到项目结束的全过程,旨在明确需求、平衡时间、成本和质量,并解决可能出现的各种问题。本文将深入探讨软件开发...

    软件开发项目沙盘计划模板.doc

    《软件开发项目沙盘计划模板》是一份详细指导软件开发项目的文档,旨在为项目团队提供一个清晰、结构化的规划框架,以确保项目的高效执行和成功完成。以下是对该模板各部分的详细说明: 1. **文档说明**: 这部分...

    软件开发项目管理与实际

    总的来说,"软件开发项目管理与实际"的课件将帮助学习者理解并掌握项目管理的各个方面,从而在实际工作中更有效地领导和管理软件开发项目。通过深入学习和实践这些知识,软件开发人员不仅可以提高项目成功率,还能...

    软件开发项目的风险管理

    本文将详细介绍软件开发项目的风险管理过程,包括风险管理的各个阶段以及在每个阶段中应关注的风险类型,旨在为项目经理和项目团队提供有效的风险管理策略和方法。 首先,我们必须明确风险管理的目的。风险管理并非...

    软件开发项目管理概述.pptx

    【软件开发项目管理概述】 软件开发项目管理是一个复杂的领域,涉及到多个方面,旨在确保软件项目的成功执行和交付。本概述将探讨项目管理的基础,特别是针对软件开发的独特挑战。 首先,项目是指为了创造一个独特...

    软件开发设计报告全套模板

    在软件开发中,项目报告是联系项目管理、团队沟通、风险控制和质量保证的重要纽带。从项目的可行性分析到最终的用户手册,每一份报告都有其不可替代的作用。利用软件开发设计报告模板,可以帮助团队快速生成高质量的...

    软件开发过程中项目.ppt

    以下是对软件开发项目管理中关键概念的详细阐述: 首先,目标分解和任务分解是项目管理的基础。如同杨辉三角形所示,目标分解是从整体到部分的逐层细化过程,将大目标拆分为可操作的小任务。这样可以确保每个团队...

    教你组织软件开发过程中的评审会议.doc

    在软件开发过程中,评审会议是确保产品质量和技术标准得到遵循的关键环节。通过组织有效的评审会议,团队可以及时发现潜在问题,减少错误,提高...这些活动旨在提升整个团队的效率和软件质量,确保软件开发项目的成功。

Global site tag (gtag.js) - Google Analytics