当前位置: 首页 > news >正文

工程经理应该(有时候)写代码

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

最近几个晚上,一位医疗科技公司担任工程经理的开发者花时间为 OneBusAway iOS 应用完善实习生所开发的行程规划功能。他做的不是代码评审或架构指导,而是亲自用 Swift 语言编写代码,处理 UI 中的边缘情况,并修复当用户输入一个非常长的目的地名称时才会出现的布局问题。

这些工作,正是传统管理建议中认为一个工程经理不应该做的事情。按照行业普遍的看法,管理者如果还参与写生产代码,可能会造成流程瓶颈,削弱团队的自主性,或回避构建组织能力的更重要任务。对这些观点,他基本认同。

但五年前相比,他现在确实写得更少了,而偶尔“下场写代码”的经历却带来了超出某次 PR(Pull Request)范围的深远价值。在他兼职参与的 OneBusAway 项目中,这种亲身编码的实践反而成为了他保持与软件开发核心联系的重要方式。


了解代码 ≠ 了解编码

评审代码和编写代码的区别,就如同“知道某事”和“真正理解某事”的区别。在评审中,他可以识别架构问题、提出更好的抽象建议、指出明显的 bug。但那毕竟是在评估他人对一个问题的解决方案——而不是他自己与问题之间的博弈。

当他亲自修复 UI 中的布局 bug 时,那种调试 iOS 的 Auto Layout 约束、梳理整个视图层级、寻找导致文本截断的唯一限制条件的过程——这种脑力与经验的投入,是仅靠评审无法获得的。他重新感受到了“把问题解决干净”的满足感。


经验重构了管理者的预期

这类“下场实操”的体验,也显著重构了他作为管理者的判断力。例如,在评审中轻描淡写地建议“加一个 loading 状态”,与亲自实现那个 loading 状态时面对的三种错误场景、UI 动画衔接、用户快速切换标签页等复杂性,完全是两码事。

正是这些亲手处理细节的经历,让他更能体会 polish(打磨)所需的努力,也因此在日常工作中更加合理地评估时间成本、与团队沟通质量标准、并对产品方那种“打磨不需要额外时间”的假设做出有力回应。


side project 是练兵场

相比他日常负责的医疗产品系统,OneBusAway 应用的 stakes(风险)较低。如果他不小心引入了 bug,可能会让用户不便,但不会影响职业生涯。这种容错空间让他得以尝试一些从未使用过的 Swift 语法,或测试在生产医疗软件中不敢贸然使用的架构模式。


掌握“边界感”:别做瓶颈

他说,管理者必须清楚区分哪些是“保持敏锐”的实践,哪些会演变成组织的阻碍。例如:

  • ✔️ 在实习生离开后打磨功能细节 —— 完全没问题

  • ❌ 成为团队中唯一能部署版本的人 —— 必然是瓶颈

  • ✔️ 修复一个副项目的 UI bug —— 好

  • ❌ 因为不信任团队而跳入关键路径的开发 —— 坏

他并不是主张经理人应该花大量时间编码。实际上,这类投入通常应控制在 5%-10% 的时间内,而且最好发生在不会阻碍他人进展的上下文中。


偶尔写代码是保持认知更新的方式

一个彻底远离代码的工程经理,久而久之会让自己的“软件开发心智模型”停留在自己最后一次编码时的状态。然而,工具在变,框架在变,环境在变——偶尔动手写写代码,是对这种演进最直观的同步方式。

即将发布的行程规划功能,功能核心由实习生实现,而他补齐了那最后 20%,让这个功能不仅能用,而且“像样”。

这 20% 花的时间,出乎意料地多。而他,也因为这段亲身参与的经历,在日常管理工作中变得更加敏锐与明理。

http://www.dtcms.com/a/519640.html

相关文章:

  • Linux:进程间通信(1)
  • 基于ORB-SLAM、A*及DWA的自主导航方案
  • 阜新网站开发公司dede手机网站建设教程
  • 网站搭建价格宁波网站优化技术
  • 达梦数据库怎么查看连接情况
  • UVa1497/LA5719 A Letter to Programmers
  • 谷歌Quantum Echoes算法:迈向量子计算现实应用的重要一步
  • 网络管理员教程(初级)第六版--第2章 局域网技术
  • PY32F040单片机介绍(1)
  • 数据库多表关系、查询与约束
  • 空调设备公司网站建设建设部网站社保联网
  • 济源网站建设电话锦州做网站的个人
  • 逻辑推演题——谁是骗子
  • 单位网站建设汇报材料wordpress菜单保存不
  • 【底层机制】【Android】Android 系统的启动流程
  • js基础:06、函数(创建函数、参数、返回值、return、立即执行函数、对象(函数))和枚举对象的属性
  • LeetCode 刷题【131. 分割回文串】
  • 7. Functions(函数)
  • 零基础掌握 Vanna Text2SQL 框架:从原理到实战训练指南
  • [linux仓库]信号处理及可重入函数[进程信号·陆]
  • webrtc源码走读(一)-QOS-NACK-概述
  • wordpress 企业网站 免费如何注册网站免费的
  • 斗地主游戏源码,自适应手机版,带有管理后端
  • Linux桌面X11服务-XRecord方案捕获鼠标点击的应用窗口
  • 021数据结构之并查集——算法备赛
  • 网站制作售后免费在线代理网站
  • Vue组件的一些底层细节
  • 2. =>的用法 C#例子 WPF例子
  • 在C#中出现WinForm原控件Chart卡顿问题
  • Spring Boot 3零基础教程,WEB 开发 内嵌服务器底层源码分析 笔记48