资深前端应该具备什么样的特质
在职场接近六年半的时间中,见证了若干资深或是专家同事的工作方式和方法论。每个人不尽相同,以下从我的角度来看待,在前端领域,我认为成为一个资深或专家,应当具备哪些方面的经验沉淀和视野。
往往前端专家对应了一个团队中的 tech lead,tech lead 决定了团队的技术架构设计以及相关选型。下面我从硬技能和软技能两个大的维度大概总结我认为一个资深或专家应具备的一些特质。
硬技能
硬技能主要包含前端的一些领域知识,包含技术选型、开发、协作、上线、运维的整个生命周期
一、开发语言
1、基础语言:JavaScript,TypeScript
2、框架语言:
- Vue.js
- React.js
- Svelte.js
以及一些上层应用框架
- Next.js
- Nuxt.js
- Remix.js
- Umi.js
3、跨端语言:
- flutter
- hippy
- vuex
- react native
- eletron
- nw.js
二、开发工作流
- 团队协作,大部分场景基于 Git,是定制团队的 Git 工作流还是基于 Git Flow 落地协作规范
- CI/CD,流水线基础设施的搭建
- 团队代码规范
- 团队 CLI 工具
- 团队文档体系(自动化)
- 团队单元测试体系
三、工程组织
- multirepo
- monorepo
- 微前端
- npm package
- git submodule
- package tool
- npm
- yarn
- pnpm
- bun
- page render
- ssg
- ssr
- csr
四、打包编译
- webpack
- rspack
- esbuild
- swc
- snowpack
- parcel
- rollup
- vite
五、性能优化
- redis
- http 缓存
- service worker
- 内存缓存
- 离线包
- code split
- tree shaking
- async chunk
软技能
软技能个人认为沟通能力是区别职场人非常重要的一个特质。沟通是双向的,包括准备把握对方的观点以及准确抛出自己的观点。沟通体现在工作中,主要有以下几方面:
- 如何进行需求分析
- 如何进行 UI 评审
- 如何进行需求评估
- 如何进行 owner 工作
- 如何跨团队协调
除却沟通这一软特质,个人认为“如何看待学习成长”这一世界观决定了一个人的职场天花板。此处的学习成长包含了个人成长和团队成长,主要包括:
- 如何进行学习
- 如何进行提问
- 如何进行总结
- 如何进行分享
后记
在软技能和硬技能两者之间,我个人倾向于软技能更加重要。毕竟术业有专攻,不可能面面俱到,在不能面面俱到的时候,面对不知道的东西,能承认自己不知道,这更不可或缺。
以上是我对资深一词在前端领域的一个观点,会有一些主观成分。后续继续结合职场案例解释上面的若干特质。
资深前端应该具备什么样的特质