大家都知道,现在的软件开发已经不再是20年前个人英雄主义的时代,一个超级程序员就能够搞定一切的情况已经很少存在了。更多的情况是我们都是以团队的形式进行系统的设计和开发,因此,团队精神也变得越来越重要。

早在我刚刚毕业要踏入到软件开发这个行业的时候,就在自己的简历里面写到:具有很强的团队精神。然而,说句实话,当时对这个词的理解真的不是那么透彻,只是觉得人缘好,和别人合得来,就叫做有团队精神。然而,随着工作的年头越来越多,经历过各种不同的团队,也带领过不同的团队,渐渐地,对于“团队精神”的体会也越来越深,也越来越觉得并非那么简单。

那么到底什么是团队精神呢,我觉得它包括了下面这些特点:

 荣辱与共 交流分享 精诚协作 尊重理解 

下面让我分别结合自己多年来的工作经历谈下自己的理解,与大家共享,同时也说说自己理想中的团队的样子。

荣辱与共 作为一个团队中的成员,就要把整个团队的荣辱放在第一位,这似乎是集体主义精神的体现,与当前更为流行的个人为中心的思想有些格格不入,但是,只有把整个团队的利益放在首位,团队才能够发展和进步。而团队的发展和进步必定会给其中的每个成员带来好处。 在这里我要说个很典型的情况,在团队中一般都会有开发人员和质量管理人员(也就是我们常说的测试人员),一般来说这两种角色都是冤家。前者非常怕后者测试的时候测出无数的问题,而后者经常会经常抱怨说“你自己测没测试啊”。似乎二者之间总是有着不可调和的矛盾。 想要解决这个问题,其实很简单,就是要明确荣辱与共这条原则,开发人员的目的是想要高效高质的开发出程序,这首先就要对自己提高要求,如果开发出来的程序质量不高,那么必然会返工修改,似乎当时是节省了自己的时间,尽快地把程序提交上去了,但实际上,自己后来还需要修改,节省的时间还要再找回来,另一方面,还需要测试人员指出低级的问题,(那些问题只要再稍微细心一些就能够避免),也会浪费测试人员的时间,结果对于团队来说,就花费了两份时间。如果能够想到为团队节省时间的话,也就会自觉地提高自己程序的质量了。 而对于质量管理人员来说,首先当然要仔细地测试,不可敷衍了事,那样的确可以节省自己的时间,而且容易和开发人员搞好关系,但是必定会导致程序质量的下降。而对于客户来说,质量才是程序的生命线。其次,不可以因为自己发现很多缺陷就沾沾自喜,的确这意味着作为质量管理人员,工作做得很到位,但是我们的目的是什么呢?并非是要找到更多的缺陷,而是要想办法提高系统整体上的质量。我想我们大可以将缺陷总结分类,然后将自己的分析结果提交给整个团队,指出在哪些地方比较容易犯错误,那样不仅整个团队的开发质量得到了提高,也节省了自己以后工作的时间,只不过是不会总是找到那么多的缺陷了。

交流分享 交流在任何工作中都是非常重要的,人和人之间只有充分交流,才能够更好地工作。这些交流不能仅仅限于开发人员之间,团队之中每个人之间都应该充分的交流,否则就会在信息的传达过程中出现理解上的偏差。比方说,如果上游工程(需求分析、概要设计)的负责人不和下游工程(详细设计、编码、测试)的人员充分交流,那么很可能会得到最终用户这样的评价:你们所做的东西不是我要的。这就是由于信息在传达的过程中发生了偏差,失之毫厘谬以千里,导致了最终客户对团队的恶评。 团队的成员应该成为朋友。也许这在现在的职场之中,很难得到认同,甚至还听到有人说过,不要把同事当成朋友,但是我不以为然,毕竟我们很多的时间都是与同事一起度过的,很多东西需要和同事一起承担、一起分享。如果不是朋友的话,没有最起码的信任,怎么做事儿呢?的确,有些同事会不值得做朋友,那么就应该去找到值得做朋友的人,或者在组建团队的时候就要慎重地挑选所有的成员,尽量让大家都成为朋友,那样才更有利于工作的开展。 分享意味着什么呢?我觉得它意味着共同进步,知识要分享,经验要分享,好吃的,好玩儿的都要分享。这也应该是大家成为真正的朋友的前提吧。尤其是知识和经验的分享,对于组建学习型的团队非常重要。而最有效的形式,就是在固定的期间内举办技术交流会,团队的所有人尽可能地参加,大家可以把自己工作学习生活中所发现、所学到的知识分享出来,这样不仅仅有利于大家共同提高,也有利于解决工作中的各种问题。而这也是我一直在致力推行的一种方式,尽管最近有些障碍,呵呵。

