现在, 几乎整个互联网行业都缺前端工程师, 不仅在刚起步的创业公司, 上市公司乃至巨头, 这个问题也一样存在. 没错, 优秀的前端工程师简直比大熊猫还稀少..
这是 100offer 程序员拍卖的观察报告, 已获授权, 分享给你.
每天, 100offer 的 HR 群都有人在吐槽招不到前端工程师. 实话说对这些需求, 100offer 的招聘体验师也无能为力, 因为在供不应求的前端招聘市场上, 优秀的前端工程师才是有话语权的那一方.
放眼全球, 不仅在国内的互联网行业, 在国外, 前端工程师一样是需求旺盛, 供不应求的香饽饽.
举个例子, 根据 indeed.com 抓取的数千家网站的职位显示: 目前前端的热门岗位 --「html5」是需求增长最快的开发岗位, 在所有开发职位中排名第一, MongoDB 和 iOS 紧随其后位列第二, 第三.
目前, HTML5 可以说是最热门的前端岗位了, 在 2010 年和 2014 年底有两次爆发性增长, 现在在美国的岗位需求甚至超过了 iOS.
但是, 市场上优秀的前端工程师却相对较少, 全世界范围看都是个难题.
原因一: 前端相对来说是一个新领域, 当今的 web 需要更多的工程师
可能很多人认为前端开发和 Web 开发类似, 而 Web 开发已经有 20 多年的历史, 所以前端并不是一个新领域. 然而, 前端工程师的概念中的「接口技术实现和用户体验作为一个专业的工作领域」, 却无疑是很新的. 大概几年前, 前端开发的技术增长迅猛, 如下图所示:
过去几年前端工程师的可视化增长趋势 by Google Trends
15 年或更久以前, Web 的可视化设计和技术实现所需要的资源是平均分配的. 随着网站的发展 - 网站不仅是一个登录页面, 工程资源的需求越来越明显. 人们开始专门学习网站专用的 JavaScript, 后端技术, UX, 数据库, 甚至系统设计.
今天, 一个像 Airbnb,Facebook,Quora 的 Web 应用程序, 投入的工程资源比设计资源多得多. 换句话说, 如今, 做出网页的视觉设计比技术实现要更快, 所以当今的市场需要更多的工程师.
现在, 一位合格的前端工程师, 必须对视觉设计有兴趣.
很显然, 要处理大量的 Web 应用程序需求, 技术任务就要进行分类, 以便于多人同时处理网站请求. 事实上现在已经不可能一个人快速地解决所有的技术细节了.
现在还有一类人是独自处理一个 Web 应用程序的所有问题, 即「全栈工程师」, 但是优秀的全栈工程师同样如大熊猫一般数量稀少.
现在, 一个创业公司想要成功, 几乎要覆盖一个 Web 应用程序的诸多技术方面: 前端, 后台, DBA, 运营等. 虽然已经有一些服务可以让企业购买登陆页面的前端模块和组件; 但是如果你想要创造一些真正的 Web 应用程序, 除了求助前端工程师, 别无他法, 就像你要创立一个品牌你也绕不开请一位设计师一样.
原因二: 对前端, 普遍存在巨大的误解, 其实前端一点也不简单
大多人都认为前端开发是一个「相对于其他模块来说更简单的领域」, 在他们心中的前端工程师是这样工作的:
1, 把 Photoshop 文件, 图片或者线框放进一个网页;
2, 偶尔设计 Photoshop 文件, 图片或者线框;
3, 用 JavaScript 编程, 为网页制作动画, 过渡效果;
4, 用 HTML 和 CSS 编程, 确定网页的内容和布局.
事实上, 前端工程师在做的是:
1, 在设计师和工程师之间实现可视化的语言;
2, 用可视化的设计, 定义一组代表内容, 品牌和功能的组件;
3, 为 Web 应用程序的会话, 框架, 需求, 可视化的语言和规格设定底线;
4, 定义 Web 应用程序的设备, 浏览器, 屏幕, 动画的范围;
5, 开发一个质量保证指南来确保品牌忠诚度, 代码质量, 产品标准;
6, 为 Web 应用程序设定适当的行距, 字体, 标题, 图标, 填充等等;
7, 为 Web 应用程序设定多种分辨率的图像, 设备为主的实体模型, 同时维护设计指南;
8, 标记 Web 应用程序, 使之语义化, seo 友好;
9, 用一种友好的, 耗电少的, 设备和客户端感知的方式连接 API, 获取信息;
10, 开发客户端代码来显示流畅的动画, 过渡, 延迟加载, 交互, 应用工作流程, 大多数时间用来考虑渐进增强和向后兼容的标准;
11, 保证后台连接安全, 采取跨域资源共享 (CORS) 的程序考虑, 防止跨站点脚本 (XSS) 和跨站请求伪造 (CSRF) ;
12, 最重要的是, 尽管有严格的期限, 利益相关者的要求, 以及设备的限制, 无论现在还是将来永远是「客户第一」.
为了实现上述目标, 前端工程师采用了从可视化到编程的多种工具 , 甚至有时要照顾市场, UX 到内容改进等等.
原因三: 大量糟糕前端工程师的存在, 扰乱了市场
这或许是难以招到优秀前端工程师最明显的原因. 由于前端工程师的入门门槛非常低, JavaScript,CSS,HTML 并不是很难入门掌握的语言, 似乎只要花一点时间, 谁都可以通过网上教程和书本学会它. 对的, 前端工程师市场就是被这些浅尝辄止的家伙搞坏的.
糟糕的前端工程师是这样做事的:
1, 滥用 JavaScript 库, 因为他们实际上并不了 JavaScript 的核心 (e.g. 一切都用 jQuery);
2, 滥用 JavaScript 插件, 无节制的复用别人的代码, 哪怕自己根本读不懂;
3, 不看需求, 设计, 也不做比较或评价, 就给 Web 应用程序添加 CSS 框架, 却只用到框架的一小部分;
4, 认为只要用了 CSS 框架, 网站就是响应式的, 或是对响应式设计的意义理解不到位;
5, 一边在说着「响应式 Web 设计」, 却对服务器端解决方案技术一无所知;
6, 用 CSS 编程时不做预处理器, 命名规范等;
7, 忽视性能, 内存泄露 (并不理解内存泄露的真正含义), 不会检测代码;
8, 不会用指标衡量一个产品, 或者这种指标旨在自己的电脑, 浏览器, 设备有效;
9, 忽视 30 年来的软件工程技术, 闭门造车.
要知道, 入门容易精通难, 计算机和软件的基础对你用 JavaScript 或浏览器编程都非常重要. Web 可能是最有影响力的平台和环境之一, 在那里执行的程序必须被小心对待. 一位优秀的前端工程师不仅要考虑 Web 技术和语言, 并且还要了解所有不同的组件, 系统和概念.
以下是优秀的前端工程师在即时面对普通的任务也会做的事情 (这才是市场急需的前端):
1,DNS 解析, 使用 CDN, 把资源请求分散到多个域名上去;
2, 理解 HTTP Headers (Expires,Cache-Control,If-Modified-Since)
3,Steve Souders 的所有高性能网页优化规则 (参考: High Performance Websites 一书)
4, 如何解决 PageSpeed,YSlow,Chrome Dev Tools Audit,Chrome Dev Tools Timeline 等工具列出的所有问题;
5, 何时把任务传到服务器, 何时适合传到客户端;
6, 缓存, 预取和延迟加载技术的使用;
7, 原生 JavaScript, 知道何时从头开始做, 何时参考别人的代码, 同时可以评估这样做的优缺点;
8, 最新的 MVC JavaScript 库知识以及用法;
9,CSS 标准的知识与用法;
10,JavaScript 的计算机科学部分的知识 (内存管理, 垃圾收集算法等等等等)
换句话说, 如果说掌握 (或者某些简历里自称的精通) HTML+CSS+JavaScript, 了解后端知识, 只是 60 分的合格前端; 那么要想成为受追捧, 拿高薪的 80 分优秀前端, 要对业务需求和, 架构设计有真正的运用; 而 100 分的顶级前端, 则必须要能够兼顾技术和设计, 更接近「以前端开发为主的全栈工程师」了.
100offer 说: 市场不是缺少前端, 而是缺少优秀的前端工程师
现在, 前端工程师终于前所未有的在 Web 中占有了一席之地. 随着多设备, 浏览器和 Web 标准的演变革命, 前端正在成为兼顾逻辑, 性能, 交互, 体验的综合性岗位.
虽然现在互联网行业普遍缺少前端工程师, 但是我们相信越来越多的人将会加入前端的大军. 不仅是因为大多数前端工作提供的优渥薪水和办公环境, 也是因为 Web 中的前端编程变得越来越有挑战和意义.
最后, 分享一组 3/4 月的 100offer 拍卖数据:
前端工程师人均收获 8.2 个面试机会, 已入职的前端工程师平均薪资涨幅达 39%. 其中, 前端 Offer 之王共收获 47 个 offer, 最高 offer 薪水 38k*16 , 某电商公司开出的.
加油吧, 前端.
最后说一下的, 也就是以上教程的获取方式!
领取方法:
还是以往不变的老规矩!
1. 评论文章, 没字数限制, 一个字都行! 然后转发出去!
2. 关注小编, 成为小编的粉丝!
3. 加老师微信回复:"前端教程" 即可!
来源: http://www.jianshu.com/p/ba067da300fc