前端工程师的独特视角:非典型前端的一年
2023-10-29 16:14:07
非典型前端的一年
作者:玉缜
正文
在刚刚过去的2020年,我作为一名前端同学,由于TL是服务端同学,团队组成包含多种技术栈,过去一年对于业务思考有了较大提升,而在前端技术的探索上也会与其他技术域有更多交叉,所以我的2020为非典型前端的一年。
可以说,2020年是前端在中后台上云的基础阶段。基础是长期积累的过程,对于上云,作为一个正在云上业务急速增长的公司来说,基础设施上云已经逐步稳定成熟,业务上云问题暴露的瓶颈反而更加明显,前端基础设施建设过程更为复杂,但其中不少问题却是前端同学最容易碰触到的。
比如,开发同学对业务属性和业务特征的理解。举个例子,在移动客户端里,用JavaScript同构的方式实现的业务与产品在交互和业务设计上具有很大差异,业务流程和功能设计模式存在很大的差异,包括业务数据访问方式也存在差异,即使是同样的业务需求,实现方式也千差万别。开发同学必须去理解这些不同业务的属性与特征,进而确定最合适的开发模式。这对于服务端、前端、APP都是通用的。
作为前端同学,更需要进一步理解业务,比如当业务使用前端来解决一些非标业务流程时,如何用不同的开发模式来提高开发效率。这样在开发过程中能够尽量兼顾成本和效果,开发同学才能自己决定是否使用不同方式解决开发难题。
比如,以一个团队为单元,这支前端团队主要负责大型业务系统的Web版本和移动端版本。过去在开发中他们会花很多精力在切换环境上,包括本地开发环境、测试环境和预发环境。随着全公司的全面上云,所幸这支团队也在积极推动前端基础设施上云的建设,让前端能够统一接入研发效能平台,各环境的切换实现自动化,基础环境使用统一的云基础设施管理平台,开发同学在研发效能平台和云平台上通过不同的方式完成版本切换,即使是一天切换几百次也丝毫不受影响,从而最大程度提升了开发的效率。
此外,这支团队还将CI的机制与流水线自动完成线上版本切换结合,使得基础设施上云后测试环境问题暴露出来得更加明显,通过反馈,对线上问题暴露得更加彻底,让测试环境和灰度环境的问题和线上问题保持一致性,提升了团队的开发效率和稳定性,有效减少了bug发生几率。
这支前端团队的负责人说到,由于前端技术在上云过程中会遇到各种各样的困难,前端同学在切换环境上花费很多时间,导致项目发布的频率一直不高。直到现在,团队业务已经全部上云,统一使用同一套基础设施,研发同学专注业务代码编写,基础环境问题再也不需要团队操心,研发效能大幅提升。
很多场景对于前端同学来说还是新生事物,比如此次前端同学解决了所有的公司前端应用的统一技术接入方案,同时结合研发效能的平台建设,解决了大前端环境下各工程体系的模块化、自动化、高内聚、低耦合,方便团队自由组合,提高了研发效能,虽然解决了业务上云过程中遇到的一系列困难,但是还有很多工作需要持续深入推进。
作为一名前端同学,作为团队的建设者,在将来的团队组成中,多技术栈的人员会越来越多。多种技术栈意味着沟通成本的提升,如果不能有一个统一的技术协同规范和整体架构,可能导致团队沟通成本越来越高。因此,我们做了一件很重要的事,将技术架构师单列出来,让他们作为整个团队的协同和规范的建设者,以架构师为核心构建各类规范并让全团队遵照执行,从而降低团队中的沟通成本,最大程度地减少沟通成本的提升,释放出真正的效能提升。
过去我一直不太愿意接触产品,喜欢专注在开发上面,因为觉得接触太多产品需求只会干扰开发思维,但自从前端同学全面涉及业务上云和业务的架构设计以后,才发现保持同产品人员的沟通与协同是至关重要的,因为只有让产品同学明白可实现性边界与实现成本才能做出更好的产品设计和用户体验设计。
现在回过头来看,这几年前端团队的快速成长主要得益于团队成员愿意主动承接更为复杂的产品需求,愿意去发现业务问题和用户痛点,愿意推动技术创新,这一切的关键是整个团队是一个奋斗者团队。当然,这个过程中前端同学离不开后端的支持。