神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:管理的核心内容是人,管理要以人为本。作者作为一个从开发人员到技术主管,从经理到高级经理的人,一路走来得到了十条真诚的管理心得。本文来自编译,希望对您有所启发。由于篇幅较长,故拆分成上下两篇,本文是上篇。
相关阅读:作为软件开发经理要避免的10个错误(上)
在我早期的软件开发生涯中,我非常幸运地较早地就成为了一名软件经理。作为一个相对年轻和幼稚的新经理,我工作上关注的重点一直是恪守承诺和项目交付。
尽管如此,我还是做得很好,爬上了管理的阶梯,成为了一名高级经理。当我今天回头看的时候,我虽然达到了作为一个经理的基本要求,但我在其他很多方面做的都不好。
在重新调整职业生涯并进入一个新行业后,现在我又回到了基础管理岗。既然我非常幸运地拥有了第二次当经理的机会,我会从过往的经历中学习,努力避免以下错误。
我以前从来都不知道“开发者的快乐”(Developers’ Happiness)这个词。
当考虑工作过程改进(工具、技术、框架等)时,我考虑的是有效性、效率和成本。
开发者的感受是“次要的”。如果一个项目是有效的,高效的,成本也是合理的,那就已经够好了。
我当时的理论是,当我们变得更有效率时,开发者自然会更快乐。如果不是,至少当公司从改变中获益时,我们可以给开发人员奖励,他们也会“更快乐”。
我大错特错了。
对我来说,在那个时候,人的感受总是次要的,起码优先级低于项目的成功交付。现在回想起来,我感觉糟透了。
我第一次听到“开发者的快乐”这个词是在我第一次以开发者身份转到手机开发领域时。我们建议改用一种新的语言,也就是Kotlin,它在2017年就开始流行了。
在说服管理层使用这种新语言时,我试图证明这种语言在表达能力方面是多么厉害,因为它比Java更简洁。也有人问我它在编译时、运行时和潜在风险方面的表现。
要证明所有这些都很困难,但是我的技术主管说:“如果Kotlin没有明显的缺点,如果它增加了开发人员的幸福感,那么它值得考虑。”
哇!我的幸福和快乐很重要!我感到被珍惜和感激。
在考虑对任何工具、过程等的更改时,开发人员的幸福感是一个非常重要的考虑因素。如果开发者喜欢它,他们就会尽可能地让它发挥作用,除非我们选择了一个糟糕的选择。
即使我们的选择是错误的,但我们这样做是为了“开发人员的幸福”,团队也将愿意努力纠正和改进这种情况。
我们会从错误中学习,我们“高兴地”犯错,也会“高兴地”修复。
“我努力工作,晋升是我应得的!”这是一个人们很容易陷入的陷阱。
我非常谨慎,不落入这种“骄傲”。但在从事管理工作数年后,“有资格”享受特殊待遇的感觉自然会产生。
在一张团队照片中,由于我的职位,我应该得到“C位”。人们看到我时应该自然地向我打招呼。我得到了关注和特殊待遇。作为高级经理,我在很多事情上都有优先权和排他性。
当我说话时,人们会倾听。我认为这是我“应得的”。
我大错特错了。
当我转行后,我不再得到所有的关注,也没有额外的待遇。当我说话时,人们会打断我,然后继续说。我只是个“噪音”。
然后我意识到一个事实:当我还是高级经理时,很多人对我更好,不是因为我是谁,而是纯粹因为我的职位。
事实上,我不值得。如果他们对我好,我应该感激的。即使他们没有,也没关系。永远不要陷入“自命不凡”的陷阱,因为我们永远不知道什么时候会有一天,我们将不再是那个位置上的人。
事实上,正是在我们“不在高位”的日子里,我们才能发现真正的朋友和真诚的人。这些人没有任何附加条件地对你很好,我们可以和这些人建立长久的关系。
不管我们的地位如何,我们和其他人一样都是普通人。恭敬地对待每一个人,永远不要期待排他的待遇。毕竟,我们只是暂时生活在这个世界上的伙伴,总有一天,一切都会过去。到那时,重要的不是我们被如何对待,而是我们如何对待他人。
我的职业生涯是从开发人员做起的。我专注于学习技术性的东西:编程语言、技术、范例、实践。
当我成为一名高级经理后,我现在也有了为我工作的经理。我想,也许我应该专注于领导力,多读一些管理和领导力方面的书籍。
我的主管和经理应该处理所有的技术问题,我可以把它“委派”给他们。我再也没有时间做低级的“技术性的事情”了。
我大错特错了。
在一开始,这是可行的,因为我“过去”的知识仍然和时代同步,我仍然能够理解开发人员所说的内容。
但过了一段时间,技术进步了,出现了新的语言,引入了新的框架。开发人员继续前行,而我所理解的知识已经无关紧要了。
我仍然试着用“古老的知识”来看待我们提出和讨论的内容。我开始做很多假设,有时过于简化事情,而不是立足于现实中。我再也无法理解开发者的痛苦和挑战了。我无法理解复杂性,这让我过于苛求,并提出了不合理的期望。
当时对我来说,任何编程语言都只是一种编程语言。这有什么难的。我们可以在几周内学会任何语言并掌握它,因为我们的C++基础能让我们学会任何东西。
现在,当我重新开始我的职业生涯,回到实际的开发工作时,我现在很感激当时的开发人员克服了许多困难——学习的痛苦和技术上的挑战。
当开发者知道我们理解他们,并能够与他们建立联系时,他们会更愿意被引导。他们信任我们的领导。
我是一个非常敬业的员工。我的时间是用来完成项目的。我会集中时间学习所有的内部流程和公司的专有工具。所有的大型组织都有自己的流程和工具,所以我的目标是掌握它们。
换句话说,我的投资都集中在公司内部。我是一个非常忠诚的员工。如果我花时间学习一些其他的东西,我会觉得我不够专注,因为我学的东西不能直接用于公司的工作。
我大错特错了。
我不仅错了,而且我非常愚蠢和天真!
了解和理解与我们的工作相关的组织内部流程是很重要的,但是我们也应该学习足够的知识来满足我们的工作需要。
我们应该花时间学习外部知识,探索我们有热情的领域。这些知识可能与公司工作没有直接关系,但它确实打开了我们的思维,让我们对许多事情有更广泛的思考和理解。
从自私的角度来看,我们要让自己与就业市场保持联系。在简历中,专有知识并不是很有用,相关的技能组合才能使一个人持续具有市场价值。
与此同时,在现实中,更广泛的知识也会让我们更有创造力,因为我们在寻求改进和解决方案时,有能力跳出固有的思维模式。当我们的组织拥有多样化的知识和技能时,它就能更好地创新和成长。
除了学习,我们还应该把时间花在生活的其他方面,比如健康和情感幸福上。通过成为一个更全面的人,我们也会成为更好的员工。
问题是生活的一部分,管理也是如此:我们就是来解决问题的。有时我们称之为机遇。
当我们遇到问题时,我们有很多工具来帮助我们进行根本原因分析。这些工具帮助我们列出导致问题的不同可能性,这非常有帮助。
但这个工具的作用,取决于我们在确定根本原因时的诚实程度。在一些不能容忍错误的公司中,人们会避免列出潜在的根本原因,因为这些原因可能会引火上身。
作为管理者,我的职责是找出问题的原因。也许是结构问题,也许是外部因素,也许是我们员工的能力,但绝不是我的错误。
我知道我已经尽力了,根本原因不可能是我。
我大错特错了。
由于从不把自己看作问题的潜在根源,我有时感到非常无力。我一直观察自己的外部世界,寻找应该“责备”的地方,这样我就可以避免追究问题的“责任”。
错的总是“别人”而不是“自己”。因此,我们并不能真正完全控制局面。如果我们总是把自己排除在画面之外,我们可能会错过问题的实际根源。
这是我从一位技术主管那里学来的。有一天,一个专门的开发人员犯了一个看起来很“愚蠢”的错误,导致我们的软件崩溃。经过一些调查,开发人员了解到这个错误,并遗憾地承认了错误。
如果我是经理,也许我会同情开发人员,并要求他们在以后的工作中小心行事。我可能会要求开发人员帮助寻找解决方案,以防止今后出现这种错误。
但当时,我的技术主管并没有因为开发者承认错误而感到宽慰,而是承担了全部责任,并表示他没有制定出防止这种错误的安全网。如果他建立了安全网,这个错误就不会在软件发布之前才被发现。
当我听到这个消息时,我并没有因为他没能建立起安全网而鄙视他。相反,我对这位技术主管的尊重与日俱增。他不仅让开发者感觉更好,而且还承担了全部责任,他觉得自己应该确保问题得到解决。Respect!
如果我们仔细看看上面的十条,就会发现管理的重点应该永远放在人身上。管理的过程是为了帮助人们成长,而这些项目是培养人才的机会。
领导要以人为本。事实上,如果没有人,就没有领导。
作为管理者,首要任务是让员工成长,作为回报,员工也将更好地为公司做出贡献。
如果没有人一起工作,经理就什么也不是。我们能有今天,是因为一直得到了员工的支持。
译者:Jane
相关推荐
作为软件开发经理要避免的10个错误(下)
作为软件开发经理要避免的10个错误(上)
产品经理什么时候会被淘汰?
投资中东和北非地区要避免的错误观点
大多数产品经理,都容易走进的四个思维误区
软件开发既要敏捷又要安全?来看看DevSecOps吧 |年度行业研究
亚马逊无人机送货要凉了?一个月换3经理,100多人被裁员
基金经理为什么要长期布局一个赛道? | 白话基金
AI时代,如何成功应用人工智能?产品经理必须要知道的4条准则
千企调查报告:疫情影响下的10个“二八现象”
网址: 作为软件开发经理要避免的10个错误(下) http://m.xishuta.com/newsview54030.html