在知乎上,有一个问题火了 4 年,最近更是热度空前。截至目前,该问题受到近 150 次回答,约 1400+ 知乎用户关注,以及 66万+ 围观。
问题是这样的 ▼
我们的回复如下 ▼
题主说,国内 IT 公司 leader 以上就不怎么写代码了。那图森未来就有点不同意了。
因为我们不是这样。
在我们这里,但凡技术出身的 leader 到现在都还在坚持写代码呢,比如我们的两位重要管理者 & 图森未来男神——侯晓迪(CTO)和郝佳男(COO)。原因之一在于他们都将写代码看作一种同团队高效协作的方式。
我们分别采访了晓迪和郝佳(没错,这是我们对他俩的爱称)。各种死缠烂打,为大家讨来了他们对于这一问题的直接回复。
以下敬上!
晓迪男神以及正在敲代码的他
以下来自晓迪(未删减版)▼
“一般而言,我们不应以写不写代码论英雄,而是以团队输出论英雄。管理者的绩效取决于整个团队的输出。真正好的管理者需要做好以下:
1. 给团队指出正确的方向;
2. 为员工提供帮助,一起克服困难(一个没有 drama 的公司,99% 的困难都是指技术困难);
3. 如果还有时间,做那些最不可替代的具体工作。
把全部时间用来自己闷头工作,甚至以为自己干活儿的每一分钟都不可替代,这种个人英雄主义通常都是认知错位造成的,是病,得治。
那是不是只要做 1 或者 1+2 就可以了?对有些类型的码农是,但对复杂人工智能系统(以无人驾驶为代表),尤其是这个系统里非 deep learning 的部分,这样是绝对行不通的。复杂人工智能系统的特点是,模块耦合度高,冗余设计又非常重要,各处的微小误差都很容易放大,最终导致系统挂掉。很遗憾,目前人工智能在工程化方面,并没有可以容易借鉴的设计模式或是成熟的方法论来指导团队的工作(推荐读一下 D Sculley 的这篇论文——Hidden Technical Debt in Machine Learning Systems)。
搭一个统计学习问题,我一般分解成三层:theory、formulation、implementation。在图森,算法团队至少扎实,在 high level theory 和 low level implementation,一般不会出什么问题。而真正会出差池,最需要我和团队一起推敲的,都在中间 formulation 这一层。因为这一层的设计最需要取舍模型复杂度,最需要针对具体数据设计模型假设,最需要抽丝剥茧找出算法失效的根源。
Formulation 这一层,在课本上永远也讲不清楚,但在实战中却最能决定系统性能。如果一个人不亲手看数据,想当然地指点江山,甭管这人多牛,到最后一定会变成纸上谈兵。因为数据本身决定了假设的合理性,假设本身决定了使用何种模型。所以要想给整个团队正确的方向,或者是发现大家现有的问题,非得深入到数据本身不可。而这里面,自然而然地就会转成夜深人静自己一个人撸代码的画风。”
郝佳男神以及正在敲代码的他
以下来自郝佳(未删减版)▼
“一个高级别的 technical leader 是否应该写代码很大程度上取决于公司产品是否在很大程度上依赖于技术的进步。在很多领域,虽然产品依赖于技术,但技术不会是产品决胜的因素。例如,一个帮助警方监控在逃犯的安防产品,一定需要很过硬的视觉技术来从视频中找到可疑目标;但是,这款产品在识别准确度上几个百分点的提升远远比不上在商务渠道上的资源优势。所以,如果是类似情况,leader 应该更多的考虑技术和商务的匹配,不写代码也就不足为奇了。
leader 写代码的目的和员工是不一样的。比如我会把代码当作一种高效的沟通方式。我有时会写一些 Prototyping 代码,这些代码能够跑起来,实现一些关键功能。目的不是被集成进最终产品,更多的是为了表达清楚技术需求和可能的技术路线。比如,对于无人车的网络系统,低延迟的连接是必不可少的。我可以选择文字描述一些我对降低延迟的 idea,列出一些技术资料,和研发同学花几天时间来沟通,等待反馈。或者,我可以自己抽几个小时实现一段几百行的原型代码,对着代码给大家讲我的想法。显然,后者对我和其他同学都是更高效的,一个可以跑的代码对工程师来说,胜过千言万语。”
可能你要问了,晓迪实际到底写些什么代码。Perception、Localization、Mappping、Planning 所有这些模块的核心代码,都有晓迪参与提交的或者同其他童鞋一起Pair programming 完成的。郝佳的话,工程类的 Prototyping 代码居多,数据库、中间件、Driver、DTU 都会涉及。
说了这么多,其实就想表达 —— “我们不一样”。
一方面,真的因为我们在做对系统有 mission-critical 要求的自动驾驶卡车,面对的是复杂人工智能系统,为了让卡车在上路之后的可靠性能够在小数点后有更多的9,公司上上下下几百号人在研发时都需要拼尽全力。而且,我们对技术的提升需求在未来很长一段时间内都是无止境的。所以,晓迪和郝佳也将自己对团队的付出最大化,白天忙不过来,就深夜静静撸代码。
另一方面,我们对团队协作,以及如何高效协作有自己的态度和方式。从上面晓迪和郝佳的直接回复中,清晰可见。
最后的最后,我们一贯以技术为导向,自上而下一直保持着认真、严谨的科研精神。这其中自然少不了高层 leader 对于这一技术氛围的带动。
读过之后有没有动心?! 来来来,顺便刷一波校招。
目前,图森未来校招、社招全面开启。算法、车辆 & 传感器、自动驾驶软件、基础架构等多个方向 N 多职位均已开放!更欢迎找到自己的图森学姐学长,走内推快速通道,可在正式校招季开始前享受提前面试。
Join us in TuSimple!
我们还准备了一个小小的娱乐环节等你加入!
欢迎大家踊跃参加!
我们将随机抽取三位回答正确的童鞋,送出来自图森未来的精美礼物!