• 《Java程序员全攻略:从小工到专家》连载九:散兵游勇还是团队作战


    散兵游勇还是团队作战

    真正的软件开发行业并不像一些人想的那样,所有的项目由很多团队开发,也不像另一些人想的那样,全靠一个天才创造。两种情况都是存在的,关键是要在竞争如此激烈的IT行业做好这两种人,让自己有备无患。

    1.3.1  哪样多一些

    “师兄,我要问问你啊,要是真正进到了一家IT公司,一般自己干的时间多还是和团队集体干活的时间多啊?”

    你是想问团队合作开发的时候多还是自己独立的时候多吧?

    嗯,我就是这个意思,想知道自己以后要是真的进了公司,对哪方面要求高些。

    这个是完全说不准的,而且是完全没有必要说准的,你考虑的太多啦,蔡佳娃。

    那我总得做好准备吧?

    你应该是全做准备。这两种方式你都要会,都能做得来,这样才行。

    “哦,我还以为做好一方面就行了呢。”

    “不对,谁也说不好你会用到哪个。IT这个行业的变数比较大。你加入的公司可能因为你跳槽等缘故改变,你所在的公司接受的项目规模也总在变,所以你必须两种情况都应付得来。”

    那至少哪个比较多,哪个比较少呢?

    “哎,你还是没有听明白,没有人去统计这个的。可以这么说,欧美公司(包括面向欧美的软件外包公司)因为接手的项目比较大,所以需要团队的开发会多一些;而中国的中小型IT公司比较多,它们要求个人的单独作战能力必须要强一些。”

    前一节介绍过,中国的中小型IT企业比较多,团队规模一般比较小,所接到的项目不可能很大,所以更多的情况是会把项目分成很大几块,然后交给团队开发,因为项目分割得很开,所以团队中每个成员所做的工作更多地像是一个独立的项目。

    中国的一些大公司也有自己独特的经营模式和理念,不过在团队模式上相比欧美还是有所欠缺的,比较突出的一个就是中国的团队模式一般比较随意,分工比较模糊,规模也不太确定,不像欧美公司那样分工明细。

    刚刚走出校门的大学生,自己单干的能力或多或少肯定是有的,团队意识一般就很少有人有所体会。所以对这方面还是有所顾虑的,就像故事中的主人公,其实团队开发并不是什么高妙的东西,当项目经理把任务分配给每个人的时候,你接下来要做的就是自己来做,和自己开发是没有太大区别的。

    1.3.2  团队和单兵

    师兄啊,团队协作的时候应该怎么做才好呢,究竟团队意识是什么啊?

    团队意识这个概念很多时候都被放大了。其实你只要在团队中做对自己最有利的事情,同时也做对团队最有利的事情就好。

    那自己单兵作战的能力呢?

    不管你将来面临什么样的工作,这个能力是你必须要有的,单兵作战能力对整个项目的统筹和把握要求较高,对整个项目从需求分析到测试都必须全局关注和执行。

    哦,不过如果独立开发的能力很强,会不会不合群呢,让人觉得没有团队意识,影响整个团队项目的进度和性能呢?

    不光是独立开发能力强的人会不合群,其他能力不行的人有时也是没有团队意识的。我们公司以前有一个员工,并不是很厉害,不过却很喜欢指出别人的错误。我们一起开发一个项目,他对自己的代码不仔细研究,问题多多,却总是喜欢找别人代码上的缺陷,结果惹得团队里都没好气,使得项目的开发过程也不是很愉快,差点耽误了开发进度呢。

    那如果一个开发人员的技术过于厉害,会不会对整个项目的开发造成些坏的影响啊?

    不会啊,技术好了怎么还会变成缺点了呢,技术越好对整个项目的把握越好,越会朝着团队的目标前进,也许会有些不合群,没有团队意识吧。如果这样的话就比较危险了。

    对,团队意识说小是小,说大是大!

    嗯,说得很有道理。能力提高下工夫就行,做个对团队有利的人却不容易啊。

    像是在故事里说的,能力再强也要有团队意识,很多高手就是团队意识较差,使得自己瑜不掩瑕,反倒竞争力变弱。高手的无团队意识主要表现在如下两个方面:

    ·       “诸葛亮”型的开发高手,作为Team Leader或项目负责人,高手事必躬亲,总觉得别人做的自己不放心,大大小小的事情都要操持。长期下来,自己每次做项目都干了几乎全部的工作,而手下几乎没得到什么成长。小项目还顶得住,某一天接到一个大项目,高手也就慌了,因为再牛的高手也需要时间,而手下人却都眼巴巴地望着他,心想:这下你一个人做不来了吧。

    ·       一个高手在团队里做队员,如果他是个安分守己,按时完成任务的低调高手,这样还算好,如果高手是个不甘寂寞的人,表现欲比较强,总是不当地批评别人开发中的错误,没人愿意被自己同级的人骂,高手如果总是这样压制别人,肯定影响到队伍的团结,这样整个团队的战斗力就被大大减弱了。

    在欧美的团队模式里,比如在前面提到的微软的团队模式中,分工是比较明确的。越是大的项目,越需要这样,这样各个部分可以各司其职,减少其耦合度,比如结合图1-2,开发人员只需要和产品经理和测试人员互相沟通即可。

    在日韩企业的团队中,项目分工也是很好,只是过于明细,尤其是外包业务,所以对于开发人员来说只需要做做“体力劳动”即可,而且这样的话团队之间的联系交流程度相对比较小,这种团队不能说是有独立开发的能力,因为每个团队成员对整个项目并没有很好的把握。

    1.3.3  不要停止思考

    “蔡佳娃,我们继续刚才的话题,我想要说的是,不管你以后到了公司做什么,都必须记住,不要停止思考,这才是开发人员的Golden Rule。”

    不要停止思考?

    是啊,作为一名开发人员,你得明白自己是个脑力劳动者,如果有一天你发现自己的身体比心智还要疲惫,你要小心,是否自己已经变为一个披着脑力劳动者外衣的体力劳动者了。

    啊,这都有可能啊?

    是的,所以不管是在团队还是自己独立开发,照搬自己或前人既有的东西可以,但是不要因此麻痹了自己的神经,遇到什么事情总想着从哪搬来凑数。要让自己的脑子时刻处于思想新东西的活跃状态,你才能感受到创新的快乐。

    做脑力劳动时间长了,形成一套固有的模式,不再善于思考是很多开发人员犯过的错误。这对职业生涯的继续良好发展有很坏的影响,读者要多多注意。

    精彩文章 
     
    Java程序员全攻略:从小工到专家》连载八:
    加入什么样的公司
    Java程序员全攻略:从小工到专家》连载七:两种不同的软件外包方式
    Java程序员全攻略:从小工到专家》连载六:亚洲企业工作模式
    Java程序员全攻略:从小工到专家》连载五:当今主流公司的企业文化
    Java程序员全攻略:从小工到专家》连载四:IT人不容易
    Java程序员全攻略:从小工到专家》连载三:IT语言平台
    Java程序员全攻略:从小工到专家》连载二:IT行情分布
    Java程序员全攻略:从小工到专家》连载一:外行人眼中的IT
    本书详细信息:http://www.broadview.com.cn/10246
    更多图书信息:www.broadview.com.cn
    近期活动:博文视点大讲堂第24期:PPT演示之道——写给非设计人员的幻灯片指南
    博文视点Open Party10期:PPT专场

    博文视点Open Party11期:世界黑客大会那些事

    想即时获取更多图书及活动资讯,赶快加入博文视点读者俱乐部吧!

     

  • 相关阅读:
    LinuxMySQL主从复制原理图
    flask中间件请求流程
    flask02
    flask01
    笔记本电脑播放声音前后会有吱吱声
    筛法欧拉函数
    矩阵快速幂
    最短路 P1144 最短路计数【Dijkstra堆优化/SPFA】
    SPFA算法以及负环判断【模板】
    最短路 P1629 邮递员送信 【反向图求最短路】
  • 原文地址:https://www.cnblogs.com/broadview/p/1697023.html
Copyright © 2020-2023  润新知