精诚协作 想要达到这一点,首先就不要“事不关己,高高挂起”。尽管有些事儿不是我们份内的事情,但是团队的事情,我们都应该有责任尽自己所能去做。有人会说,做得多,错就多,帮别人修改了程序,当这个程序出问题的时候,就会怪罪到自己的头上。这种情况的确存在,我也遇到过多次,但是我更珍惜的是在这个过程中和其他团队成员的交流以及所学习到的知识。任何事儿都不可能是完美的,都具有两面性。而且这样做非常有利于形成真正意义上的团队,当出现问题的时候,我们帮助过别人,当我们自己出现问题的时候,也就会有人帮我们。 也有人会说,让一个人做别人的工作,修改自己不熟悉的程序,风险会比较高,很可能会出现其他的问题。的确这种情况也存在,因此在涉及到业务领域知识的时候要谨慎,复核一下也是非常必要的。而对于纯技术的问题,就不存在这种问题了,一个项目中的程序都应该是风格统一的,程序员彼此之间应该可以互相阅读和修改程序。 另外,协作要体现在整个团队之中,需求分析人员、设计人员、开发人员、测试人员之间都要协作。在做自己的工作的时候,都要为别人着想,考虑如何才能够更有利于让别人也顺利开展工作。

尊重理解 人都有长处,都有短处。这是肯定的,没有谁能够是完美的,何况生活中不仅仅是工作,还有很多其它的事情也会对工作造成影响。因此在发现别人犯错的时候,应该去理解,并且以对事不对人的态度去解决问题。 比方说,测试人员发现开发人员程序中出现了很多缺陷,那么不应该去指责,而是应该记录下来,然后和开发人员一起分析,提醒他以后不要出现类似的错误。 再比方说,当开发人员发现设计人员的设计出现了问题,那么就应该去商量,找到更好的解决方案。 再比方说,设计人员发现最终的程序与自己的本意有出入,也应该去沟通,而不是强硬地要求别人重新编写代码,而应该找到为什么会出现这样的问题,从而去避免以后理解上出现歧义。 多一份尊重,多一份理解,才能够更好地沟通,才能够更好地协作。 我想,如果做到了上面的四点,我们应该建立起一个比较优秀的团队,然后接下来要做的就是保持团队的稳定,并且在一个又一个的项目的磨练中不断地增进团队的凝聚力和向心力,并且越来越好地根据每个人的能力来分配工作,做到人尽其用,这样团队的工作效率会越来越高,完成任务的质量也会越来越好。 创建一个理想的团队,需要很长的时间,需要团队成员彼此之间不断地磨合、理解和包容,所以,在创建团队之前,要确保团队成员的稳定性,同时,对于人员的增减,都要慎之又慎,必须是完全理解和赞成团队文化,并且能够为团队做出贡献的人,才会加入到团队中来。 上面所述的团队非常理想化,想要真正实现会很困难,而且保持下去更困难,我们要做的也不是一口吃个胖子,一下子就建立一个超级团队,而是要在创建团队的时候就有自己的原则,并且根据这些原则不断地对团队进行改善和建设。

转载于:https://www.cnblogs.com/cicser/archive/2010/08/09/1795459.html

