出品 | 滴滴技术
作者 | 陶文
前言:本文来自陶文老师在内部发布的话题分享,引发了技术桔们的热议,桔妹在此与大家分享该话题,期待大家看完陶老师的解读,在文末分享自己对技术深度的看法。
经常有同学被挑战工作没有技术深度。不少日常写业务的同学会顿时紧张起来。开始在脑袋里找各种证据证明自己干过的啥事情“有难度的”。
其实这个问题如果准备一下,就不至于慌张了。在我看来,技术深度可以从下面这张图推导而来:
技术同学的主要工作是构建一个可运行的 solution 去解决用户的一个 problem。以这个为主题,有两件工作:
运营维护这个 solution,持续去解决 problem。
洞察到 problem 本身的变化,或者有更好的 solution。然后把现有的solution迁移成一个新的 solution 去更好的解决 problem。
技术深度就体现在“更好”地完成这两项工作上,也就是一个优化问题:
▍对运营维护工作而言
降低运营的人工成本:例如自动化代替人工。
降低运营的其他成本:例如更少的机器投入,例如稳定性和安全建设减少风险。
▍对研发工作而言
对 new problem 或者 new solution 的洞察力:数据分析,市场调研,新技术跟进等。提升 solution 对用户的吸引力。新体验-旧体验-迁移成本。
短期敏捷性:因为对 api 很熟悉,能够快速rush出一个版本来的能力。因为对环境很熟悉,可以快速定位 bug 的能力等。
长期敏捷性:架构设计,复杂度管理等。
提供独特 solution 的能力:比如说自动驾驶等科技。从 0 到 1 的过程可以最大化对用户的吸引力,因为很少人提供竞争 solution。
▍每一项优化工作,都可以做得很深
比如你可以投入大量时间学习数据库原理,优化索引检索的效率,从而降低运营的其他成本。
你也可以构建流量录制和回放技术,提供对重构工作的信心保障。从而提高长期敏捷性。
你也可以打磨对产品的洞察力。精通数据分析,倾听用户,对产品的未来演进方向提供自己的洞察。
你也可以锻炼自己快速 debug 的能力,可以在 crash 之后快速用各种工具找到性能瓶颈。这个算是短期敏捷性上的能力。主要是考验对环境和生态是否熟悉。所谓经验活。
其实评委在问你技术深度的时候,并不是问你技术栈的深度(比如是否从像素渲染到硅的提纯都了然于胸),真正在问的是你的竞争力在哪里。
▍你需要想清楚两点
为什么在这个点上,我做过的工作证明了比其他同事要更强。
为什么这个能力是当前公司需要的,也就是所谓的收益。你能手写汇编构造 GUI,但是公司不需要也是没有用的“技术深度”。
希望下次你被问到技术深度问题的时候,能够从容回答。
陶文:滴滴 | 首席工程师
在滴滴参与过基础架构,核心出行平台重构,业务中台建设等工作,目前在从事平台治理和客服系统,致力于减少大家出行中遇到的不美好。在加入滴滴之前,从事过十余年敏捷咨询,测试开发,运维平台等多个领域的工作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。