是要精于单挑,还是要善于合作?


最近自己的工作状态不太好,本想着加入一家新公司,创业公司,会充满活力的做事,可几周过去,发现居然有点不舒服的感觉。
昨天琢磨了半天,回想过去的工作,找到原因。自己状态最好的时候,都是那种一个人挑一件事的时候;状态低迷的时候,都是跟别人协作的时候。(所谓协作,不是那种上下游,而是分担同一个工作,例如一起做一个项目模块,或者是合作一个耦合度比较高的项目。)
自己单挑,虽然比较累,但是自己搞效率高,自由安排时间,自己控制进度,往往还能把事情做好。
跟人合作,总是要顾忌大家的思路不一致,不能专心做事,最后会产生逆反心理。
困扰了,一个优秀的程序员,是不是应该有这种精于单挑的能力和心态呢?
善于合作的心态应该怎么培养呢?还是,去他妈的,合作个屁?

程序员 合作
5条评论 | 修改 | 链接
  • cgeek

    和你有类似的感受,感觉为了团队合作确实会牺牲效率,最糟糕的是容易缺乏激情。

  • 九九

    @cgeek 最惨的是团队里面有政治动物,这样就要开发一整套流程来规范所有人的行为,其实是规范他的行为,但是得装出对事不对人的态度来

  • Sunny

    @九九 政治动物害死人!

  • 显示隐藏的2条评论

