文章列表

BAT 争抢的全栈工程师真的存在?

2018-07-05 17:13

如题所示,我不相信全栈工程师。多年来在我遇到的所有工程师中,只有一位担得起这个头衔:全栈工程师,也就是说:有能力轻松地游走在在后台和前端之间,具备高端的专业知识。但对我们其他人来说,根本不可能兼顾前端和后端。

但是,什么是前端?我认为是能够承担起这项工作的工程师需要具备以下技能:

懂得语义化、高可用性的标记(大量 span 和 div 会让他们感到郁闷)

拥有编写清晰简洁的 SaSS 和 CSS 的经验(他们应该完全理解层叠的好处和风险)

深度关注网络性能,甚至达到痴迷程度(这意味着加载、图像、SVG、动画、审核第三方脚本等等)

根据组织或项目的大小,对 React、Angular 和其他框架有深度的了解,能够抽象化组件以方便其他团队不断重用。

没错,这些都是前端工程师可能会学习的技能。但是想学好?想做到基本符合要求的标准?这项工作最需要的是奉献和专注,因为昨天的尖端技术将变成今天的标准,如果你需要兼顾两边的话,根本没时间跟上前端开发的脚步。

但是我在网上随处都可以见到糟糕的设计,我认为这是因为缺乏技术力——不一定是因为设计师无法胜任手头任务,也不是因为工程师不了解网络标准、可用性或性能的问题。这是因为公司里负责招聘的人完全忽视了 Web 开发所需的全部技术能力。

我认为这种对前端开发的漠不关心有多种原因。HTML、CSS 和 JavaScript 一直被许多工程师以各种理由忽视。他们眼中的跨浏览器 API(HTML、CSS和 JavaScript)令人困惑且实现随意,但在我看来,它却是个百花齐放、不断改进且持续进步的接口,这意味着我们可以看到十五年前写就的东西,而我们的浏览器依然可以解析它。

也许我们 Web 开发人员和设计师也有责任:

如果我们像考虑前端开发的头衔那样在用户身上花费多点时间,那么 Web 可以更加美好。

- Robin Rendle(@robinrendle),2018年6月12日

看到一系列对 Web 仍然至关重要的工作,而那些公司里的掌权者却对此并不关心的时候,不觉让人感到沮丧,而且看到开发人员每六个月就需要重新给自己定一个头衔,以便 LinkedIn 的资料可以获得更多声望时,也不禁让人感到伤怀。

目前前端开发非常重要,而且在今后二十年中也会很重要,它不会很快消失。它会一如既往的炫酷又无聊,所以即便用 JavaSript 编写一切东西,或者改变职位描述也不会改变这种形式。这些做法只会让大家更迷惑前端开发究竟是干什么的。

不仅如此,我还看到许多工具和流程试图取代前端开发,有时设计系统的工具也会打着取代前端开发的幌子。许多原型和设计应用大喊道:“设计师!把这个模型给工程师,他们所需要做的仅仅是复制和粘贴 CSS!我们可以确保万无一失!”

大骗子!

每个忽视前端开发工作的公司都是在拿自己冒险;他们每年都会损失数百万美元,因为他们的网站太慢,或者因为违反可用性法规而遭到起诉,而且他们无法提供漂亮、高品质且组织良好的界面,因为公司里没人可以创建这样的界面。

尽管有证据表明前端开发是一项全职的重点工作,但是我看到许多公司聘用了全栈工程师和没有编程经验的设计师,我还看到设计团队主要关心的还是像素问题和动画制作,对基本的 HTML 结构没有丝毫的了解。我经常看到一些毫无可用性而言的界面,这些界面没有焦点状态和表单,无法用键盘来进行有效的导航。我还看到没有可用性的移动界面和巨大的网络应用,其感觉缓慢笨重,因为没人真正从浏览器最基本的工作方式出发考虑过这些产品。

如果你只雇佣全栈工程师,那么你应该仔细考虑为什么会出现这样的情况,而且你应该理解因为这个领域的专业人员的缺失造成的后果。

全栈工程师如同麒麟一样,童话故事里才有罢了。