也不记得从什么时候开始,我比较明显的感觉出来大概是在2014年吧,前端工程师极度短缺,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,上市公司乃至巨头,这个问题也一样存在。
记得2014年下半年有一天,我一天时间接到了百度一个公司13个部门的面试电话,当时一度让我很困扰。当然还有其他公司的,诸如360,金山等等。同时几乎一天没有断过各个公司猎头的电话,都是推荐前端开发职位的,待遇还都不错。同时我认识很多做hr的朋友,也真是不少跟我抱怨招聘前端开发工程师有多难之类的话,经常被苦口婆心的劝说让我跳槽,或者让我帮忙推荐身边优秀的前端开发工程师,我真的是不得不说,身边优秀的能推的都早就没有了。
不仅仅中国互联网界是如此,放眼全球,这个现象依然存在。在国外,前端工程师一样是需求旺盛、供不应求的香饽饽。我看过很多公司的招聘信息,以及各大招聘网站的招聘需求,结果显示:目前前端的热门岗位——「HTML5」是需求增长最快的开发岗位,在所有开发职位中排名第一,MongoDB和iOS紧随其后位列第二、第三。可见,HTML5可以说是最热门的前端岗位了,在2010年和2014年底有两次爆发性增长,现在在美国的岗位需求甚至超过了iOS。
所以市场上优秀的前端工程师相对较缺少,是一个世界性难题。优秀的前端工程师简直比大熊猫还稀少。
那造成优秀前端工程师稀少的原因有哪些呢?跟我一起来看看吧。
一:前端相对来说是一个新领域,当今的web需求要求更多的工程师供应
可能很多人认为前端开发和web开发类似,而web开发大概已经有20多年的历史,所以前端并不是一个新领域。然而,前端工程师的概念中的「接口技术实现和用户体验作为一个专业的工作领域」,却无疑是很新的。15年或更久以前,web的可视化设计和技术实现所需要的资源是平均分配的。随着网站的发展,网站不再仅仅是一个登录页面,工程资源的需求越来越明显。人们开始专门学习网站专用的JS、后端技术、UX、数据库,甚至系统设计。
今天,一个像淘宝这样的Web应用程序,投入的工程资源比设计资源多得多。换句话说,如今,做出网页的视觉设计比技术实现要更快,所以当今的web需求要求更多的工程师供应。
现在,一位合格的前端工程师,必须对视觉设计有兴趣(或者乐于做一个受虐狂),因为前端是离用户最近的一块儿,前端需要满足用户对美感的需求和对和谐的用户体验的要求。很显然,要处理大量的Web应用程序需求,技术任务就要进行分类,以便于多人同时处理网站请求。事实上现在已经不可能一个人快速地解决所有的技术细节了,除非对质量毫无要求,只要能用就行,显然,在这个竞争激烈的社会,这样的产品最终的结局就是被淘汰。
现在还有一类人是独自处理一个Web应用程序的所有问题,即「全栈工程师」,但是优秀的全栈工程师同样如大熊猫一般数量稀少。同时一个人的精力是有限的,思维也会有一定的局限,所以其实我更赞成术业有专攻这个观点。猛虎架不住群狼,三个臭皮匠也顶一个诸葛亮,一个人的智慧毕竟是有限的。
现在,一个创业公司想要成功,几乎要覆盖一个Web应用程序的诸多技术方面:前端、后台、DBA、运营等。虽然已经有一些服务可以让企业购买登陆页面的前端模块和组件;但是如果你想要创造一些真正的Web应用程序,除了求助前端工程师,别无他法,就像你要创立一个品牌你也必须得请一位优秀的设计师一样。
二:对前端,普遍存在巨大的误解,其实前端一点也不简单
很多人都认为前端开发是一个「相对于其他模块来说更简单的领域」,尤其是后端同胞们可能会看不上眼前端;
在他们心中的前端工程师做的是这些:
1、把Photoshop文件、图片或者线框做成一个页面;
2、偶尔设计Photoshop文件、图片或者线框;
3、用HTML和CSS编程,实现网页的内容和形式;
4、用JS实现动画、过渡效果。
事实上,前端工程师做的是这些:
1、在设计师和后端开发工程师直接充当桥梁,将设计稿转化成页面;
2、根据设计稿进行前端模块化设计、开发;
3、基于产品文档和整个产品的特点选择合适的框架,开发响应的组建;
4、根据设备、浏览器、屏幕、动画来划分web应用的工作划分;
5、保证代码质量、产品标准;
6、调节Web应用程序的样式,包括间距、字体、标题、图标、布局等等;
7、根据不同分辨率、横屏竖屏等,调节Web应用程序的样式;
8、标记 Web 应用程序,使之语义化,SEO 友好;
9、开发客户端要考虑动画的流畅、延迟加载、交互、应用工作流程,大多数时间用来考虑渐进增强和向后兼容的标准;
10、最重要的是,尽管有严格的期限、利益相关者的要求,以及设备的限制,无论现在还是将来永远是用户第一。
为了实现上述目标,前端工程师采用了从可视化到编程的多种工具 ,甚至有时要照顾市场、 UX 到内容tweakes等等。
三:大量糟糕前端工程师的存在,扰乱了市场
前端开发工程师们良莠不齐,这或许是难以招到优秀前端工程师最主要的原因。由于前端工程师的入门门槛非常低,HTML、CSS、JS并不是很难入门掌握的语言,似乎只要花一点时间,谁都可以通过网上教程和书本学会它。对的,前端工程师市场就是被这些浅尝辄止的家伙搞坏的。
糟糕的前端工程师是这样做事的:
1、滥用 JavaScript 库,因为他们实际上并不了 JavaScript 的核心(e.g. 一切都用 jQuery);
2、滥用 JavaScript 插件,无节制的复用别人的代码,哪怕自己根本读不懂;
3、不看需求、设计,也不做比较或评价,就给 Web 应用程序添加 CSS 框架,却只用到框架的一小部分;
4、认为只要用了 CSS 框架,网站就是响应式的,或是对响应式设计的意义理解不到位;
5、一边在说着「响应式 Web 设计」,却对服务器端解决方案技术一无所知;
6、用 CSS 编程时不做预处理器、命名规范等;
7、忽视性能、内存泄露(并不理解内存泄露的真正含义),不会检测代码;
8、忽视行业技术的发展,不愿接受新鲜事物,闭门造车。
要知道,入门容易精通难,计算机和软件的基础对你用JS或浏览器编程都非常重要。web可能是最有影响力的平台和环境之一,在那里执行的程序必须被小心对待。一位优秀的前端工程师不仅要考虑web技术和语言,并且还要了解所有不同的组件、系统和概念。
优秀的前端工程师做的事:
1、注重网页性能优化;
2、如何解决 PageSpeed、YSlow、Chrome Dev Tools Audit、Chrome Dev Tools Timeline 等工具列出的所有问题;
3、何时把任务传到服务器,何时适合传到客户端;
4、缓存,预取和延迟加载技术的使用;
5、 最新的 MVC Javascript 库知识以及用法;
6、CSS 标准的知识与用法;
7、JavaScript的计算机科学部分的知识(内存管理,垃圾收集算法等等);
8、关注行业新兴技术,于是俱进,乐于分享,不闭门造车;
合格前端:
精通HTML+CSS+JS,了解后端知识
优秀前端:
要对业务需求和、架构设计有真正的运用
顶级前端:
能够兼顾技术和设计,更接近「以前端开发为主的全栈工程师」了
市场不是缺少前端,而是缺少优秀的前端工程师
现在,前端工程师终于前所未有的在web中占有了一席之地。随着多设备、浏览器和Web标准的演变革命,前端正在成为兼顾逻辑、性能、交互、体验的综合性岗位。
虽然现在互联网行业普遍缺少前端工程师,但是我们相信越来越多的人将会加入前端的大军。不仅是因为大多数前端工作提供的优渥薪水和办公环境,也是因为web中的前端编程变得越来越有挑战和意义。
最后分享一组从offer100看到的数据,鼓励鼓励前端工程师们:
1、前端工程师人均收获8.2个面试机会;
2、已入职的前端工程师平均薪资涨幅达39%;
3、前端offer之王共收获47个offer,最高offer薪水38k*16 ,开自某土豪电商。
怎么样,看完有没有激动一下下?专注做一个顶级前端工程师,我们有一天也能升职加薪,出任CEO,迎娶白富美,走上人生巅峰。哇,想想都好激动有木有!努力吧,前端君。
今天就聊这么多,我是年轻大叔-王学兵,我在前端,你在哪里?
网友评论