「程序员转型技术管理」必修的 10 个能力提升方向

对许多开发者而言,深耕技术,然后成为技术专家或许是职业发展的唯一答案。但如果你赞同「软件开发只是我众多职业目标中的一个」,也许你可以试试「技术管理之路」。

我原来觉得和计算机打交道比跟人打交道轻松得多,所以我成了一名软件开发者。一段时间后,我发现自己越来越多地在给别人提供帮助;我喜欢领导项目,热衷于推动更好的代码标准。于是,我几乎毫无挣扎地成为了一名技术管理者。

尽管这些年,外界有许多声音反复提及「技术管理转型」,但大多数开发者并不清楚「从技术到管理,我需要作出哪些适应和改变?」

如果你想要尝试探索技术管理之路,首先请你坦诚地回答几个问题:

  • 为什么想要当技术管理者?
  • 想成为哪种技术管理者?想对人负责,对项目负责,还是对业务负责?
  • 你的转型动力是什么?是编写代码和构建软件吗?还是帮他人获得更好的结果、与利益相关者协商交付时间、说服业务团队代码重构并非浪费光阴?

如果你现在仍然确信技术管理很适合你,那么你需要为此做一些准备------与上层领导或者导师合作,在不甚熟悉的领域向他们寻求帮助。下面介绍十个重点提升方向。

01 技术领导力

真正的领导者不需要头衔或权力也能领导团队。拥有华丽头衔或被组织赋予权力的任何人都可以发号施令,但这并不是领导力。领导力的真谛在于你的行动和行为。

因此,你应该从小事做起:在困难的项目中承担更多责任、主动提供 PR 反馈、及时更新项目情况、对团队或产品工作流程贡献优化建议、为伙伴提供专业指导等等。

大家不愿面对或因为缺乏专业知识和信心而无法抓住的机会有很多。先确定同事遇到了什么困难,然后挺身而出,主动帮助他们解决问题。

02 主人翁精神

技术管理者要勇于承担责任,对自己所做或没做的一切负责,并避免将错误、超时、缺陷等问题归咎于他人。

出现问题或故障时,技术管理者应该主动、积极地协助修复工作,传授相关的解决和防范之策。为错误找借口或者满腹牢骚对任何人都没有益处,把时间花在交付承诺上吧。如有必要,可以同上级管理者协商一个更合适的交付日期。像经营自己的事业一样运营一个项目,真正地把它放在心上。

最近,我团队中的一位技术负责人拉取了最新的 Master 分支,发现单元测试覆盖率大幅下降。他没有抱怨,而是先弥补了缺失部分,然后向团队介绍如何正确检查覆盖率,以及如何编写复杂功能的单元测试。有人需要帮助时,他会主动伸以援手,从不指责任何人;团队上下都对他赞赏有加。

03 人际关系

技术管理者的人际关系问题,也可以称作办公室政治。如果你不想处理「职场政治」,那一定要再三考虑「这个技术管理者非当不可吗?」

建立有意义的关系是技术管理者的职责之一。管理,就是通过其他人把事情做成。你需要与其他技术负责人打好关系,因为他们有可能是你未来的战友。在技术分享上发表演讲、举办技术研讨会、指导团队以外的开发者都可以让你结交不少朋友。

04 技术实力

技术管理者首先是技术人,然后才是管理者。「成为团队中最厉害的开发者之一」几乎是技术管理者的一项硬性要求,因为不懂编程或不了解技术细节的人无法参与技术讨论。

所以,除了强大的软件工程背景和实践经验,你还应该保持敏锐的技术嗅觉,并保持过硬的技术实力,以便胜任更高级别的任务。

05 协作与指导

团队中任何不具备团队合作精神的「优秀开发者」都是有害无益的。技术管理者总是帮助别人提升技术水平------结对编程、代码审查、演示、开源或者内部源代码项目都是很好的指导方式。

在实际工作中,可能很少有人会主动向你寻求指导。没关系,机会全靠自己争取!你可以以技术专家的标准要求自己,主动地做上述事情;时间久了,自然会有人开始向你求助。通过为他人解惑,你将可以建立正向的人际关系并赢得团队尊重。

06 项目管理能力

