作为一个程序员,我从非技术人员身上学到了这些
Posted 程序员的店小二
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作为一个程序员,我从非技术人员身上学到了这些相关的知识,希望对你有一定的参考价值。
我从非技术人员那里学到的 5 个最佳工程建议。
编者按:他山之石,可以攻玉。我们很多的智慧往往来自于其他地方的启发。比方说,人类从其他生物身上就学到了很多。同样地,做技术管理的很多方法经验也可以借鉴非技术领域的做法。本文来自编译。
当我专注于成为一个更好的工程师团队管理者时,我一直在回顾那些对我的能力产生10倍提升的建议。很多时候,最好的建议,那些让我记忆犹新的建议,往往来自完全没有软件背景的人。
我一直很幸运(或者很不幸,取决于你的观点),有幸从事关键系统中有很大影响工作。这项工作自然会带来很多自我怀疑和焦虑。随着时间的推移,我发现自己面临着同样的挑战,我写下这些的想法和故事。耐人寻味的是,那些真正能对软件质量产生影响的东西似乎从来不是关于软件本身。
以下是我最喜欢的五个。
1. “像我们这样的人,在事物的缝隙中挣钱”
谁说的:美国NSA的一位高级官员
背景:关于我为什么与NSA开会,说来话长,但只需知道这是一个相当疯狂的会议,其中有很多非常重要的人,有令人印象深刻的头衔,说了很多关于计算机安全的愚蠢事情。这将是我在联邦政府的职业生涯中的第一次,我们期望与高级领导层举行一次富有成效的会议,但成了无意义的竞赛。我记得一个女人,在她的同事回答国土安全部的问题时说了一些既错误又侮辱性的话后,发表了这一评论,重新引导谈话。她试图化解局面,我怀疑她对自己的言辞选择有什么想法,但她的洞察力很敏锐,也很到位。安全性和可靠性更有可能在部件之间的接缝处出问题。在那些没有人确定谁拥有什么,或谁负责什么的地方,不太可能有适当的监控,缝隙是东西丢失的地方,有时会丢失好几年。因此,如果你的任务是安全或可用性,那么接缝处是你找到大回报的最佳选择。
我是如何改变我的方法的。在那之后不久,我开始运用一种叫做100:10:1的创造性写作技巧来评估和拯救软件系统。100:10:1背后的想法很简单。
头脑风暴想出100件可能出错的事情
在清单上挑出10个最有可能发生的事情,并对它们进行调查
找到你要关注的一个关键问题。
这些数字本身并不重要。100:10:1背后的想法是,你产生了这么多潜在的想法,让潜在的东西浮现出来。当你挖掘那些感觉最可能的想法时,随着时间的推移,这个名单会逐渐缩小。有些想法最终是完全错误的,有些与其他想法合并,有些分裂成新的想法,有些被排除在外,因为已经有人在关注它们......最终你在缝隙中发现了大家都忽略的东西。
以这种方式处理问题也改变了我团队的行为方式,变得更好。团队工作,最困难的部分往往是允许人们提出最终不被接受的想法。人们倾向于自我审查,以避免看起来或听起来不对,因为他们认为其他人都在小本本上给每个人记分。当我们在团队中这样做时,就会产生盲点。幸运的是,人类对概率的把握非常差。非常糟糕。我完全可以接受95%的时间都是错误的,因为我明白,当我发现一个关键问题时,我之前所有被排除的想法都不重要了。我发现了一些更有经验的工程师所遗漏的问题,这让我在同事眼中有了超能力。
当我转变为一个团队的领导者时,好处变得更加明显了。我们经常谈论心理安全和允许人们说出自己的想法,但在如何做到这一点方面却没有很多指导。作为一个不怕问愚蠢问题的人,一个让想法轻易被抛出而不发生大的争论的人,我创造了一个环境,在这个环境中,相互纠正和辩论并不觉得是什么大问题。让这个过程正常化,人们不再纠结,因为很明显,他们的老板不在乎你提出错误的问题。
我倾向于在边缘案例中思考,但边缘案例从定义上讲是不太可能的。因此,我倾向于提出很多不相关的东西。当你讨论一个问题或情况时,基本上有三类信息:真实的东西,虚假的东西,以及真实但不相关的东西。如果有一种文化,人们不会为了避免提及一些真实但不相关的东西,这意味着我们总体上能做出更好的技术决策,因为我们能从每个团队成员的完整观点中获益。
2. “知道人们要求你成为什么专家”
谁说的:Leslie Ryan,我的托福老师
背景:Leslie利为我颁发了教英语的证书,这项技能使我能够环游世界,为小型非政府组织工作,否则这些组织不可能向我支付生活费或赞助签证。我们第一次在教室前独自教学的前夕,他对我们一群人这样说了这句话。
Leslie向我们指出,我们未来的大多数学生将是专业人员。他们不需要我们教他们商业、法律、医学或经济学的知识。他们已经是这些方面的专家了,他们需要学习如何用英语做这些事情。他们希望获得母语般的流利度,以补充他们现有的技能。我们应该允许他们成为专家,并记住他们雇用我们是为了成为专家。
来自技术人员的建议。“你欺骗不了任何人,我们知道我们雇用了谁。”
谁说的:米基·迪克森,美国农业部部长
背景:那是我与米奇在白宫前的杰克逊广场USDS总部的地下室举行的几次会议之一。我不记得我们到底在谈什么,但我记得这句话就像一针见血。米奇有一个习惯,就是这样快刀斩乱麻。对许多人来说,这是令人不安的,是争论的焦点,是误解和伤害感情的无尽源泉,但过了一段时间你就会习惯了。
我没有想到我是基于“冒名顶替综合症”(imposture syndrome)来做决定的,但我确实感到我与当时在USDS工作的一些人完全不相称。这些工程师在当今一些最大和最有声望的科技公司:谷歌、Facebook、Twitter、Netflix、亚马逊工作过。这些人将这些公司发展到目前的规模。我很容易就被比下去了。
我不认为米基有什么深刻的意思。他只是陈述了他所看到的事实。USDS明白我不是世界上最杰出的软件工程师。他们知道我在职业生涯中的位置,我的技能组合是什么,以及我的弱点在哪里。他们雇用我是因为我似乎知道如何在政府中以可持续的方式完成技术工作。这就是他们希望我能够带来的。
在同一次谈话中,米基继续告诉我,“仅凭你前三个月的工作,我就会支付你全年的工资。即使你没有做其他事情,我也会很高兴地在支票上签字。”
在那之后,我不再那么关心所有这些杰出的工程师,不在乎我究竟是不是属于他们当中的一员,而开始专注于从他们那里尽可能多地学习。
我是如何改变我的方法的。当我和工程团队一起工作时,我经常会想到Leslie的评论。很多时候,工程师们都沉浸在想要证明自己足够优秀的想法中,他们在不知不觉中与拥有互补技能的同事们产生了矛盾。软件工程师突然表现得好像他们可以成为自己的产品经理、设计师、文案编辑和销售人员。其他领域的专业人员并不总是清楚如何与这种工程师打交道。
当我发现自己迫不及待地想打断别人对某一话题的思考时,我就会试着问自己:“我在这里应该成为什么专家?” 通常我意识到,在我热衷于展示我的知识的时候,我纠正的是一个在这个话题上投入了相当多的时间和精力来发展其专业知识的人。我不后悔闭上我的嘴,让他们说话。
3. “在你让事情变得更好之前,你必须停止让它们变得更糟”
谁说的:NAMI的一名团体心理治疗主持人
背景:2014年夏天,我背负着14,000美元的债务,完全绝望了,那时我经常想到这句话。后来,当生活恢复正常时,我意识到,不得不面对的那些麻烦的行为模式也潜伏在更普通的情况下。极端的情况只是催化剂。
我是如何改变我的方法的:作为一名工程经理,我所做的很大一部分工作是阻止真正优秀的人执行那些以 “我可以在周末自己做这个 ”为开头的计划。
如果你为同事做事情,而拒绝他们自己做或参与这个过程,你就不是在帮忙,而是让他们依赖你,即使最终的结果是你自己做得更快。
不久前,另一个团队的一名工程师联系到我的团队,提出要把我们迁移到一个新的系统进行部署。他刚刚为他团队的一项服务做了这个工作,并且有信心在没有我们团队帮助的情况下完成这个工作。他强调这是一个优势,我们不需要重新安排事项。他根本不需要我们做任何事情,当我说 “不 ”的时候,我得到了团队的反驳。这听起来不太合理。这位工程师是如此有才华,我为什么要拒绝他的帮助?
我指出,如果有人替我们做,那么我们就不知道新系统是如何运作的,这可能会造成长期的问题,接受这个提议所节省的时间也就不复存在了。我的团队仍然不相信,所以我们妥协了,要求召开会议,讨论迁移到新系统的步骤。如果它像听起来那么容易,我们会接受他的提议。
结果发现有几个针对我们服务的要求在新系统中还没有出现。更糟糕的是,其中一些缺失的部分没有明确的解决方案。工程师会被卡住,不得不把我的团队拉进一个我们还没有准备好的迁移中,或者中途放弃,或者擅自为我们做出关键的架构决定。
为别人做事,很少像看起来那样有帮助。如果他们不理解你所打造的东西,你就使事情变得更糟。如果他们不知道如何维护,你也使事情变得更糟。如果你对他们的需求了解得不够多,以至于不能正确实施,你就把事情弄得更糟了。如果他们不关心使用或维护你所打造的东西,因为他们没有参与建造过程,对它没有所有权或义务感,你就把事情弄得更糟了。
通过补充现有的努力来提供帮助几乎总是更好的,而不是把一些工作拿走,再带回来一个解决方案。
4. “左走,右转”
谁说的?杰西·提斯利
背景:我大约在16岁的时候遇到了我的师父。他留着辫子,教我如何用剑。他还向我介绍了中国哲学,特别是道教。
我是如何改变我的方法的:道教的核心概念之一是对立面的和谐。基本上,道教承认人类的思维喜欢二元对立:白-黑,右-左,软-硬,善-恶。这是我们的思维方式,但这也是不准确的。自然界并不尊重这种严格的区分。所以是值得商榷的,它们通过消除某些方面的变化使复杂的思考变得更容易,但也使我们在这种模式不成立时容易犯大错。
道家明白,我们倾向于根据这些错误的二分法进行过度优化。如果在给定的环境中,柔软是一个理想的特征,我们就试图消除所有的硬度。如果白色是可取的,我们就擦掉黑色。这些纯粹的状态不仅仅是无法实现的,还建立在一个不真实的二分法之上的。这种洞察力继续影响着佛教,特别是禅宗佛教。
道家认为,通向真理的道路在于调和二元对立。认识到人类不太可能完全放弃二元对立,而是在白色中放一点黑色,在黑色中放一点白色。这就是为什么道教的象征是阴阳。
我喜欢听师父讲课,因为他以一种非常务实的方式来阐述这些东西,使它不那么虚,而更适用于我。他经常说的另一件事是:“当你打人的时候,你需要把手臂向后拉,然后再向前发力。如果你不这样做,你的打法会很弱。” 这是同一件事的一个变种:我们先考虑相反的情况,就会更强大。
我们都知道应该挑战假设,但这要求我们首先意识到我们在做一个假设,这并不容易。道家的建议是,在寻找和考虑相反的路径之前,不要向任何方向移动,这就绕过了这个问题。当你注定要以二元对立的方式看待问题时,一切都会成为一种假设。
5. “思考也是工作”
谁说的:未知
背景:我总是把这句话与一位年长的妇女联系起来,我大学生时期最后去了她位于布朗克斯区迷人公寓参加冬至聚会,但那人是个陌生人,我们似乎不太可能谈得那么多。我曾试弄清楚究竟是谁说的,但无济于事。这是一个错误的记忆,在我整个成年生活中一直伴随着我。
我是如何改变我的方法的:在个人层面上,我在需要时间的时候抽出时间。我为什么要为离开办公室去散步而感到内疚?思考也是一种工作。
但它也影响了我管理工程团队的方式。我在传统的办公室环境中时,曾经告诉我的员工,如果到了下午2点,你已经完成了当天的工作,而且没有会议,就回家吧。你不是在欺骗谁,你是在把这些能量存入银行。你会有一些随叫随到的轮换,你会在凌晨3点被叫起来。或者在艰难的一周里,我们必须工作到很晚才能把事情做完。这些事情都会发生,而且不可能准确预测时间。如果你完成了一天的工作,就回家,放松一下,花些时间和家人在一起。把这些时间存入银行,因为我们以后肯定会花掉它。
需要告知人们这一点似乎很傻,但许多人都被训练成认为如果没有被看到在工作,那么管理层会认为我们在偷懒。
我认为我作为经理的角色部分是广告执行官。我的工作是把那些向我汇报的工程师卖给当初雇用他们的组织。一个组织的本质上是偏向于过度优化。这意味着我们所有的员工都有超强的生产力是不够的,必须有一个明确定义的方法和流程来创造这种生产力,以便可以复现来保证生产力。
你可以用一整个图书馆的研究来说明这不是有效团队的建立或运行方式。有效的团队需要信任,这并不是说决策框架或指标跟踪没有用,都是至关重要的,但用程序取代信任就叫官僚主义。信任必须首先存在,才能使KPI、OKRs、SLOs(或书中的任何缩写)发挥作用。
但信任也会随着时间的推移而自然退化。意大利研究人员Cristiano Castelfranchi和Rino Falcone有一个信任模型,其中的关键因素是可观察性而不是成功。根据他们的理论,一个默默成功的实体,最终会比一个明显失败的实体更不值得信任。如果我们快速有效地从失败中恢复过来,信任就会增加。而当我们的成功而没有人注意到时,会变得越来越不为人知,越来越不确定。这就解释了所谓的服务恢复悖论,即消费者在失败后比失败前更信任一个服务提供商。
必须不断提醒各个组织,他们雇用了杰出的人才,这些人知道他们在做什么。他们一开始就知道,但随着时间的推移,如果员工的价值无法被观察到,那么信任就会退化,官僚主义对领导层的吸引力就会越来越大。当人们拥有无限的假期,却要被告知要请假,或者如果他们在下午2点完成了工作就提前回家,或者在午夜后不回复电子邮件,原因是他们明白,被观察到在工作,比他们的工作成果更有价值。
很明显,这创造了一种文化,让每个人都变得更糟。雇员们倦怠了,组织的效率降低了。我人生的转折点是有一天我意识到要管理好工程团队,我不需要成为世界上最好的工程师,我需要善于在指挥链上鼓励我的员工和他们的故事。我需要让他们被看到,这样我们就可以通过保持高度的信任来抑制官僚主义。
来源:36kr
译者:蒂克伟
以上是关于作为一个程序员,我从非技术人员身上学到了这些的主要内容,如果未能解决你的问题,请参考以下文章
从 Salesforce 身上学到 SaaS 公司走向成功的 7 个必备条件