在你的开发人员职业生涯中,你会面临一个选择:
- 继续作为个体贡献者(IC)不断成长,在更大的项目上与更多的利益相关者和业务责任合作。
- 或者,转向管理岗位,领导开发团队以实现规模化的软件交付。
许多人将这个选择描绘得非此即彼。你要么是个体贡献者,要么是管理者,一旦你做出选择,就不可能回头。
这是不正确的。正如我在我的《工程师-经理-工程师》一文中所探讨的那样,你可以构建一个在工程师和经理之间转换的职业生涯。在很多方面上,我希望更多的工程师考虑这样的职业路径。
正是因为它以不同的方式挑战你,我希望更多的工程师考虑管理岗位。今天,我想为管理辩护,并鼓励你对自己的假设进行重新思考。
为什么选择管理岗位?
成为一名优秀的管理者真的很难。
既要处理项目问题,也要处理人员问题。当事情出了问题,你要为团队承担责任。当事情顺利进行时,你要把所有的功劳都让给团队。
那么,为什么你应该想要这个工作呢?
简单来说:学习成为一名优秀的管理者会让你成为一个乘数和更好的软件开发人员。
这需要耐心、判断力、同理心和一贯性。练习和磨练这些技能会很有用,你一定会学到很多。
此外,你会放大你的影响力。一位优秀的个体贡献者只能编写有限数量的代码。而一位优秀的管理者能够支持整个团队的开发人员,使他们能够交付软件。
潜在影响
优秀的管理者是一种天赐之才。
基本上每个人都曾为一位糟糕的管理者工作过。他们可能过度干预,忽视问题,或者对这个职位不够胜任。
但是当你遇到一位优秀的管理者时,事情会顺利进行。通常,你甚至没有意识到你的管理者所做的所有工作。在职业生涯的漫长过程中,当你遇到很多糟糕的管理者后,你真的会对好的管理者表示感激。
优秀的管理者不是独裁者。相反,他们懂得组织、引导和鼓励团队以应对业务需求。通过这样做,他们与团队成员建立了深厚的关系。
人的问题
作为一名管理者,这是完全不同于软件开发人员的工作。
这一点经常被误解,因为许多管理者的职业轨迹是这样的:
- 找到一份写代码的工作
- 因为写出优秀的代码而晋升
- 在成为一名更好的开发人员的过程中不断进步,直到最终获得领导团队的职位(也就是管理职位)
- 如果你认为在这个阶段你的工作仍然是写代码,那么你将会遭遇困境!
过度干涉的管理者仍然试图做他们过去的工作。这是他们擅长的事情,也是他们晋升的原因!
但是,成为一名管理者是完全不同的工作。
不幸的是,这是一个常常没有正式培训的新角色。管理人员需要完全不同于编写代码的技能,但是许多公司只是晋升高级开发人员,并期望他们自己摸索。
从结构上来说,这是一个糟糕的想法。这也是为什么我们看到有那么多没有任何思路如何为团队提供服务和支持的糟糕管理者的原因。
2年承诺
你可能一开始在担任管理职位时表现不佳。
大多数人都会有这样的情况。这是一项难以学习的工作,很少有公司对他们的管理者进行良好的培训。
你经常会在实践中学习。不要让这吓到你!我们需要更多对最新编码实践保持联系并愿意在新的方式上成长的新管理者。
如果你持开放态度并愿意学习,最终你会成为一位出色的管理者。
但是,请至少给自己两年时间。这确实需要这么长的时间来学习新工作,提升自己作为管理者的技能,并决定是否喜欢这份工作。
这是否值得?
没有什么比看到你的团队取得成功的感觉更好了。特别是当你从零开始构建团队的系统、工具和文化时。
即使你尝试过管理工作并决定它不适合你,你也会学到一些非常有价值的技能,当你回到作为软件开发人员工作时会派上用场。
对于许多开发人员来说,担任管理职位可能是将你的职业提升到新水平的完美选择。
列表清单
喜欢这篇文章吗?我每天为超过2,000名软件开发人员撰写新内容。
如果你喜欢我的文章,点赞,关注,转发!
网友评论