用发展的眼光看未来,用成就的视角看现在。
从第一个职业生涯五年开始前,能明显感觉到自身角色定位发生了转变,有配合公司业务发展与转型的,也有自身驱动寻找增长曲线的。回看来时路,取得的这些成绩证明了过去的职业生涯是有阶段性成就的,另一方面也更清晰了自己的发展路径。
1、1024 程序员节 MVP
如果说最喜欢的一个成绩,那就是拿了公司开发者大赛的 MVP。
这代表着对一个工程师专业能力的认可,而工程师的身份无论环境如何变化都是我始终不想放弃的。这是一门手艺活,也是职业立身之本。工作几年,见到太多身边的同事去做业务研究的、转型去做方案的、跨行去做销售的,也有成为项目经理的,也有离开一线负责团队支撑的。终究是成为技术专家或产品专家的很少。
如果继续在软件技术领域谋生,那过早离开一线技术积累反而会限制发展上限,在技术选型、方案规划、工程设计上都会有所掣肘。参赛时我已经从事项目管理、产品方案、业务规划有段时间了,但一直没有完全脱离一线开发。正是还保留着这种对工程实践的嗅觉,在看似完备的标准化产品框架与即插即用的插件开发之间找到了一些缝隙。
这是一个组件集成的胶水层,也是一个工具库。这个缝隙的弥合可以减少大量研发同事之间跨部门沟通,减少小部件代码重复开发与维护成本,同时也是我之前部门内分享推荐的许多优秀开发实践的样例。这体现的也是一种架构设计能力,概括起来就是:
对复杂业务的拆分能力;
对可复用部分的抽象能力;
对拆分过程的颗粒度把握;
以及对未来变化的考量和设计。
简单来说,就是找到了一个通过技术手段减少部门开发成本的方法,并高质量实现,具有推广复用价值。
参赛过程也值得记录,在计时 8 分钟内,如何完整清晰地表达一个技术实现原理与价值本身就有一定挑战。我在比赛开始前一周左右准备了演示稿与逐字稿,多次演练后控制在了二十秒误差内。最后可以记得的是,在一众评委与观众面前介绍自己的技术作品很有成就感,这种感觉延续在了工作的其他方面。
2、可复制的大数据模型应用设计
下一个值得记录的成绩是针对大数据模型应用,提供有参考学习价值的设计经验,甚至这已经成为工作中的一个个人标签。
大数据模型应用是公司业务转型中提供大数据产品解决方案的核心价值体现,它说的是在现有业务场景(公共服务与企业服务)下,如何利用海量数据积累挖掘行业应用价值,并通过应用牵引基础大数据平台的市场占有率,解决传统技术手段难以完成的问题最终成就用户。
我当时做的事情就是在公共服务领域基于公司大数据产品能力完成应用设计,从沟通汇报、需求分析、模型设计,到团队组织、开发实现、集成交付,再到经验萃取、应用推广,在应用层面实现了端到端交付,扩大了自己工作半径与影响力。其中,我认为最重要的是探索出了一条可行的领域内应用设计道路,不满足于项目验收,更取得了实战成效,收获了用户口碑。
至于经验之谈,那就是找到了契合业务特点的基于特征分析的应用设计框架。构建特征分析模型,就要求所有数据围绕模型设计治理,应用围绕模型与用户对话,应用内按照数据治理、模型分析、应用开发同步开展,降低了用户理解成本也降低了团队沟通成本。重要的,特征设计来自于行业共识、用户经验、数据挖掘,模型跑通后以用户提供案例检验,反馈结果又可以推动模型调优,不断巩固建立起一条数字化业务流程。最后,沉淀下来的除了适用性强的应用,还有特征经验,也是数据资产。
当然,公司内对个人的结果也是好的。我总结的经验案例被邀请登上了公司软件技术刊物,受欢迎票选第二名。同时,使用这种应用设计方法多次登上了公司举办的大数据模型应用大赛的决赛。最有说服力的是,这是我所在部门在全国推广落地最多的应用,同一行业的不同地域都得到了验证。
3、受到认可的培训分享价值
能写代码,也能会表达,我越来越深刻体会到这对职业发展的重要性,而公司内表达的最好途径无疑是培训分享。也就是费曼学习法,分享驱动学习,演讲训练结合,沟通创造价值,最终成就个人与团队。
当时作为我面试官的同事后来说到,我对于软件质量的思考与实践很加分,因为对于类似于初创阶段的软件开发部门来说,经营有所稳健后软件质量是走向成熟的必要条件,而我也期望贡献一个业务高速增长的企业,尝试用技术成就业务,这也是个人与企业的双向选择。
入职之后仍然是一个工程师角色,虽然没有实际的资源分配权力,但我相信(以前也是这么做的)可以通过构建影响力达成期望。
首先是衡量 ROI,企业终究是要盈利的,在市场竞争激烈的情况下一定是业务优先,不能独自狂欢孤芳自赏。和研发部门领导沟通业务目标,和业务部门沟通业务规划,这是判断技术生存空间的前提。当然也可以通过运营服务、商务策略等等其他手段来达成业务目标,但那不是工程师的核心价值。简单来说就是降本增效,我规划要做的事情可以帮助带来哪些业务价值、或者降低哪些研发成本,对齐目标、锚定焦点就可以得到部门内外尤其是部门内的领导支持,有了成效就更好开展工作。
然后就是设计实现路径,软件质量是个系统性工程,不单单需要软件工程师参与。况且公司主营产品是包含软件、算法、硬件、终端等在内的多维度的综合系统,涉及的部门与角色就更多了,这就要有系统设计思维,因为局部最优可能全局较差。观察了一段时间部门与公司研发能力状况,我大概有了判断。
先是对齐部门技术能力,看似开发软件质量问题频发实则是缺少匹配的技术思维,行业早就有大把的最佳实践,按需借鉴,本地化移植。不会做需求分析那就来实例化需求,不会设计软件那就来领域建模,不会测试那就从单元测试开始,不会做线上性能问题排查那就从使用系统底层工具开始,不知道什么是可重用部件那就将设计实现的代码框架与程序库开放给团队使用。
以上这些都是一次次培训分享的实践经历,身体力行也让周围同事感受到研发效能的提升,领导见到收益也就更坚定投入,短期收益与长期收益取得更佳平衡。
4、走近用户与市场的技术负责人
码而优则仕似乎是国内企业常见的职业发展规律,在技术领域有些成效的同事都会被推到管理岗位,近几年我也是这样走上了项目技术负责人的道路。更近距离接触了市场与行业变化,对项目交付与产品设计有了新的认识。
也就是很多公司提到的软售前,与行业销售和解决方案团队一同攻坚市场,根据综合性能预估市场把握、根据竞争对手策略寻找反制手段、根据标准化产品提供解决方案,这些结果都会诞生产品需求。走近用户与市场可以更了解世界为什么这样,知其然更知其所以然。
我理解这也是一种内外兼修的过程,技术是根,产品是叶,商业是果。有了足够的技术积累就可以有良好的技术发展趋势判断力,做出合理的选型与投入,并对系统架构有清晰认知,了解性能与扩展性可以设计在哪里。产品思维建立在公司已有产品基础上,与售前团队、客用户沟通都要切换到业务视角,并清楚哪些是优势能力有底气给用户提供价值并有信心赢得市场份额。好过程也要有好结果,得到真实付费才是最有说服力的,又会驱动产品更新、技术迭代。
最后这个产品推广明星奖算是这个循环的一个闭环,通过负责一个公司重点项目达成了新产品推广目标。这个循环说明了已有场景下技术可以成就业务,贯穿始终是对于价值的把握,同时也加强了团队协作与部门协同,让这个循环可以更快更迭。