曾经有面试官问我,我是怎么理解前端架构或者前端架构师是干什么的。当时只说了一个技术选型和优化,但后来细想了一番,这个问题其实很好回答的,我的意思不是说可以从网上资料上获取,而是自己的经验上就有一定的反馈,虽然做得架构不大,但是也从头到尾去做了一遍。
下面我们就来细说一下架构这个东西。
1、方案设计和技术选型:这个是一个常见职责了,需要结合当前主流框架的特性和当前公司技术发展需要来定,还要考虑成员的学习成本。(在公司做技术升级和模块化管理的时候我跟组员讨论,最后选择了react,因为后面想做RN的东西)。
2、规划开发、迭代、发布、测试流程:这个有点偏项目经理的角色,但是项目经理主要是控制业务进度,这里所说的是技术方面的开发过程。
3、搭建高效集成的前端开发环境、制定开发规范:上面的迭代开发是一个宽泛的规划,那么这个就是一个具体的了,比如使用那种编辑器较好,当然这个可能只是参考,毕竟程序员都有自己偏好的编辑器,另外就是一些注释、命名、文件夹布局等,所以也包含脚手架的设计了。
4、负责对接:与设计师协作实现页面及交互,与后端工程师完成前后端功能合并,协助PM完成完善产品需求,提供完善的技术实现方案。作为架构师,需要与协作部门进行多面沟通,促使业务高效进行的同时,落实自己的架构方案。(即便是互联网公司,面对有些PM和设计师,也需要很小白的跟他们讲,这样才能在后续中不被他们不小心坑到)
5、负责内部协调:指导前端研发人员实际的开发工作,帮助解决中遇到的问题。所以这个其实是对架构师本身的技术要求了,如果自己的能力不够,首先内部问题都解决不了。(这个自己深有体会的,因为一边做基础开发,一边带人,没有精力去扩展技能库,虽然项目开发过程中没有问题,但是确实有压力)
6、核心实践:主导开发核心组件,封装适应于PC和Mobile的js交互控件,不断优化代码,应用前沿技术,不断提高页面性能。这个要求更客观更重要,作为架构师,这一方面的要求无可非议。
以上是我的总结,毕竟之前从需求评审和技术选型,到开发实践,中间给组员分配功能模块,不断跟产品和设计沟通可能遇到的问题,到最后测试跟踪,再到优化和上线,都有涉及到。当然了,项目可能不是很大,以上职责描述可能也会偏向组长工作,但是从我了解到的信息,架构师所要做的不仅仅是技术上的成就,也是要有良好的沟通,推动业务,完善内部技术栈。
参考
:https://blog.csdn.net/Y_anCy/article/details/78581231?locationNum=9&fps=1