10 个回答


  • xinquan xinquan 126

    占坑。事后修改。——我cha,字数还是太少啊!

    单挑和合作是两种工作态度。无好坏,但是对于不同的工作,合适的态度会更有利于把这个工作做好。

    单挑有一个例子是instapaper的作者,他一个人做这个产品,做的很好。不仅能养活自己养活的很不错,而且产品做的令人赞誉(后者我感觉更不容易)。

    合作也可以把事情做好,这种例子比单挑成功例子要多一些,比如Linux kernel和Apple的卖金脱屎项目组。

    如果你在一个有一定规模的公司里面做事情,合作难免的。单挑派如何在这种情况下找到感觉,保持效率和激情?我有几个看法:
    1. 慢慢来,给自己保持一定的自由度
    这是说不要强扭着自己,做任何的转变都需要时间。给自己留这个时间。
    我记得著名程序员丸有一句话,“我不喜欢别人动我的代码”,这种就是在一个多人合作的项目、产品里面给自己留一块自留地,我负责我要负责的这块,我保证我负责的这块很好用且能够与时俱进。
    假使你在一个公司三年,个人大概做过十几个东西,这些东西都能确保具备很高的质量,别人很安全的做你的上下游,有这种能力的话,你可以一直保留这种合作要求下的独立单挑精神。这在那种不需要做很多shit需求的公司行得通。当然,这种公司不多。
    这而且要求你合作的项目必须得是低耦合的,还好现在低耦合还算比较容易取得。
    2. 不要犹豫,不要惧怕合作会让自己丢失个性
    喜欢单挑的人性格里面有很强的追求自由的因素,他们往往在告诉自己要合作的时候容易不安,不安的是如果我现在追求合作精神,是不是会逐渐失去我之前单挑所需要的那种激情、效率和追求自由的精神。
    简单说来,不会。
    肖申克的救赎里面那个老头将这种可能归结为体制化,最后安迪用事实告诉他,真正追求自由的人不会被体制化。
    3. 找到你自己的皮蓬
    那些只喜欢单挑的人其实往往会觉得和别人在协作的时候别人和他配合不够默契,或者别人不够给力。如果不得不长时间处于这种状态,不如找一个互相吸引基情四射的人一起协作,如果没有那就从现在不得不和你一起协作的人开始培养起来。乔丹保持自己单打也可以做一个很牛逼的球星,不过和皮蓬以及团队的人合作让他的境界更上一层楼,如果团队里面每一个人都是你的皮蓬,那你可以从程序猿进化成程序员了。
    4. 从协作中找到成就感
    这一条说白了你要学会自high,如果你目前的成就感源于自己能在多长的时间里面作出多好看的东西,那你可以把它变得稍微不这么“功利”一些。斧正别人的代码算不算成就感?偶然瞥见别人的显示器发现别人因为要合作在阅读你写的代码算不算成就感?能将合作者之间的交付物归纳的很清楚这样在多人合作的时候也能保持高效率是不是成就感?一个人做项目项目可以做的很好,两个人做项目的时候你是项目经理而且也能将项目做的很好是不是成就感?两个人你不是项目经理也能做的很好是不是成就感?
    设定了这些也作为自己的成就感之后,你会发现你在练成合作态度的路上,不仅有牛粪,而且还会有鲜花了。

    xinquan 126

    7条评论 | 修改 | 链接
    • gaosboy

      BS你这种行为

    • cgeek

      集体bs,集体bs

    • 肉山大魔王

      单挑的时代已经过去了。一个人工作也要用团队工具。协作是一种意识。。。先手后手输出团控必须清晰。。。

    • 显示隐藏的4条评论
  • mywaiting mywaiting 60

    个人见解:

    按照我目前的工作事实,除了一小点设计的工作,我基本一个人在打拼!无论是前端xhtml+Css+Js,还是后端NodeJS+Tornado+MySQL+Redis,还有Ubuntu的配置和监控,完全一个人包办。

    有时候想找个合作伙伴,可是这伙伴可不是这么容易找的吧?!都怪我大学的时候没有好好“发射”我的基情,找几个机油的伙伴,要不也不至于什么都会,什么都要自己去做了...

    无论是单挑还是群殴,我觉得没有必要太纠结。君不见多少个公司的前端都是那么一两个人在扛着,多少公司只有一个后端成员,甚至连Facebook如此庞大的MySQL集群也只有两个DBA就足够管理了。能够搞定事情就好,能最快完成事情就好...多少个人不必太纠结,有人合作的时候能合作,没有合作的时候,我一个人也能搞到很好...

    话说回来,可以人少点,就尽量少点人,比如像37singals,7个人搞定几个网站甚至自己当客服了,每年完成几千万的生意....我这后辈,望其项背而不及啊....

    希望对你有用....

    1条评论 | 修改 | 链接
    • Sunny

      I love cool startups such as 37singals

  • 射覆 射覆 13

    要有精于单挑的能力,勇于合作的态度

    1条评论 | 修改 | 链接
    • Sunny

      一句倒位!!!

  • 肉山大魔王 肉山大魔王 92

    我在想这个问题背后不一定是合作还是单挑的问题,而是你的合作者,他写代码的风格,他遵循的规范,他对完美的要求度是否和你一样,甚至他的技术能力的高低,提供给你支持(接口)的好坏,他的个人爱好和脾气,都会影响合作。
    任何一个优秀的技术人员都希望以自己为中心来解决问题,但有的人不善于把合作者引导到自己想要的节奏和标准上,所以才会烦恼。
    所以协作,是一种心态,也是一种能力。你可以不接受,但总是难以避免。

    1条评论 | 修改 | 链接
    • joyqi

      同意协作是一种能力的说法,不协作不代表不能做事,但协作可以做不同的事

  • wangym wangym 23

    做为一个个体,合则善于合作,分则善于单挑。努力提高单兵做战能力吧~

    0条评论 | 修改 | 链接
  • Raywill Raywill 45

    就个人经验看,在寻求合作之前最好有一个demo系统,大致框架需要基本确定。从最开始就寻求合作,很容易失败。

    当然,如果一开始就有很好的核心团队,价值观相似,一开始就合作也未尝不可。

    0条评论 | 修改 | 链接
  • 橘子iz 橘子iz 8

    我也在创业2个人就够了,太多人反而不好 我们的网站是 http://www.chengxuyuans.com

    1条评论 | 修改 | 链接
    • JemyGraw

      哥,你们的网站只有IE能看吧?

  • sunus sunus 31

    我好痛苦啊!!现在在做个豆瓣的应用 基本完成了到现在都还是我一个单干。。
    可是 我不懂页面的美化啊!!不懂html(错了,是一医点点) 不懂css不懂js啊啊 页面弄得好丑
    真心想找人美化!!!好了就可以上线了啊!!我在天津,大二的学生。。

    2条评论 | 修改 | 链接
    • Sunny

      加油!希望在这里能找到你的合作伙伴 :)

    • sunus

      @Sunny thx still haven't found him yet:(

  • 特价萝卜 特价萝卜 6

    如果要做创新小应用和打快球,可以选择单独攻坚,否则必须要学会协作。技术人往往以技术实力自居而不重视了沟通和协作。

    0条评论 | 修改 | 链接
  • 姚莱莱 姚莱莱 19

    个人角度,不能单挑的程序猿不是好程序猿;公司角度,不能合作的程序猿不是好程序猿。

    1条评论 | 修改 | 链接
    • shaowei-lv

      你的观点我很赞同哈!