作为软件开发经理要避免的10个错误(下)

神译局 2021-11-17

httpsdata-id

3078 字丨阅读本文需 7 分钟

 编者按:管理的核心内容是人,管理要以人为本。作者作为一个从开发人员到技术主管,从经理到高级经理的人,一路走来得到了十条真诚的管理心得。本文来自编译,希望对您有所启发。由于篇幅较长,故拆分成上下两篇,本文是上篇。

在我早期的软件开发生涯中,我非常幸运地较早地就成为了一名软件经理。作为一个相对年轻和幼稚的新经理,我工作上关注的重点一直是恪守承诺和项目交付。

尽管如此,我还是做得很好,爬上了管理的阶梯,成为了一名高级经理。当我今天回头看的时候,我虽然达到了作为一个经理的基本要求,但我在其他很多方面做的都不好。

在重新调整职业生涯并进入一个新行业后,现在我又回到了基础管理岗。既然我非常幸运地拥有了第二次当经理的机会,我会从过往的经历中学习,努力避免以下错误。

我以前从来都不知道“开发者的快乐”(Developers’ Happiness)这个词。

当考虑工作过程改进(工具、技术、框架等)时,我考虑的是有效性、效率和成本。

开发者的感受是“次要的”。如果一个项目是有效的,高效的,成本也是合理的,那就已经够好了。

我当时的理论是,当我们变得更有效率时,开发者自然会更快乐。如果不是,至少当公司从改变中获益时,我们可以给开发人员奖励,他们也会“更快乐”。

我大错特错了。

我来说,在那个时候,人的感受总是次要的,起码优先级低于项目的成功交付。现在回想起来,我感觉糟透了。

我第一次听到“开发者的快乐”这个词是在我第一次以开发者身份转到手机开发领域时。我们建议改用一种新的语言,也就是Kotlin,它在2017年就开始流行了。

在说服管理层使用这种新语言时,我试图证明这种语言在表达能力方面是多么厉害,因为它比Java更简洁。也有人问我它在编译时、运行时和潜在风险方面的表现。

要证明所有这些都很困难,但是我的技术主管说:“如果Kotlin没有明显的缺点,如果它增加了开发人员的幸福感,那么它值得考虑。”

哇!我的幸福和快乐很重要!我感到被珍惜和感激。

在考虑对任何工具、过程等的更改时,开发人员的幸福感是一个非常重要的考虑因素。如果开发者喜欢它,他们就会尽可能地让它发挥作用,除非我们选择了一个糟糕的选择。

即使我们的选择是错误的,但我们这样做是为了“开发人员的幸福”,团队也将愿意努力纠正和改进这种情况。

我们会从错误中学习,我们“高兴地”犯错,也会“高兴地”修复。

“我努力工作,晋升是我应得的!”这是一个人们很容易陷入的陷阱。

我非常谨慎,不落入这种“骄傲”。但在从事管理工作数年后,“有资格”享受特殊待遇的感觉自然会产生。

在一张团队照片中,由于我的职位,我应该得到“C位”。人们看到我时应该自然地向我打招呼。我得到了关注和特殊待遇。作为高级经理,我在很多事情上都有优先权和排他性。

当我说话时,人们会倾听。我认为这是我“应得的”。

我大错特错了。

当我转行后,我不再得到所有的关注,也没有额外的待遇。当我说话时,人们会打断我,然后继续说。我只是个“噪音”。

然后我意识到一个事实:当我还是高级经理时,很多人对我更好,不是因为我是谁,而是纯粹因为我的职位。

事实上,我不值得。如果他们对我好,我应该感激的。即使他们没有,也没关系。永远不要陷入“自命不凡”的陷阱,因为我们永远不知道什么时候会有一天,我们将不再是那个位置上的人。

事实上,正是在我们“不在高位”的日子里,我们才能发现真正的朋友和真诚的人。这些人没有任何附加条件地对你很好,我们可以和这些人建立长久的关系。

不管我们的地位如何,我们和其他人一样都是普通人。恭敬地对待每一个人,永远不要期待排他的待遇。毕竟,我们只是暂时生活在这个世界上的伙伴,总有一天,一切都会过去。到那时,重要的不是我们被如何对待,而是我们如何对待他人。

我的职业生涯是从开发人员做起的。我专注于学习技术性的东西:编程语言、技术、范例、实践。

当我成为一名高级经理后,我现在也有了为我工作的经理。我想,也许我应该专注于领导力,多读一些管理和领导力方面的书籍。

我的主管和经理应该处理所有的技术问题,我可以把它“委派”给他们。我再也没有时间做低级的“技术性的事情”了。

我大错特错了。

