著作权归作者所有。商业转载请联系 Scott 获得授权,非商业转载请注明出处[务必保留全文,勿做删减]。
如何让工程师的技术价值最大化,职业空间最大化,就一定要让工程师手中的技术闪闪发光,有效的做法就是为新技术找应用场景,或者换个说法,也就是如何通过技术为业务找突破口,这也是除了技术架构和技术响应速度外,不制约业务甚至驱动业务的必走之路。
要通过技术为业务找突破口,我们就要从业务上找可能性找痛点,同时要对技术有足够的感知,答案摆在这里很简单,但是究竟如何才能训练出这种能力呢?
需求挖掘与主观能动是第一生产力
首先,让我们小菜前端尝试过的案例枚举一些出来,我们从思路和角度上观察下,有没有可以复制过来的办法:
- 销售团队运营团队看数据慢看数据难,我们研发了大表哥数据报表系统,解锁报表产出效率
- 销售团队想针对不同生鲜品与客户快速做市场调研,我们研发大瓜子表单系统快速支持差异化市调模板配置
- 技术团队没有测试想要有更稳定更高效的打包与发版流程,我们研发了大伯伯自动发包与推包系统
- 产品团队希望用最小的人力成本,搭建多个 APP 服务不同的人群,我们用 ReactNative 解锁开发效率
- 采配销团队协同的需求变动需要快速体现在 APP 上,我们研发大表哥热更新发布系统,解锁发版节奏
- 客户千元机多机型 APP 异常希望快速反查到特定 Commit 代码,我们开发了大表姐热更新系统全流程分发代码
- 人事部门想要系统化管理所有候选人的简历与安排面试,我们开发大才子实现简历管理与面试工单系统
- 行政部门想要集中管理公司图书和大量的纪念品文化衫,我们开发牛犊子系统统一管理行政物料
- 技术部发周报走邮件零零碎碎不好整理不好统计,我们开发堂哥报表系统,解锁周报收集与统计效率
- 销售团队想要推行用户自主下单而非销售代为下单,我们研发了 RN SDK/RGB 来分析下单主体是否本人
- 技术部的前后端数据接口频繁改动与对接成本高,我们研发了大舅子来解锁数据接口对接聚合的协同效率
- 技术部的多个 APP 在几十种低端机型的闪退异常无从跟踪,我们研发了姑奶奶做端异常的收集与跟踪系统
- 运营部门希望可以有更直观的监控交易市场的动销与行情,我们就研发了创意中心做视频切片与字幕音效合成
- 城市销售想要对特定市场招聘社会兼职收集竞手卖货行情,我们迅速扩展了 Vue 技术栈开发小程序来管理兼职
- ...
还有很多,不再一一列举,这里面大大小小,每一个展开都是一个故事,所有的故事串在一起,就是今日的小菜前端生机面貌,要做到这些需要背后有一个神秘的能量,就是对于需求挖掘的能力和主观能动性的内驱力,前者会带来无数的机会,后者会让这么多飘在空气中的想法逐个落地。
主观能动性很容易理解,就是主动去跟进问题,主动去解决问题,主动去把解决方案落地的责任心和主动性,而需求挖掘的能力,要如何培养呢?
如果没有这样的能力,就自然看不到满地沙子中的黄金,自然也失去了很多获得财富的机会。即便是满腔热血也没用,要培养这样的能力,实际上比我们想象的要容易的多,具体到执行上则是有难度的,大家可以按照如下几个步骤来训练自己:
一、走进业务现场
不要讨厌你在做的业务,就是它在养活着这家公司,不要轻视你的客户,正是他们对你尚存信任。
事实是就算你不喜欢当下的业务,也应该到业务现场走一走看一看,为什么进业务现场如此重要要排在第一位,因为所有的事情,要想超越它 Get 到新的感悟,一定要尽量亲身经历一番,至少也要真实看见。
通过逼自己进入到业务现场,你会看到用户是怎么看待你做的业务,怎么使用你做的产品,以及他们在使用产品过程中会遇到哪些问题。更重要的是,你会观察到这个业务在用户群体中所真实发挥的价值,是提高了效率,还是节约了成本,还是优化了协作的方式。这样的改变是如何一点点的重塑着整个行业,公司又是因为这样的业务建立起了怎样的竞争壁垒,如何从用户的口袋里赚到了自己的一份钱。这所有的问题只坐在办公室的电脑前,是很难在脑海中形成画面建立观感的,必须亲自去走走看看听听用用,它会在无形之中让你对于业务的理解更加的扎实接地气。
案例匹配: “销售团队想针对不同生鲜品与客户快速做市场调研,我们研发大瓜子表单系统快速支持差异化市调模板配置”,我们的同学跟随销售到现场做调查,发现他们用钉钉逐个逐个录入蔬菜老板的每日交易品类,货源信息,进货出货频率,以及他获知行情和货源的渠道,个人的电话地址家庭状况等等零碎几十个信息,换一个城市换一个老板,要调研的内容就会因为经营品类的不同而发生一些结构性的变化,这些变化给销售同学带来极大的困扰,而每次开发 H5 网页又会给工程师带来很多重复性的工作,所以我们在想搭建一个给销售助理和销售运营使用的表单配置系统,让他们十分钟就能快速配置出多种结构化信息后的表单页面,然后投放给一线的销售同学使用。
如果我们没有去现场观看,压根也不觉得用钉钉记录数据再回流有什么问题,也不觉得市场调查是一个多么消耗人力的事情,更不会认知到市场调研这么多维度的数据对于整个业务能有序的运行,对于新市场的开拓和老市场交易动态的理解有多么重要的意义。
二、培养产品感知认知
如果有人总是告诉你不可能,那他一定是见过太少的奇迹,经历太少的可能。
每个工程师都有一个产品梦,我想你也不会例外。自己独立做一款 APP,几十万安装使用就已经是一件非常值得自豪的事情,但是用代码做出一个 APP 真心不是难事,难的是如何吸引用户来安装这个 APP。
如果你是一个 APP 工程师,你手机桌面上有没有曾安装过超过 100 款 APP,并且逐个注册和试用他们;如果你是一个 PC Web 工程师,有没有把 toC 和 toB 的系统使用超过 100 个,从它们里面找共性,找它们各自的定位和交互优缺点,看他们的设计元素;如果你是一个工具型工程师,有没有研究过超过 100 款工具,看他们解决的痛点和如何提高效率,他们设计和实现的方式。
做这么多看起来无用枯燥的尝试的目的是什么呢?其实是为了倒逼自己思考为什么这么多成熟的产品竟然都有生存的空间吗,都有对应的受众。那么好奇心就会驱动你也去研究,在我的身边有没有类似的场景和机会,去为特定的用户群体解决一些问题。如果是我来设计这款产品,我会从过往看过的上百个产品中吸取什么元素来组装出来一个产品蓝图,这个蓝图要如何切入到这个用户群体,到底能不能命中需求解决问题,它有没有市场的竞争者,竞争者又是怎么做的,带着这样的问题不断的训练自己,会让自己对产品越来越敏感。
一旦自己的敏感度建立起来后,事实上就可以把这种思想应用在工作之内和之外。之内是手头的业务,之外是和别人合作中遇到的一切问题。所有的问题能不能用代码解决,能解决到什么程度,这种反应能力会每天伴随着你,每一天都比前一天要成熟,慢慢的对于产品的感知力就培养起来了。
案例匹配:“人事部门想要系统化管理所有候选人的简历与安排面试,我们开发大才子实现简历管理与面试工单系统”,人事的同学对于产品和研发流程是不了解的,所以整个候选人从简历收集管理到最后面试结果的同步,都非常人肉非常辛苦,但又没有相应的产品经理来跟进这件事情,因为它往往比业务优先级要低,于是前端工程师凭借自己对于产品的理解,就搭建了简历与面试系统,从简历入库、简历筛选指派、面试转交、面试评价、钉钉提醒等等方面都做到了最初的 0 到 1,界面与功能并不闭环,但是能极大的提升候选人的整个面试进程效率。
除了大才子,还有大表哥他们都是前端工程师驱动的产品,如果没有敏感的产品感知能力,前端工程师自然没有勇气和信心来启动这样的一个可能失败的实验性产品,也自然不能再扩充一个技术场景来让自己的技术再次闪光。
三、训练数字化成本与效率思维
如果有一样东西不会撒谎,那它就是真实的数据,数据不说话,真相静悄悄。
提到数据我们通常会想到算法、大数据、机器学习这些领域,对于前端工程师,我们虽然日常都在对接数据接口,却更多对交互和工程化敏感,而对于数字背后的含义不太关注。关注了和不关注的区别在哪里呢,我们来看下这个案例:
案例匹配:“技术团队没有测试想要有更稳定更高效的打包与发版流程,我们研发了大伯伯自动发包与推包系统”,如何打包和如何解决打包问题我们非常熟练,但对于它的成本一直缺少一个量化的数字概念,后来我们把整个流程全部观测了一遍后,获得数据如下:5 个 APP,每个 APP 背后有至少 2 个打包人,每次打包的环境有至少 6 种选择(正式环境热更新包、正式环境非热更新版、测试环境热更新版、测试环境非热更新版),同时有 2 种类型选择(企业版和公开上架版),已经两个平台的支持(iOS/Android),抛开这些之外,每个同学本地的 XCode/Gradle/Node 的环境版本也会有差异性,会有上百种可能性在过程中出错,这个在之前文章有提到,也就是下图:
当你把所有这些数字写下来的时候,你就会对成本产生更直观的认识。一旦量化后,我们就从直接感受到了这个形势的紧迫性,于是首先是从流程上形成规范,下图是最早的第一版全发布流程纪念图:
并且定义了它的一个热更新策略:
然后就着手启动了打包平台的开发,从此本地(开发) - 大伯伯(打包测试与正式打包推包) - 大表姐(热更新分发) 全流程就闭环了,完成这次自我革命的秘诀就在于把付出的成本与耽误的人力全部数字化,去惊醒脑海意识里面再忍忍没多大事的这种想法。
这是打包平台上线后一年多的数据,我们总共打了 3000 多个包,其中光用来平时开发和测试过程的包就有 1500 多个,节省了大量的人力也提供了足够高的包质量,有了这样的数字支撑,我们也对投入产出比有了更量化的评估,再去解决任何其他问题,包括我们自己产品和用户的一些问题,都能从数据上看出一些需要坚持和适当妥协甚至放弃的做法。
四、锻炼团队合作协同能力
把你杀死的往往不是合作方的撕逼,而是你的 ”我以为“,任何观点传播都会不断的衰减扭曲,协同的意义在于合力时候可以步调一致。
合作是我们从小学教育就开始培养的能力,但真正到了工作环境,依然会发现之前的能力非常单薄,原因就在于决定合作能否成功,还取决于协同时候的说服和推动,说服靠沟通,而推动靠执行,单纯沟通和执行这两点,相信所有职场的工程师都自认为还不错,但两者结合起来时候就发现很吃力了,你讲的话没人听,你推的事没人做,你以为十万火急的事情别人轻轻带过。
造成这种现状的原因很多,沟通技巧缺乏,执行力度不够,推动面积过小,职能部门之间利益的纷争甚至同事之间的猜忌和不认同,每一个的解法都不同,我会重点聊聊沟通和执行力这两个比较核心的主观因素。
沟通至少需要做到这三点才算是有效的沟通:
- 有原因有过程有结论有可量化的目标的去沟通,理性为主
- 有共同的大利益框架捆绑的沟通,你荣我荣共赢才算赢
- 多次的重复的有二次确认的沟通,防止声音衰减
然后才是个人魅力,部门影响力和手中的权利大小等等,如果再直白一些,把事情前因后果想清楚最好带着几个预设的结论去沟通,并且多去沟通,多反复讨论去拿捏双方合作中彼此的临界点和 care 的点,达到结果一定是双赢的价值更大化的,而不是单方面收益。
而执行力这块,更多的不是做的有多对,而是做的有多主动多热心,你希望合作对象可以给你想要的,那么就要多去了解对方的进度和困难,无论当面/电话/钉钉,要多去问勤联系主动向对方同步自己做的进度,太花哨的套路不太推荐。
这一个是所有工程师走向资深后,无论是做业务还是做架构还是做管理,都必然面临的课题,可能连续几年都解决的不好,但只有让自己勤快的想,勤快的讲,将心比心的沟通,主动向他人同步才能让自己处在一个相对好合作的环境中,也才能获得更多别人的支持。
五、保持对技术与商业化的好奇心
看书万卷不如编码实战,编码实战不如出去看看,出去看看不如动手练练。
很多时候我们不知所措不是因为看的太多,而是做的太少,比如你所在的团队氛围低沉业务繁重技术陈旧,每天脑海中都是在想怎么逃离这里,总是觉得成长一定是技术成长,这种想法在编程的早两三年都是 ok 的,但真正让你愈加值钱的,是技术背后的商业化思路,技术深度和广度可以一直扩展下去,但背后的商业化思考能力和价值应用能力,反而是一个需要长期建设的软能力,这种能力越往后越重要。
比如你是一个团队的前端架构师,或者某个业务线的前端负责人,你会怎么定位自己又会怎么去思考手上的事情,这件事情对于团队对于公司甚至对于行业有什么样的革新,对于用户有什么内在的需求满足和变现内核,这些都是非常值得去思考的事情,因为正是站在你的技术方案之上,这些工程化的产品最终发挥了价值,这个过程中技术是最下沉的运行底层,这个底层如果换一个商业逻辑,换一个场景能不能兼容,其实就取决于你怎么对商业的本质有基于技术的抽象和封装。
不同的业务长在不同的互联网软硬件集成设施上,所有的业务都有它的运作逻辑,所有的底层系统也有它特定的运行领域,下层的领域和上层的逻辑之间永远处在动态升级的关系,时快时慢,它们之间的关系对于我们工程师来说,是最值得投入时间去研究的领域,这会不断重塑我们脑海中那个技术价值树,什么技术长什么业务,什么业务用什么技术,这课树越来越粗壮,我们自身的铁打竞争力也越来越强。
总结
工程师的价值最小的时候,可能只是一个团队角落的螺丝钉,最大的时候可以是上市大公司的 CTO 甚至是 CEO,每个人也都有自己职业天花板,越往上冲刺越靠近商业,越往上冲刺也越难,无论我们当下处在哪个阶段,脑海中都应该有一个看得见的远处,在那里,你身上会散发技术的光芒,所有与你临近的商业星系都会受益,它们受益越多,机的工程师价值也就越大。
Scott 近年面试或线下线上技术分享,遇到太多前端同学,由于团队原因/个人原因/职业成长/技术与管理通道,甚至家庭城市等等原因,在理想国与现实之间,在放弃与坚守之间,摇摆不停,心酸硬扛,大家可以找我聊聊南聊聊北,对工程师的宿命和价值有更多的看见与了解,Scott 微信: codingdream,也可以来 关注 Scott 跟进我的动态。