软件开发是一个需要协同作战的工作,团队是软件开发工作的基本组织。要想在工程团队或任何其他创造性的合作中取得成功,团队中的每个人都需要基于谦逊、尊重和信任的核心原则重新调整自己的行为。
人们害怕别人看到并评判他们正在进行的工作,这是一种不安全感。不安全感是人性的一部分,没有人喜欢被批评,尤其是害怕自己正在做的事被别人批评。
林纳斯的成就不是写了林纳斯,而是领导无数人协同工作。林纳斯不是林纳斯最初想法的光辉结果,而是社区集体劳动的成果。迈克尔乔丹也不是一个人打赢所有比赛,他真正的天才之处在于他与团队合作的方式。
许多工程师的内心深处希望自己被看做是天才,这种幻想的心路历程是这样的:你被一个看似很棒的概念打动;你会消失数月或数周辛辛苦苦实现完美的构想;展示开发出的软件以你的天才震惊世人;同龄人被你的聪明才智惊呆了;人们排队使用你的软件;名利接踵而来。
天才神话只是我们不安全感的另一种表现。人们害怕自己的错误被看到,被看穿不是一个天才。
不安全感使人们把工作隐藏起来。另一个隐藏工作的动机是怕别人窃取自己的成果。
隐藏工作妨碍了及早检测,造成重复发明轮子,降低了团队的速度。早期分享不仅能防止个人失误,还能让你的想法得到验证,让团队成员多重互为备份。
隐藏归结起来就是:独自工作比与他人一起工作本身更具有危险性。
要想达到合作的最佳意境,团队成员需要学会社交技能三大支柱:谦逊、尊重、信任。
谦逊:你不是宇宙的中心。你不可能无所不知,也不可能永不犯错,所以应时时保持开放心态,不断自我改进。
尊重:真心关心和爱护身边的同事,欣赏他们的能力和成就。
信任:相信别人有能力做正确的事情,在适当的时候接受别人的帮助。
失败的根因经常可以追溯到团队成员之间缺乏谦逊、尊重、信任。
社交是通过创造好的人际关系把事情解决好。人际关系比项目更持久。如果你和同事相处融洽,他们会更愿意在你需要帮助的时候多付出一些。
建立无指责的回顾文化。
对于任意规模的软件开发工作来说,前提条件都需要一个运作良好的团队。一个软件组织要经受时间的考验,它必须有一个健康的文化,根植于谦逊、尊重、信任,这种尊重围绕团队而不是某个个人。软件开发是创意工作,要求人们冒风险,必须有一个有安全感的团队环境支持。