谈谈技术核心职责是什么

好久没写文了,哈。

过去三年的工作经历,回头发现,大部分时间都在拼了命地支撑运营需求,想让业务快速发展,好让自己快速提升。甚至站在了运营层面提出过各种各样的东西,但实际上这样好吗?

一直在跟着业务跑,在业务上做过不少迭代优化,也带来过一些提升。而在技术层面上,却在一两年前就到达了自己的技术瓶颈,不再明确自己核心应该考虑什么。

在业务一开始的“初创”阶段,我们没法思考太多,只能拼了命地快速迭代,还挺享受这种从无到有的快感。但当一个业务稳定下来之后,不需要再疲于奔命的时候,我们该做什么?

  1. 我们说要有高大上的追求,纵观几年下来,我们积累了什么东西
  2. 我们过程中总是在遇到各种问题之后临时去解决
  3. 天天跟着业务跑,没了成长,到底什么才是你我想要的,是业务能力还是技术能力

这是值得深思的点,好比为什么有的技术能产出weex、HMS,有的能提出模块化、服务化的概念,有的做了CTO,而有的转行做了产品,有的做了运营总监。当然,我觉得“而”字后面的相对来说还是较少。

昨天参与了社群运营部门leader的总结规划会,几乎听不懂。但是经常被提起的一个点是:你的部门核心价值是什么?

昨晚回去,我也在想,我们部门的核心职责是什么?支撑运营需求?协助运营、产品快速提升GMV、日活、客单价?

是的,没错,但是我们如何结合我们的技术,到底做哪些可以提升GMV、日活、客单价呢?

不知道。

术业有专攻,运营的运营能力一般会强于我们,产品的产品能力一般会强于我们,而我们的技术能力一般会强于他们。当然不排除某些运营、产品做过技术,也不排除技术可以从无到有从构想一个产品到运营策略到开发一人包办,确实谁专业谁驱动。这中间,逻辑分析能力倒是共通的。

例如:产品说,我要做一个活动,用来吸收粉丝、发券、提升GMV,但是他又不说这个活动想要达到什么值,于是你没法分析里面的价值,而开发要花15天。哎哟卧槽,这产品傻逼吧,也许你会这样想。然后你再一想,哎?好像活动形式换一下,也差不多能达到类似效果,但是开发只要花2天。

这可以理解为产品向技术的初始阶段,但是是在需求评审过程。但当我们脱离支撑需求,分析需求合理性逻辑性目的可达成性之外,我们应该考虑什么。

现在我的想法是,技术的核心应该还是提供更健全的系统和服务、完善流程,提供运营、产品、开发更高的效率,带给团队提升空间,这比一切务虚的更能带来价值。

而作为前端,除了业务支撑里的做页面、做活动、做需求,我们之前也提了不少业务优化、技术优化,但是我们还是不知道我们下个季度可以做什么。因为我们说的业务优化、技术优化,缺乏目标和方向。

思索下来,我把前端的核心职能、应做的考虑、能带来的东西汇总为:

一、体验

性能

例如:页面加载时长,页面渲染时长等

页面

例如:UI呈现,UI还原度,CSS3动效,用户交互习惯提升,更好的交互体验等

二、效率

决策效率

如何建立数据反馈、打点机制,更快、更友好地响应决策,以及发现中间的问题

例如:上线一个系统,运营、产品、技术能清晰地知晓我们做的调整触发了怎样的波动

例如:上线一个系统,看一眼系统界面,就能知道代码错误出在第几行第几列

运营效率

是否可以通过系统配置来提升公司运营(注,这里是动词不是名词)效率?可以提升多少量化数据?

例如:搭建系统可以让页面(活动页面、营销玩法、后台页面等)快速上线

开发效率

举例:

  1. 前后端对接慢 —— mock系统
  2. 开发慢 —— 引入新技术,好比mvvm框架;引入模块化,提供xxx组件
  3. 打包慢 —— 依赖打包,节省发布时间
  4. 为什么这些事情天天重复在做,是否可以封装节省时间?
  5. 开放式环境经常被打扰,工作流经常被打断,每天都在聊QQ划水怎么办? —— 涉及到项目管理,是否有什么流程机制解决?

稳定性

可维护性
  1. 代码规范 —— jshint、eshint等
  2. 代码复杂度 —— 是否有工具
bug情况
  1. 原因是什么?—— 能做什么动作减少bug?
其他
  1. 如何保障更牛逼的流量进入而系统不崩?
  2. 如何做到更快的问题响应?
  3. 如何将线上风险前置,如何规避风险?

团队发展

  1. 如何打造更强有力的团队?
  2. 团队知识体系如稳健提升?—— 上面的动作以及分享是否ok?
  3. 如何持续不断创新?

业务创收

这部分更多是运营、产品需要去考虑的。而在我们其他一些方面做的还OK的情况,或者我们有了解可以做的事情,我们也可以从业务角度达到一种创收的效果,不过这很大程度超出一个技术能力范围之外。

例如:

  1. 大数据做卖广告的平台,微信推出小程序
  2. 推出了3D游戏、AR游戏,提升了xxx效果
  3. 我们在业务优化上做了什么什么,提升了xxx量,这也是我们通过我们自己达到的创收

公司/业界影响力

例如,阿里推出的系列全套,seajs、weex等等等等。当然这也是解决了内部一些问题之后,所提炼开源出来的

而在KPI制定这一块,我们不能像以前一样一直跟着业务去走,甚至给自己定GMV、流量,这些大部分都不是我们能控制的。单纯的业务支撑,最终总结的时候,说我们支撑了xxx业务,达到了xxx体量,太空,没含金量,中间可能我们也没做什么努力,但是它也达成了,也就没有成就感。

在想我们要做什么的时候,我发现可以按照上面的内容展开我们的考虑,因为这些是我们技术所能提供的。KPI是我们的目标,而这个目标到底是什么,要解决的是什么问题,而我们为之能做出什么动作。S是基本不可达成的,B是基本要求,A则是凭着我们自己蹦一蹦可以达到的,那么我们的B/S怎么来设定,能通过什么数据来做量化验证,这就是我们所要面临的问题。

我们可以从上面几个维度去构想我们未来的事情,想要解决或者优化的问题,也可以和自己想学习的技术相结合,甚至说去做业务创收,但是我们要有能力想好做什么能达成我们的目标。写一个虚的东西,最终评价完全没法展开。

我们要做什么,一定要有原因。想不好要解决的问题,也就想不好自己要做什么,也就盲目。盲目是一个不好的状态。我们不应该只知道跟着业务跑,而忽略了我们自身的能力所能提供的;也不应该只知道引入新技术(Google这几年推的热气球、人工智能等等项目,想要达成创收,也占据了不少眼球,有的甚至上了科技TOP10,但是这两天从好奇心日报了解到,这些项目这一年大部分都砍掉了),而偏离了我们的目标(是盈利、社会奉献还是满足自身的探索满足)。针对我们要解决的问题,发散思考,提出能解决的方案,于是我们有了目标,有了行动策略,这样,我们也就有了方向与踏踏实实的成就感。

以上,暂时想到这么多。

搞了三年,积累了不少产品相关能力,也挺好。

update

补充一张前端大图 —— 2017.03.10