论坛首页 综合技术论坛

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

浏览 17770 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-10-06  
......
上老庄一当
买了这期的杂志先翻到了老庄的文章上去了
看过之后这个叫气。。。。
你老人家在杂志上发表的东西啥也没说么。。。
只是对人种进行了分类。。。。。
我又不是想当博物馆馆长
有了分类也得说说怎么样用吧。。。。。
很深刻的东西让你泛泛一说好似是那么回事
但又不是真的那么回事
心痒难受。。。。。
好像明白点什么了
但又不知道怎么样才能作的对
比不知道还差了很多。。。。
迷茫中
0 请登录后投票
   发表时间:2006-10-10  
     7、狙击手型
    狙击手是很难被考量他的工作效率的。他们一般都非常的沉得住气。最困难的技术问题,一般是由他们来解决的,最难发现和解决的bug,一般是由他们来搞定的。像这种高难度的活,基本上你不能给他们限制时间,信任他们,把最困难的事交给他们吧。

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

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

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

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

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

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

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

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

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

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

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

    4、部门利益与公司政治
    公司里不会只有你这一个项目组,总会有其他的部门,有其他的人员,既不是你的上司,也不归你管辖。但是,一不当心,他们就可能会给你的项目制造麻烦。所以,任何时候,做人低调一些,为人和蔼一些,处世柔和一些,说话婉转一些,不要莫名其妙的得罪一些看似不相干的人,总之,真的挺难的。
0 请登录后投票
   发表时间:2006-10-10  
抛出异常的爱 写道
......
上老庄一当
买了这期的杂志先翻到了老庄的文章上去了
看过之后这个叫气。。。。
你老人家在杂志上发表的东西啥也没说么。。。
只是对人种进行了分类。。。。。
我又不是想当博物馆馆长
有了分类也得说说怎么样用吧。。。。。
很深刻的东西让你泛泛一说好似是那么回事
但又不是真的那么回事
心痒难受。。。。。
好像明白点什么了
但又不知道怎么样才能作的对
比不知道还差了很多。。。。
迷茫中


杂志上的文章,只能泛泛而论的嘛,抱歉抱歉。
0 请登录后投票
   发表时间:2006-10-10  
一、选人 :由于我很少去面试人员所以这方面没有多少感受
二、看人与用人 :这方面有新意但没什么大用
三、防人:这个道理人人都懂说的也不深刻
四、项目组之外的重要人物:
很是开扩了我的眼界,但是语言组织很乱。看了两遍才大约了解了想说什么
0 请登录后投票
   发表时间: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就不要了。
          公司又不是在搞人工智能,基本素质具备了,就宽容一点吧。
         




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

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

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


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

1. 反应慢的人(大多作了很多年的人都是这个样子:如公司元老在公司干了5年以上但水平一般)
2. 逻辑混乱的人(大多女程序员就是这个样子,一般会把一个工作分成N份每半天一份工作)
3. 过于活跃的人(我们组的核心人员有两个都是这个样子.....真不知道没了他们还要招多少人能顶上)
4. 计算机毕业不会写程序的人(每个人都是从这步走过来的将心比心只要不是太离谱,开价不是太高都还可以要的)
5. 不了解业内信息的人(工作是工作不必要求热爱,对业内新闻了解很深水平一般的人不喜欢....可能是我不太了业内动态吧)
6. 经验“丰富”的人(我们组的硕士是测试员,全公司所有的项目都测过.....但是)
0 请登录后投票
   发表时间:2006-10-11  
124678几种类型可能都集中在一个人身上。
所以这几种类型不能叫类型,因为类型是互斥的,应该叫特点。
0 请登录后投票
   发表时间:2006-10-12  
抛出异常的爱 写道

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

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


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

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

这些观点我是很认同的,军队需要勇猛无敌的大将,但也需要中坚的士兵
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics