非典型前端的一年

简介: 由于去年年中晋升,工作内容发生了一些变化,同时又因为TL是服务端同学,团队组成包含多种技术栈,FY21对于业务思考有了较大提升,而在前端技术的探索上也会与其他技术域有更多交叉。

image.png

作者 | 玉缜
来源 | 阿里技术公众号

去年年中通过了晋升之后,工作内容上发生了一些变化,同时由于TL是服务端同学,团队组成包含多种技术栈,FY21对于业务思考有了较大提升,而在前端技术的探索上也会与其他技术域有更多交叉,所以我的FY21为非典型前端的一年。这篇总结分为两部分:

  • 业务:FY21我是如何做闲鱼内容创作者这块业务的
  • 技术:FY21我在前端技术上做了哪些建设与沉淀

一 业务

FY21年中闲鱼开始重新投入社区内容这块业务,我担任社区创作者线的技术PM,带领小组的技术同学与业务同学一起为业务目标努力。我在整个过程中做的事情可以概括为3个词:建团队、定目标、做判断。

建团队

在这里,建团队的意思是将相关的技术同学与业务同学组成一个“团队”,统一大家之间的认识,相互之间建立信任,这是一件极其困难的事情。对于研发同学,你要站在他的角度思考在过程中能够给他提供什么样的成长,成长可能是业务理解,可能是技术沉淀等等。对于业务同学,在吸收了他们的输入之后,你要站在业务的角度去思考当前问题到底是啥,可以通过什么手段去解决,手段可以是技术的也可以是非技术的。建立信任是有路径可循的,但是更多地是在平时的日常工作中逐步去建立的。

定目标

目标指引我们的工作不偏离想要拿到的业务结果以及创造的用户价值。在业务发展过程中会存在各种阶段性目标,但是阶段性目标都是为了最终目标服务的,在这里需要和业务同学反复对焦。但是业务也经常会有一些变化,甚至产品和运营的目标也不会完全一致,所以我认为更加重要还是自己深入思考目标是什么。目标是自上而下的,因此可以先思考怎么样做闲鱼内容社区这个业务,这里推荐用亚马逊的增长飞轮来思考。

image.png

从增长飞轮来看创作(者)->内容->消费(者)->创作(者)是整个闭环,而在当前0-1阶段,优质内容数量才是驱动增长的关键。但是为什么我们会讲要做创作者,而不是说做优质内容数量呢。因为业务是通过运营人(创作者)进行内容创作来提升优质内容数量,并且创作者数量多更能反应业务的健康度。因此对于创作者这条线的核心目标就是创作者规模,本质来讲就是创作者的增长问题。

一开始我按照App DAU的逻辑进行拆分,日创作者数 = 今日新增 + 昨日留存 + 历史召回。跑了一段时间之后发现这样拆分无法对应到业务上的Action。思考下来有几个因素:

  • 内容发布是一个用户参与成本很高的行为。不像App的访问行为,参与成本非常低,每天都可以产生这样的行为。此外内容发布相对来讲是非常低频的行为,在一周内用户发布的天数有限,平台提供的独特价值在于用户有内容发布诉求的时候选择来当前平台发布。
  • 在当前业务0-1阶段,更偏向追求每日新增内容发布总量(即让更多人来发布),而精细化运营人群的留存情况关注相对较少。

因此后来我建立了每日(周)新增(优质)内容量(人)的看板,并且建立每个发布渠道的效率。这样拆分数据看到的问题/现状是可以和业务策略对应的。例如日创作内容数增加了,但是优质内容数变化不大,说明通过一些策略促进了用户来发布内容,但是优质率却是降低的,可能是引入的用户不具备创作能力或者策略没有很好地引导用户发布优质内容。

业务数据是技术同学了解业务最简单的方式,也是能和业务同学建立连接一个便捷的通道。业务同学看着你建的数据报表,可能过几天就给你提一个需求,帮忙增加某一个指标,这样你就能更加了解业务的打法。这里推荐各位做业务的同学,有条件一定要亲自实现下关键业务指标和其拆分指标的产出逻辑(SQL),这样能让你更加了解业务目标的构成与背后逻辑。

做判断

做判断是指基于业务理解以及目标拆解对业务需求进行判断,集中兵力投入ROI高的事情上。回到内容创作者这个业务,在0-1的这个阶段我们应该重点做啥呢。可以先从创作者的转化路径来看,用户首次创作内容变成创作者,具备发布优质内容并且持续发布变成核心创作者。

image.png

在业务上打法是降低创作门槛,让更多用户能够首次发布内容。增加用户激励,让更多用户有动力持续在闲鱼上发布内容。此外创作者基础产品基本为零,急需建设。因此在FY21主要围绕着这三个方面建设:

基础产品建设:

  • 前台产品:创作者中心(用户教育/活动引导)+我的帖子(内容管理/数据看板)。
  • 管理后台:提供创作者入驻、管理、管控等能力。

降低门槛:

  • 闲鱼宝贝转内容:闲鱼有大量只秀不卖的宝贝,不具备交易属性,本质上就是内容。我们构建了一个用户快速将内容型商品转化成内容的链路,减少用户的创作成本,整个思路和闲鱼一开始做一键转卖(将淘宝已买到商品转成闲鱼商品)非常类似。

用户激励:

  • 创作者成长体系:由于产品还在初期,内在激励(内容供需)尚还不能有效激励用户创作。因此通过创作者成长体系(积分/等级/权益)构建外在激励,拉动用户创作内容,增加大盘供给。

担任业务线技术PM让我有一种CTO的视角去看待内容创作者这个业务,在以往的工作中我并不会以这样全面的方式去思考业务,让我有很大的成长。回到前端在业务中的作用,当前前端在创作者业务推进过程中更多是业务支撑,并没有产出和业务强相关的技术沉淀。这是前端同学的一个特点,善于解通用性问题,从定义问题到解决问题都具有普适性。这一块希望在FY22有所突破,看得到业务中的问题,并且能通过技术手段有效解决。

二 技术

FY21在前端相关技术上主要做了以下4个方向的事情,如前面所说,和其他技术域有一些交叉,但是本质上都是通过技术手段解决业务问题。将其他技术域的思想引入到前端中,可以拓宽思维,用不同的思路来解决问题。

前端CEP

FY21在前端实现了一套对用户复杂行为匹配的规则引擎,主要应用于用户增长场景,在用户产生特定行为之后对用户进行触达干预。将业务流程拆解为三部分,分别是用户实时行为采集、对实时行为按照规则复杂计算、以前端UI组件进行用户触达,对应三个核心模块:事件采集、复杂计算和用户触达。针对上述设计目标,为了实现触达实时,将对行为的复杂计算放到前端去执行;为了实现策略动态,设计了一个服务端运营平台管理所有策略,采集行为信息、复杂计算规则、触达组件信息都从服务端获取;为了实现多容器,将实时行为采集和UI组件触达进行标准设计,分不同容器环境实现。此外由于策略会存在跨页面的场景,底层会有数据同步模块同步行为数据和计算状态。整体架构如下图所示。

image.png

Flutter能力拓展

FY21闲鱼社区前端开始尝试用Flutter进行业务开发,由于Flutter UI编程模型和现代前端比较接近,前端同学要上手Flutter进行UI编程成本没有那么高,甚至我认为前端同学对于UI的还原以及敏感度整体来讲是要比客户端同学更强的。除了Flutter UI编程之外,了解客户端研发模式有一些学习成本,Flutter研发体系和前端研发体系有很大差别,属于完全割裂。而从研发效率上来讲,前端研发相比还是要快非常多的。目前来看,我们是多了一个Flutter这样的锤子,可以解决一些相关的业务需求,但是未来如何将Flutter和当前前端研发体系结合需要更多思考。

中后台基础建设

FY21闲鱼开始做重新内容,需要配合建设大量的运营后台(内容审核、内容管理、创作者管理、流量策略等),而闲鱼以往因为主要是C2C交易,中后台建设这一块是比较缺失的,因此发起了社区中后台前端基础建设这个项目。除了基础工程化建设以及一些集团能力引入,FY21我们尝试构建了一套数据模型+标准化协议+一体化搭建的快速生产通用型页面的方案,大概流程:指定服务端数据模型 -> 指定页面模版 -> 搭建修改UI -> 生成页面。

image.png
image.png

端容器建设

闲鱼经过多年发展,技术体系百花齐放,前端同学开发使用过Webview、Weex、小程序等多种容器。一方面前端同学不清楚各个容器能力与边界,容器能力靠老司机相传,在面对复杂业务需求时无法做出准确判断;另一方面多个端容器架构,客户端同学研发与维护成本较高,并且存在多个团队维护与更改的情况,容器能力对于客户端同学来说也是黑盒。因此在FY21S2开始推进闲鱼端容器能力梳理与体系建设。FY21在容器选型上达成了共识,后续前端动态化场景的业务开发会逐渐收敛到Webview,以及对目前闲鱼Webview能力以及现状做了一轮梳理。FY22会更加聚焦提升Webview极致性能与体验,希望能提升整体闲鱼App的用户体验。

image.png

三 未来

FY21个人对于业务思考提升了很多,也取得了不错的业务结果,但是业务到技术的推导还不够。FY22希望能够与团队一起躬身入局,提升业务Sense,从业务中发现问题,用技术手段来解决。


免费领取电子书

《Flutter 技术解析与实战》

闲鱼是国内最早使用 Flutter 的团队,在多次研讨验证及大规模上线的过程中积累了很多技术沉淀。本书从一线问题出发,清晰地阐述了 Flutter 的重要理念,给大家提供了应对各种问题的实用方法,从通用业务工程化开始,进而展开 Flutter 在闲鱼技术部整体云端一体化架构的创新思考。

