前端工程师凭什么这么值钱?秒速赛车

2018-09-13

  当时,我为当地的一家小公司构建了一个 WordPress 网站,时薪是25美元。开发软件是我的业余爱好,当我发现爱好居然能够赚钱时,我兴奋不已。最后,我用这笔外快购买了自己的第一台相机。

  时间来到2018年。在湾区,刚毕业的初级前端工程师基本年薪已经达到了6位数。至于那些有几年工作经验的前端工程师,FANG 公司(Facebook、Apple、Netflix、Google 等)开出的薪酬可达40万美元。初创企业或者西雅图和纽约的科技公司给出的待遇也差不了多少。

  那么,前端工程师工资如此之高的原因是什么?甚至有很多人眼红、质疑前端工程师,认为他们不能称为软件工程师。以下是我学习和工作经历,从一个前端菜鸟成长为一个10人前端团队的主管。

  “前端”是指软件的表现层或者用户界面(UI)。前端工程师主要使用 Web 技术实现UI。前端工程师与 Web 开发人员的主要区别在于,前者需要构建交互式应用程序,而后者主要构建专注于内容的网站。如果前端工程师从事 iOS 等其他平台的开发工作,他们可能被称为 UI 工程师或者 iOS 工程师。如果开发过程非常重视设计,他们也可能被称为 UX 工程师。

  从我自己的经验来讲,我坚信最优秀的前端工程师应当专注于 UI 的实施。他们在该领域磨练自己的技艺,并且不断学习最新的 UI 技术。全栈工程师需要做前端工作,非常适合在小团队中从0到1构建产品。全栈工程师无法兼具前端工程师、后端工程师、可靠性工程师和数据分析师。

  按钮无法点击?找前端。搜索结果不满意?即使是源数据的问题,用户也认为是前端的错。用户只会上报那些他们看到的错误。前端工程师开发的东西就是被用户所见的,因此一切都是前端的错。作为前端工程师,很难向用户解释清楚。用户不关心问题是否与数据或者 API 服务有关,他们只知道在浏览器中搜索苹果,那么搜索结果就应该是苹果的照片。

  软件工程师最主要的时间不是用来写代码,这可能会让你非常吃惊。实际上,他们把更多的精力花在了沟通上。前端工程师是离用户最近的开发人员,他们往往是最能把握用户需求的人。

  具有良好 UI 效果的产品能够更容易获得用户的信任。信任度会直接转化为收入,网站页面的加载时间每增加一秒就会丢失10%的用户。

  前端工程师竭尽全力对加载时间进行毫秒级的缩减,就像波音公司的工程师减轻飞机重量一样。例如,Stripe Billing 的主页在移动3G网络下的加载时间不到1秒。下载到你设备中的数据包比谷歌主页的还小,它是出了名的轻量级网站。那么,它是如何在页面中嵌入高分辨率视频的呢?

  当你仔细观察开发人员工具时,你会看到“视频”只是简单的 HTML,网站将它们精心组合在一起并使用 CSS 进行动画处理。HTML 和 CSS 比视频轻量级得多,因为它们只是告诉浏览器如何呈现 UI 的文本指令。无论屏幕尺度分辨率如何,该技术都可以呈现很好的效果。即使放大界面,视频依然很清晰。这项工程能够提供很好的用户体验。

  用户在移动设备上逗留的时间最长,那么如何在移动设备上提供更好的 UI 效果呢?前端工程师可以针对4种尺寸的 iPhone 和数百种尺寸的 Android 手机适配 UI,而无需为每种尺寸的设备构建单独的 UI。对于中国的14亿用户怎么办呢?前端工程师可以构建国际化框架,以便翻译人员可以轻松将应用程序翻译成其他语言。想要具有包容性并遵守 ADA 可访问性标准吗?前端工程师可以让用户通过键盘和屏幕阅读器访问整个应用程序。应用程序的众多受众和环境使前端工程师的工作变得困难。然而学校并没有教授这些技能,前端工程师不得不持续学习,用最新的技术来应对不断变化的平台。

  一致性是优秀 UI 的另一个重要方面。谁在乎一个按钮边框是1像素,而另一个按钮边框是2像素?我经常会和朋友们一起讨论这个问题,不论他们是工程师与否。我的导师Charles dHarcourt 说得最好——当用户发现界面元素没有满足他们的预期时,他们就会失去对该产品的信任。他在许多明星产品上一次又一次地强调这一点,比如WebObject、iTunes和Chrome。

  前端工程师不仅仅是工程师,他们利用自己的设计直觉和用户共鸣提升用户界面的人性化。在我看来,这一点将使那些杰出的前端工程师从普通工程师中脱颖而出。而在日常工作中,前端工程师需要与产品经理和设计师进行良好协作,需要平衡需求和实施难度,以满足用户需求,并以最少的审核周期解决错误和不一致问题。

  设计直觉和用户共鸣很难量化。对于我曾经合作过的许多优秀的前端工程师来说,这两者已经深入他们的灵魂。前端工程师接受的教育往往是跨学科的。他们喜欢颠覆已经被精心设计的产品。他们还有充满创造性和艺术性的爱好。有些学校,比如斯坦福大学,会教授艺术与工程的融合。关于设计直觉和用户共鸣的教授方法,我很乐意听取大家的意见。

  尽管我热爱前端工作,但我并不认为仅仅靠一个优秀的 UI 就可以让产品变得伟大。让产品变得伟大的核心因素在于:真正解决用户的问题。Craigslist 就是一个典型的例子,它采用极其简单的以文本为中心的 UI。

  像所有最优秀的其他工程师一样,优秀的前端工程师只对伟大的产品或者拥有前端大牛的团队感兴趣。那么,你是否拥有优秀的 UI 产品,是否拥有前端大牛?Stripe 已经拥有了优秀的 UI,并且其前端团队非常强大,因此它才能吸引 FANG 公司以及各大名校的前端人才。

  如果你雇用最优秀的人才并为他们支付行业最高的薪酬,那么这些优秀人才为你的业务带来的收益可能会远远超过你在人才方面的支出。——Netflix 首席人才官 Patty McCord,关于如何招聘

  尽管也有例外,比如那个热衷和你一起做开源项目的高手可能期望薪酬只有 Facebook 的一半。当然也有一些优秀的前端工程师并不要求硅谷级别的待遇。但这毕竟是小概率事件,为前端工程师设置过低的薪酬存在风险。因为员工流动成本很高,不能顺利完成产品的风险将导致更多问题,其消耗的预算也更多,有些得不偿失。

  作者简介:Ray Shan,是专业的产品领导者、金融家和艺术家。他与聪明的团队合作,利用其广泛的背景设计和制作令人愉快的产品。