菜鸟成长之路
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 散兵游勇还是团队作战

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

1.3.1 哪样多一些

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

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

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

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

“那我总得做好准备吧?”

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

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

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

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

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

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

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

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

1.3.2 团队和单兵

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.3.3 不要停止思考

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

“不要停止思考?”

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

“啊,这都有可能啊?”

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

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