在一开始,这是可行的,因为我“过去”的知识仍然和时代同步,我仍然能够理解开发人员所说的内容。

但过了一段时间,技术进步了,出现了新的语言,引入了新的框架。开发人员继续前行,而我所理解的知识已经无关紧要了。

我仍然试着用“古老的知识”来看待我们提出和讨论的内容。我开始做很多假设,有时过于简化事情,而不是立足于现实中。我再也无法理解开发者的痛苦和挑战了。我无法理解复杂性,这让我过于苛求,并提出了不合理的期望。

当时对我来说,任何编程语言都只是一种编程语言。这有什么难的。我们可以在几周内学会任何语言并掌握它,因为我们的C++基础能让我们学会任何东西。

现在,当我重新开始我的职业生涯,回到实际的开发工作时,我现在很感激当时的开发人员克服了许多困难——学习的痛苦和技术上的挑战。

当开发者知道我们理解他们,并能够与他们建立联系时,他们会更愿意被引导。他们信任我们的领导。

我是一个非常敬业的员工。我的时间是用来完成项目的。我会集中时间学习所有的内部流程和公司的专有工具。所有的大型组织都有自己的流程和工具,所以我的目标是掌握它们。

换句话说,我的投资都集中在公司内部。我是一个非常忠诚的员工。如果我花时间学习一些其他的东西,我会觉得我不够专注,因为我学的东西不能直接用于公司的工作。

我大错特错了。

我不仅错了,而且我非常愚蠢和天真!

了解和理解与我们的工作相关的组织内部流程是很重要的,但是我们也应该学习足够的知识来满足我们的工作需要。

我们应该花时间学习外部知识,探索我们有热情的领域。这些知识可能与公司工作没有直接关系,但它确实打开了我们的思维,让我们对许多事情有更广泛的思考和理解。

从自私的角度来看,我们要让自己与就业市场保持联系。在简历中,专有知识并不是很有用,相关的技能组合才能使一个人持续具有市场价值。

与此同时,在现实中,更广泛的知识也会让我们更有创造力,因为我们在寻求改进和解决方案时,有能力跳出固有的思维模式。当我们的组织拥有多样化的知识和技能时,它就能更好地创新和成长。

除了学习,我们还应该把时间花在生活的其他方面,比如健康和情感幸福上。通过成为一个更全面的人,我们也会成为更好的员工。

问题是生活的一部分,管理也是如此:我们就是来解决问题的。有时我们称之为机遇。

当我们遇到问题时,我们有很多工具来帮助我们进行根本原因分析。这些工具帮助我们列出导致问题的不同可能性,这非常有帮助。

但这个工具的作用,取决于我们在确定根本原因时的诚实程度。在一些不能容忍错误的公司中,人们会避免列出潜在的根本原因,因为这些原因可能会引火上身。

作为管理者,我的职责是找出问题的原因。也许是结构问题,也许是外部因素,也许是我们员工的能力,但绝不是我的错误。

我知道我已经尽力了,根本原因不可能是我。

我大错特错了。

由于从不把自己看作问题的潜在根源,我有时感到非常无力。我一直观察自己的外部世界,寻找应该“责备”的地方,这样我就可以避免追究问题的“责任”。

错的总是“别人”而不是“自己”。因此,我们并不能真正完全控制局面。如果我们总是把自己排除在画面之外,我们可能会错过问题的实际根源。

这是我从一位技术主管那里学来的。有一天,一个专门的开发人员犯了一个看起来很“愚蠢”的错误,导致我们的软件崩溃。经过一些调查,开发人员了解到这个错误,并遗憾地承认了错误。

如果我是经理,也许我会同情开发人员,并要求他们在以后的工作中小心行事。我可能会要求开发人员帮助寻找解决方案,以防止今后出现这种错误。

但当时,我的技术主管并没有因为开发者承认错误而感到宽慰,而是承担了全部责任,并表示他没有制定出防止这种错误的安全网。如果他建立了安全网,这个错误就不会在软件发布之前才被发现。

当我听到这个消息时,我并没有因为他没能建立起安全网而鄙视他。相反,我对这位技术主管的尊重与日俱增。他不仅让开发者感觉更好,而且还承担了全部责任,他觉得自己应该确保问题得到解决。Respect!

如果我们仔细看看上面的十条,就会发现管理的重点应该永远放在人身上。管理的过程是为了帮助人们成长,而这些项目是培养人才的机会。

领导要以人为本。事实上,如果没有人,就没有领导。

作为管理者,首要任务是让员工成长,作为回报,员工也将更好地为公司做出贡献。

如果没有人一起工作,经理就什么也不是。我们能有今天,是因为一直得到了员工的支持。

译者:Jane

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:神译局
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...