1 一位Web前端工程师的自述-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一位Web前端工程师的自述

工程师人生 来源:工程师吴畏 2019-08-22 15:37 次阅读

我第一次通过软件赚钱是在2008年。

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

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

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

1

什么是“前端工程师”

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

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

如今软件技术的每个细分领域都得到高度发展,追寻技术的广度使得全栈工程师无法真正深入某个领域。

2

最显眼的工作

作为一名前端工程师,弊端很明显。

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

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

3

UI实现并非易事

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

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

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

性能只是优秀 UI 效果的众多方面之一。

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

4

前端人员不仅仅是工程师

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

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

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

5

高效前端团队造价高昂

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

如果你想打造一支优秀的团队,那么首先得问问自己,你是否希望并且能够根据 UI 区分你的业务。

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

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

打造一个高效的前端团队需要提供充满竞争力的薪酬。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1569

    浏览量

    68500
  • WEB前端
    +关注

    关注

    0

    文章

    18

    浏览量

    2517
收藏 人收藏

    评论

    相关推荐

    寻求专业工程师帮助设计USB多口充电器

    嗨, 我正在开发款USB多口充电器,现寻求一位专业工程师或产品设计的帮助。希望能够与有经验的工程师合作,共同完成产品设计。以下是我们的需
    发表于 08-05 12:03

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    嵌入式软件工程师如何提升自己?

    ,可以为自己的职业生涯打下坚实的基础,并实现个人的职业目标。愿每一位嵌入式软件工程师都能在这个充满挑战和机遇的领域中取得成功!
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师是软件开发领域中的种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    为何国外工程师偏爱使用for(;;)来实现MCU死循环?

    一位工程师发现,国外工程师在给demo在做死循环时用的是for(;;),而不是常用的while(1)。这仅仅是个人习惯的问题,还是有更深层次的含义?
    发表于 04-01 11:26 636次阅读
    为何国外<b class='flag-5'>工程师</b>偏爱使用for(;;)来实现MCU死循环?

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    德赢Vwin官网 网官方
    发布于 :2024年02月28日 17:50:00

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    web前端开发和前端开发的区别

    、CSS和JavaScript等技术来构建用户界面,实现用户与应用程序的交互。Web前端开发包括网页设计、网页编码、前端框架使用以及优化页面性能等任务。 前端开发是
    的头像 发表于 01-18 09:54 3495次阅读