如果一个人想去做这件事,他就能达到目的。
在队伍中没有大写的‘我’。事实证明,将许多人集合在一起,他们总体的战斗力可能会大大高于各自战斗力之和,也可能大大低于各自战斗力之和。
团队的竞争优势是团队成员如同无缝衔接的整体一样去思考、去行动的能力(这种能力有时候被称作“联合认知”)。任何一个计算机科学家都会告诉你,如果有一房间的电脑,与其把它们与每台机器“单对单”地连通,还不如将这些电脑互相连通,再将运算结果输出给机器,后者所能够解决的问题远比前者错综复杂。
事实上,只要有几十台笔记本电脑,通过上述方式你就能创造一台超级电脑,而即便是初级中学的电脑室里,拥有几十台笔记本电脑也不在话下。不过你要在一开始花费很多时间将它们整合起来——这就好像通过海豹突击队基本水下爆破训练把许多精壮聪明的小伙子捏合成海豹突击队这个整体,而且投入这些时间是值得的,因为团队总体能力上的增强是十分巨大的。
与什么样的人工作更快乐?
独挡一面的人
这样交给他的事能独立完成,没有路能自己找路,这样可以省很多管理成本。不需要其它人“哄”和照顾的成年人。
沟通能力和拆解能力强的人
能够把复杂的问题简化,并能以事实说服他人的人。能够有优先级概念将复杂问题拆解成一个个小问题的人。
自我进化的人
能够自己驱动自己,不断提升自己专业能力的人,实现自我进化,接受负面反馈的人。
应该树立什么样的工作共识?
Owner
一个项目由谁负责,谁就是这个项目的 owner,由他负责推进和调度资源,当然也由他来承担这个项目的责任。学会主动发现问题,发现可以改进的地方,自己推进。
Review
不拍脑袋决定事情,不迅速在没有事实的情况下定下结论,方案不一口气成型,反复 review。方案比较完善后再去推动。要高质量的解决方案。
Advanced
我们推崇使用先进的技术、先进的工具,甚至的先进的公式,可以勇于尝试和探索。
Plan
提早计划、在正式提出计划前脑海里应该就要有两周到四周的里程碑了,如果是重大的项目应该有 3-6 个月的演进思路。
Evidence
讨论和分析在有争论的时候最好是拿出证据、数据、权威的引用。
应该如何一起共同进步?
深入思考
在看到某个【知识】或者听到他人【见解】的时候,多想想,也多自我辩证。不要立即下出判断,脱口而出。比如这个图片为什么打不开,不要脱口而出用户网络不好,而是自己先想想有什么因素可能导致这个问题。 相关并非因果!
其次是听到他人【见解】,不要有对立关系,觉得对方在为难你或者批判你,而是尝试多问下【为什么你会这么觉得?】或者【为什么你觉得这样更好?】,保持 开放 的心态。
敢于提出
当你思考得足够了,你要用于去提出问题。比如上面的问题 这个图片为什么打不开
,可以先整理一个 list,包含其中的可能性,比如:
- 是否是 HTTP 访问有问题?
- 是否是这个图片不存在对象存储?
- 是否 CDN 发生了事故?
- ...
快速实验
你有了一个问题列表后,可以依照可能性进行排序,然后一个个进行实验。【不要拖】,请尽快开始第一个实验,久了你的大脑就会有懒惰的心理。
拿到结果
实验之后你就会知道自己的猜测正确与否,如果没有找到答案可以尽快进行下一个实验。
不断总结
每次实验或者每次学习一个新的东西的时候,要学会自己去总结。去组会上发表自己的总结、记录在 wiki、发到自己的博客(非机密的)等等,都是一个很好的办法。可以自我总结,有什么做得好的,什么做得不好的。
以 k8s 运维来说,那就是仔细阅读日志和检查状态,思考原因,提出最大可能性,以最快速度实验,确认是否能解决,不能就立马下一个。等运维结束后,记录这次的 case 的总结。
以需求开发来说,仔细阅读产品需求文档,思考技术上是否可以减少耦合、抽象共用、更优秀的排序算法?等等,然后针对自己提出的问题在需求开发中尝试实验,每次大的需求开发后自己写一个总结。
按照上述流程不断反复你就自然会成为某个领域里非常强的人。
本质上上面的流程教你的并不是【学习】,而是如何【研究】,但【研究】的本质就是不断的【学习】、发现【问题】、提出【假设】、总结【经验】。不妨拿起小本子记录看看,从下一个需求、下一次事故、下一次调研开始。甚至你下一次做饭的时候、运动的时候都可以依照上面的流程不断优化和完善自己。