作为一个业务前端,完成业务需求的同时,还要处理各种线上问题,加班辛苦忙碌了一年,还要被老板说“思考是不够的”、“没有业务 sence”,出去面试,被问项目,也说不出什么有亮点或者有挑战的东西,想做点牛逼的东西,也没有发现什么有价值的方向,好不容易找到一些方向,还要被老板一顿质问,业务价值是什么?ROI 怎样?最终可能就只是做了一点性能优化工作,抽离了一些可复用的组件……不禁让人感叹,业务难、前端难、做业务的前端更难!
如果你也有这样的感受和困境,我想告诉你,这真的是太正常了,在阿里内部的技术论坛就有多篇关于这个问题的思考,我根据根据自己理解和调研,同时参考了多位不同前端领域专家的总结,整理成这篇文章,希望能对大家有所帮助。
业务前端,顾名思义,做业务的前端,直接与业务的 PD、运营接触,对产品的用户直接负责。在实际的工作中,业务前端经常忙于业务的各种会议、项目和答疑,即便一条业务线上有多个前端同学支持,面对成山的需求,可能依然感到吃力,这其中的原因可能有:
前端岗位的特点就是有视觉稿就可以完成工作,不需要理解业务全貌,所以在繁忙期很容易让前端忽视了业务思考,加上之前描述的各种原因,业务前端经常沦落为“资源”,当你沦落为“资源”的时候,其实就已经失去了和业务平等对话的资格,他们只会把你当成莫得感情的开发机器,跟你输入需求,让你吐出页面,而你在这样的关系中,本来写着还算工整的代码,为了快速实现业务需求,也开始写起乱糟糟的代码,对于你所创造的产品也没有话语权,久而久之也失去了激情和耐心。
失去激情,写的不开心也就算了,因为你没有做出什么特别的东西,老板也不会特别认可你的辛苦,还会觉得你思考不够、没有业务 sence,对业务没有助力,没有让业务因为你的存在而有所不同……
好吧,那我决定做点什么改变一下,于是跟老板提出了一系列想法:
老板往往会来一系列灵魂提问:
还没有开始,躁动的心就被老板的一系列“质疑”浇了一盆冷水。
如果没有回答好这些问题、说服老板,自然也争取不到什么资源,只能一个人搞搞,一个人搞的往往质量不行、也没有人用,久而久之自己也不维护了,只能又开始埋头在需求中。
干的不开心,也没有成长,最后只能暗淡离职,但换了一个公司就会好吗,很可能又是类似的过程……
这真的堪称是业务前端的“困境”,那么如何突破这种困境呢?首先我们就要摆正心态,从了解业务开始。
在了解业务之前,首先我们要知道,业务跟需求是不一样的。理解需求并不等于理解业务,需求是业务经过产品消化后的产物,可能已经经过演绎或者拆解,因此需求并不是业务本身,当然了解的需求越多,对业务的全貌也会更加了解。
那么什么是业务呢?业界对"业务"有多种定义,但是其主要思想基本不变,业务就是一系列人通过一系列活动完成某一任务的过程,因此,业务可大可小,可以无限拆分。
我们本文涉及的业务泛指商业业务,就是与该 BU 或者公司商业模式直接关联的业务或其组成部分。
前端即使不学习业务,其实也不影响做需求,毕竟你只要告诉我交互是什么样的,前端就可以帮你实现,而且已经有产品经理的角色了,大家各司其职不就好了,为什么一个做技术的,要狗拿耗子、或者是越俎代庖呢?这就要说到:
那么目前你了解你对接的业务吗?不妨尝试回答下以下问题:
业务领域知识的阅读
找到该领域相关的评分较好的书籍集中阅读,快速形成知识框架。
了解业务背景和规划
多交流
与服务端同学聊天,与 PM 聊天,与用户聊天,多角度看业务,但要注意的是,针对专业型比较强的业务,需要先做功课,至少一些英文的缩写要清楚的明白意思。
谨记数字
如果前面还需要花比较长的时间,那这一个可以现在就做起来,那就是把业务相关的数字记得越精细约好,越具体越好,越全面越多越好。这样做有两个好处:
从日常需求入手
对于项目中的需求,我们要尝试分析背后的目的和价值,做了之后有什么预期的收益,为什么这么做就可以达到这个收益,跟总体目标是否契合,还要判断业务方提到的点是不是有效的方案或者说成本太大的方案,看能不能给出替代方案,用现有的方案或者小成本的方式来满足业务方。
而在项目提测上线后,还要仔细分析以及多关注上线之后的业务数据和效果,会有如下好处:
坚持
业务思考力,没有个至少半年是不会见效的
尽管平时的业务很忙,但再忙,也要抽时间思考,那么思考哪些内容呢?以下举一些例子:
和老板、团队同学、业务方对焦,确认“我想做的”是不是“大家想要的”?
你可能会提出很多意见,但一般会遭到老板或者业务方无情的拒绝,而且问得你一脸懵逼,就比如:
而这往往是因为你提出要做的事情,有价值但不是必须做的,没有结合目前业务需要什么。也就是说,你想做的技术是个人和纯技术角度思考的,没有基于业务的现状和痛点去考虑技术方案,不接地气,投入产出比不高。
所以给技术产出先找好业务的阵地,看看有没有可以借力的地方,不要重复造轮子。快速验证这个方向的正确性后,再逐渐多加投入、丰满技术设计。不要自己YY、默默地做完,这样做出来的东西没有业务场景埋单。
业务赋能其实是需要我们紧贴业务规划,制定技术规划和方案。在了解业务方今年的 KPI 重点是什么,预计的拆解和实现路径是什么后,再结合自己的和团队情况,想想自己能做哪些事情来帮助业务实现其 KPI,这里有两点需要注意下:
抓住本质从点及面,通盘考虑: 很多时候,我们收到的痛点和业务需求都是单点的,这时我们不能着眼于眼前的单点问题,而需要通盘来考虑,比如SEO的页面对性能非常敏感,经常可能会收到一些业务方来反馈,说目前我们的SEO有这个地方,那个地方需要优化下,而单点解决这些问题可能对业务带来的收益并不大,对自己的技能也没有什么成长。这时候如果通盘考虑这个命题,其实会发现做SEO页面的优化,其实目的是为了提升SEO页面的收录和排名。而提升SEO页面的收录和排名其实不仅有前端性能优化这一个路径,而是还有一些其他的路径:比如优化关键词&长尾词,采用Google的AMP技术改造SEO页面,优化爬虫爬取页面的耗时提升爬取率等等。这样就能吧点的问题转化为面的问题,才能制定更有效和全面的抓手来赋能业务。
既要解决眼前痛点,也要长远谋划: 很多时候我们不能仅满足于眼前的KPI,还需要了解业务方长远的想法和可以预见的规划。就比如试点的新业务,一层规划是保证业务项目的按时上线,考虑到未来,另一层规划可能就是如何做到技术方案的可以复制性。
当你需要制定一个产品化的方案或者工具和框架的时候,最好先放眼集团内部和行业进行一番调研,看看业界和其他同事是怎么解决这个问题的。尽量站在别人的肩膀上做出创新或者参与共建,避免小团队内造出重复和质量低的轮子
“技术”不能是一个笼统的词汇,我想它至少可以分为“技术知识”和“技术能力”两大部分。
什么是“技术知识”?知识就是 I KNOW
《TypeScript 从入门到放弃》
《React 从入门到放弃》
《Webpack 从入门到放弃》
......
什么是“技术能力”?能力就是 I CAN
一聊到“技术深度”,可能很自然地会认为是在某项技术上挖得很深,或者解决了一个业界公认难度很高的技术难题,但这只是“技术深度”的其中一部分:
真正有突破性的、带来重大价值的业务成果必然伴随着技术上的深入乃至创新,所以在做业务成果的时候,一定会有让我们增加技术深度的场景。
培养业务感确实是一件非常有难度的事情,他要求你以业务而非技术为第一视角,这可能违背了很多人内心的“技术坚持”,但如果一直做技术,其实是很难有非常大的突破的,在工作中,如果能实现技术与业务共赢,将会助力你到达更高的高度。
改变的确很难,但结果值得冒险。
refer: https://tech.taobao.org/news/2020-09-17-05.html