保证项目能按时交付是所有管理者的核心职责之一。如果作为开发者,你总是错过交付时间,完不成研发任务,那其他成员就无法信任你。你必须有条不紊地完成工作才行。

我们都知道软件项目存在很多不确定性,所以工作估算的难度很大。但通过正确的流程,准确估算也并非不可能------你可以不断与上层领导或利益相关者沟通项目进度,了解他们的期望。

例如,我的团队每周都会做一次状态报告,让项目技术负责人有机会沟通进度、提出阻碍或延期交付的主要原因。

07 沟通能力

简洁、清晰的沟通是管理者的必备能力。如果你不能清楚地表达对团队的要求,那还没等工作开始,你的管理者生涯就宣告失败了。沟通的形式有很多种,包括口头的、书面的、甚至肢体语言。请始终致力于全面提高沟通技巧。

我的团队也曾错过几个交付时间,因为我未能清晰、及时地传达要求。有几次,成员们都不知道谁该做些什么。后来我认识到,依靠项目经理或利益相关者说明项目细节是行不通的。技术管理者必须要自己了解项目,再向研发团队解释并营销项目,激发成员的工作热情。

08 向上管理

管理你的上层领导(有时需要管理他们的领导)。这意味着要不断与他们沟通,管理好他们的期望值。相信我,管理者不怎么喜欢意外,无论好坏。

你需要与上层领导建立信任关系,成为重要的、首选的项目负责人,并按时如约地完成项目。

09 冲突和矛盾

无论进行了多少单元测试或集成测试,生产问题都会发生。你肯定希望最大程度地减少缺陷数量,但更重要的是妥善处理生产问题。一个遇到压力就自乱阵脚的人,在他人看来是没有资格担任管理者的。研发团队和其他技术负责人都希望见到一个抗压能力强、能够冷静把控一切的技术管理者。

我曾经合作过一位非常冷静且情绪稳定的技术管理者。几乎没有任何冲突或压力可以让他崩溃,至少没有人见过他「鸭梨山大」的样子;哪怕凌晨三点要处理生产问题,他也绝不会让人失望。

而另一位技术管理者总是对交付日期焦虑不已;新功能上线的那天,他还病倒了。他情绪不够稳定,所以周围的人都不愿意和他一起工作。

这是两个完全相反的例子,但你应该可以猜出谁是更成功的技术负责人。

10 产品愿景

技术管理者应该知晓自己负责的每一件事的前因后果,并确保全体成员都能理解「为什么要做它」。

你必须要传递清楚(通常需要多次说明)我们为什么要开展这个项目?为什么要让这些人参与其中?这个项目又将如何服务于大局,服务于企业/产品愿景?

研发团队必须足够相信和认可要做的事情,才能有效地开展工作。

从今天开始,阔步向前

领导力不是一两个人的特权,所以不要等待,也别犹豫,今天就行动起来,建立自己的技术影响力;加油成为垂直领域的专家,并主动地向同事和伙伴提供帮助。

努力提高沟通技巧,和当前或未来可能的战友建立良好关系。确保自己能明智地管理自己的时间,保证项目按时交付。

不要忘记,领导力是以人为本的,所以要真诚地助人成长,让他们做得最好。

(原文作者为 Alex Bachuk,内容经 LigaAI 翻译调整)


LigaAI@稀土掘金还将分享更多产品管理、研发提效等干货内容,欢迎关注我们。

助力研发团队扬帆远航,点击体验新一代智能研发协作,一起变大变强!

相关推荐
阿珊和她的猫26 分钟前
v-scale-scree: 根据屏幕尺寸缩放内容
开发语言·前端·javascript
uzong4 小时前
技术故障复盘模版
后端
GetcharZp4 小时前
基于 Dify + 通义千问的多模态大模型 搭建发票识别 Agent
后端·llm·agent
加班是不可能的,除非双倍日工资5 小时前
css预编译器实现星空背景图
前端·css·vue3
桦说编程5 小时前
Java 中如何创建不可变类型
java·后端·函数式编程
IT毕设实战小研5 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi5 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip6 小时前
vite和webpack打包结构控制
前端·javascript
excel6 小时前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端
阿华的代码王国6 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端