扫码加阿里妹好友,回复“闲鱼实战”获取吧~(若扫码无效,可直接添加alimei4、alimei5、alimei6、alimei7)

image.png

相关文章
|
缓存 负载均衡 网络协议
自己动手从0开始实现一个分布式RPC框架
如果一个程序员能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信、异步调用、熔断降级等技术,可以全方位的提升基本素质。虽然也有相关源码,但是只看源码容易眼高手低,动手写一个才是自己真正掌握这门技术的最优路径。
自己动手从0开始实现一个分布式RPC框架
|
10月前
|
存储 人工智能 自然语言处理
构建AI智能体:八十八、大模型编辑:从一本百科全书到可修订的活页本
大模型编辑技术为解决传统语言模型知识固化问题提供了创新方案。该技术通过局部修改、内存增强和外部知识库三种方法实现精准知识更新:局部修改直接调整模型权重;内存增强添加外部记忆模块;外部知识库则结合检索机制。实验表明,基于Qwen1.5-0.5B模型的知识库覆盖法能有效实现即时知识更新,在保持模型完整性的同时解决传统微调成本高、耗时长的问题。该方法通过智能路由机制,成功验证了"苹果CEO"等案例的编辑效果,展现了在生产环境中实时维护模型知识的实用价值。
570 9
|
4月前
|
存储 缓存 Android开发
Android Studio .gradle文件位置全局配置
Android Studio 的 `.gradle` 文件夹默认位于 C 盘用户目录,占用空间大。本文详解两种迁移方案:① 推荐通过系统环境变量 `GRADLE_USER_HOME` 全局重定向;② 修改 `idea.properties` 配置。附数据迁移步骤与 `gradle.properties` 参数优化说明。(239字)
|
Cloud Native 安全 Java
代码圈复杂度治理小结
我们一直在说系统很复杂,那到底什么是系统复杂度呢?作为团队的稳定性底盘负责人,也经常和大家探讨为什么会因为圈复杂度高而被扣分。那么,怎么才能写的一手可读,可扩展,可维护的好代码?本文作者尝试结合在团队内部的实践,分享下过程中心得。
代码圈复杂度治理小结
|
存储 缓存 监控
如何写出一篇好的技术方案?
近期作者在写某个项目的技术方案时,来来回回修改了许多版,很是苦恼。于是,将自己之前写的和别人写的技术方案都翻出来看了几遍,产生了一些思考,分享给大家。
如何写出一篇好的技术方案?
|
缓存 Java 程序员
函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码
本文会以惰性加载为例一步步介绍函数式编程中各种概念,所以读者不需要任何函数式编程的基础,只需要对 Java 8 有些许了解即可。
函数式编程的Java编码实践:利用惰性写出高性能且抽象的代码
|
架构师 C++ 开发者
团队管理|如何提高技术Leader的思考技巧?
技术Leader是一个对综合素质要求非常高的岗位,不仅要有解具体技术问题的架构能力,还要具备团队管理的能力,更需要引领方向带领团队/平台穿越迷茫进阶到下一个境界的能力。所以通常来说技术Leader的技能是虚实结合的居多,繁杂的工作偏多。为此我把自己在工作中经常用到的思考技巧也做了一个整理,算是对《关于技术能力的思考和总结》中提及第三阶段的补充。
1898 1144
团队管理|如何提高技术Leader的思考技巧?
|
网络协议 安全 Go
一文详解用eBPF观测HTTP
随着eBPF推出,由于具有高性能、高扩展、安全性等优势,目前已经在网络、安全、可观察等领域广泛应用,同时也诞生了许多优秀的开源项目,如Cilium、Pixie等,而iLogtail 作为阿里内外千万实例可观测数据的采集器,eBPF 网络可观测特性也预计会在未来8月发布。下文主要基于eBPF观测HTTP 1、HTTP 1.1以及HTTP2的角度介绍eBPF的针对可观测场景的应用,同时回顾HTTP 协议自身的发展。
一文详解用eBPF观测HTTP
|
架构师 前端开发 流计算
阿里10年沉淀|那些技术实战中的架构设计方法
上周我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论“以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章我其实更想跟大家聊聊一些常用的思考方法,思考问题的方式对了,往往可以帮助大家少走弯路。
阿里10年沉淀|那些技术实战中的架构设计方法
|
Java 开发工具 Android开发
5年磨一剑|优酷Android包瘦身治理思路全解
稳定性、性能、包大小,在移动端基础用户体验领域“三分天下”,是app承载业务获得稳定、高效、低成本、快速增长的重要基石。其中,包大小对下载转化率、拉新拉活成本等方面的影响至关重要,这在业界已经成为共识。本文聚焦于整体治理思路,以治理实践为依托,讲述瘦身技术、治理模式、治理策略,以及背后的思考与取舍。
5年磨一剑|优酷Android包瘦身治理思路全解

热门文章

最新文章