首席工程师过于强调后端工程技能
在首席工程师级别,后端工程师存在着偏见。这使得前端工程师在晋升时间上处于非常不利的地位。
当有人说自己是全栈工程师时,通常指的是以下两种情况之一:1)他们是编程训练营的毕业生,对 Node.js 经验有限,侧重于前端。或者,2)他们是一位经验丰富的后端工程师,略懂 HTML 和 CSS。真正的全栈软件工程师非常难得。
话虽如此,首席工程师的职位要求几乎完全集中在后端工程技能上。我过去工作过的公司都要求应聘者具备网络、系统设计、数据库设计、构建可扩展微服务架构或设计容错系统等领域的专业知识。
虽然所有这些都很重要,特别是对于注重后端的首席级别的人来说,但这些要求列表通常缺少许多前端工程师独有但同样重要的技能。
首席工程师的宝贵前端技能
那么,构建可扩展设计系统的能力如何呢?您是否能够构建原子级组件,用于构建分子、生物体、模板,乃至最终的页面?您是否了解设计系统组件库中应该包含哪些内容,哪些不应该包含?您是否了解如何提供清晰的设计约束以创建一致的 UI,同时又能灵活地使用组件?
那么,构建无障碍 Web 应用程序的能力又如何呢?无障碍是一项经常被忽视的技能,但它正变得越来越重要,尤其对于竞争激烈的市场中的软件即服务公司而言。您能够构建符合 WCAG 2.1 AA 规范的应用程序吗?您了解各种小部件的基本设计原则和常见的用户体验模式吗?无障碍的魅力在于,HTML 为您提供了如此多的开箱即用功能。然而,大多数开发人员并不会创建可使用鼠标、键盘和屏幕阅读器操作的小部件,而是选择只关注鼠标用户,而忽略了常见的用户体验模式。
那么,清晰地思考应用中的微交互的能力如何呢?你能否创造出无缝的用户体验,避免用户感到迷失方向?你是否擅长思考小部件功能中的极端情况?你是否拥有良好的设计意识?你是否践行包容性设计?承接上一段,可访问性很大程度上实际上就是可用性。
那么,前端性能优化能力如何呢?你了解开发依赖、对等依赖和常规依赖的工作原理吗?你了解如何优化前端应用的包大小以及如何避免重复下载相同的资源吗?
结论和邀请
这些技能以及其他许多技能在前端架构中极其重要,但它们很少被纳入首席工程师的技能要求中。
我对各地工程领导层的建议是寻找前端工程师所带来的宝贵技能,并找到将这些技能纳入晋升要求的方法,特别是对于更高级别的职位。
鏂囩珷鏉簮锛�https://dev.to/thawkin3/backend-engineering-skills-are-emphasized-too-heavily-for-principal-engineers-4m7i