程序员应知——团队精神(转)相关推荐

  1. 转载:程序员应知——团队精神

    转载:http://blog.csdn.net/lingyun2005/archive/2010/08/09/5797890.aspx 程序员应知--团队精神     写在前面:前几天终于看完了< ...

  2. 程序员应知——团队精神

    大家都知道,现在的软件开发已经不再是20年前个人英雄主义的时代,一个超级程序员就能够搞定一切的情况已经很少存在了.更多的情况是我们都是以团队的形式进行系统的设计和开发,因此,团队精神也变得越来越重要. ...

  3. 程序员应知——破窗与童子军军规

    首先让我来解释一下这两个词,尽管看起来二者之间没有什么必然联系. 破窗说的是,一个小区,本来干净整洁,没有犯罪事件,大家安居乐业.然而,忽然有一天,一个窗子被打破了,但是没有人管.接下来,不好的事情接 ...

  4. 【观点】程序员应知——循序渐进

    导读:作者侯伯薇在CSDN博客中写了一篇<程序员应知--循序渐进>,在他看来,想成为一名优秀的程序员要脚踏实地的,一步一个脚印,逐步提高,切忌不可一蹴而就. 以下是文章内容: 作为程序员, ...

  5. 程序员应知——学习、思考与分享

    有人说,程序员是个苦差事,一辈子总是要不停地学习,学习新的技术,学习新的架构,学习新的工具,一旦一段时间不学习,就会发现其他人嘴里冒出来的新鲜词,自己已经搞不懂是什么了. 的确,作为程序员,学习很重要 ...

  6. \t\t【团队精神】荣辱与共 交流分享 精诚协作 尊重理解 ——程序员应知

    大家都知道,现在的软件开发已经不再是20年前个人英雄主义的时代,一个超级程序员就能够搞定一切的情况已经很少存在了.更多的情况是我们都是以团队的形式进行系统的设计和开发,因此,团队精神也变得越来越重要. ...

  7. 嵌入式程序员应知道的0x10个基本问题

    预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * ...

  8. 想成为嵌入式程序员应知道的16个基本问题

    这是嵌入式C程序员的基本知识.作者在Embedded Systems Programming杂志上发表了很多嵌入式系统开发方面的文章. C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法.这些年 ...

  9. 想成为嵌入式程序员应知道的0x10个基本问题

    C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法.这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相 ...

最新文章

  1. 玩转树莓派——安装系统
  2. 【存储知识学习】第六章-磁盘阵列-《大话存储》阅读笔记
  3. 利用System.Net.Mail 的SmtpClient发送邮件
  4. php rpc调用,PHP 通过 JSON-RPC 调用实现以太坊交互
  5. win10 + Terminal + WSL+ oh-my-zsh 配置漂亮实用的windows终端及配置ubuntu不加.exe打开windows程序
  6. 使用阿里云Mysql集群做读写分离_以及使用阿里云服务器自己搭建MyCat集群_费用核算---Linux工作笔记046
  7. Redis入门(适合新手)
  8. 首次用MFC制作界面,小白采坑记录
  9. 记一次现网k8s中pod连接数据库异常的问题分析及解决实践(tcp_tw_recycle与tcp_tw_reuse内核参数修改)
  10. php laypage,LayUI分页和LayUI laypage分页区别详解
  11. 端口已被占用1080
  12. Fibonacci Heaps
  13. python数据挖掘14讲_python/pandas数据挖掘(十四)-groupby,聚合,分组级运算
  14. 并发编程(四)---设计模式
  15. LC-3指令集 指令/状态码介绍
  16. java protobuffer序列化_Java数据通讯中使用Googgle Protobuf 序列化与反序列化
  17. 八字易经算法之用JAVA实现完整排盘系统
  18. 某个爱情控的感悟——爱情是一种自虐
  19. 线性代数 计算机网络,计算机应用、计算机网络专业《线性代数》课程.doc
  20. 恒生股票交易接口api主要作用在哪里?

热门文章

  1. 【响应式Web前端设计】CSS3 :nth-of-type() 选择器
  2. 【深度学习】利用深度可分离卷积减小计算量及提升网络性能
  3. 解决module ‘numpy‘ has no attribute ‘array‘问题
  4. python局域网传输文件_Python+pyftpdlib实现局域网文件互传
  5. mybatis plus 事务管理器_Mybatis中的事务
  6. c语言程序设计论文结构,c语言顺序结构设计实验报告.docx
  7. 服务器功率一般多少_单机柜供电能力提升后,选择1U服务器还是2U服务器?
  8. 2019计算机科学与技术全日制调济,华侨大学2019计算机科学与技术学院非全日制考研调剂信息(第二批)...
  9. mysql server id为0_MySQL内核月报 2014.12-MySQL· 答疑释惑·server_id为0的Rotate-阿里云开发者社区...
  10. python 任务计划_windows 10 设定计划任务自动执行 python 脚本的方法