1. 初级前端工程师。这个阶段的工程师,从业经验大概在0-2年内,月薪基本在4-6千内。
2.中级前端工程师。中级工程师一般有3-5年从业经验,基本上能够独立完成项目,月薪也会相对稳定,基本在7-9千上下。
3.高级前端工程师。对于高级前端工程师也说,他们至少有3-8年的行业经验,月薪也非常可观,基本在一万以上。不过,整个行业内的资深前端工程师都是十分稀缺的。目前,前端行业的丰厚报酬也吸引了越来越多的人才,技术在进步,要想不被淘汰,在前端工程师的道路就不能停止学习。
前端开发的工作职责:
1、使用Div+css并结合Javascript负责产品的前端开发和页面制作。
2、熟悉W3C标准和各主流浏览器在前端开发中的差异,能熟练运用DIV+CSS,提供针对不同浏览器的前端页面解决方案。移动HTML5的性能和其他优化,为用户呈现最好的界面交互体验和最好的性能。
3、负责相关产品的需求以及前端程序的实现,提供合理的前端架构。改进和优化开发工具、开发流程、和开发框架。
4、与产品、后台开发人员保持良好沟通,能快速理解、消化各方需求,并落实为具体的开发工作;能独立完成功能页面的设计与代码编写,配合产品团队完成功能页面的需求调研和分析。
5、了解服务器端的相关工作,在交互体验、产品设计等方面有自己的见解。
各大互联网公司对前端技术人才的需求缺口依然很大,然而公司招不到人和学生找不到工作的矛盾却更加突出,这一切都与前端技术的飞速发展息息相关,公司对前端人才的开发经验要求、技术要求逐渐提高。那么企业到底需要什么样的人才呢?请看下文详细分析。
一、IT互联网招聘需求是什么?
大家先来看看各大互联网招聘网站上面的招聘需求(以杭州阿里网易例):
1、像上面的招聘信息,具体信息里面写明了工作经验要求,你或许遇到过很多这样的例子,为什么会这样呢?
2、技能要求:移动端、框架(vue/react/angular其中之一)、了解一门后台语言,这似乎是大部分企业招聘需求必写的,同时也是大部分学员的短板,又或者自己感觉自己这些都学过,但是也一样找不到工作,到底企业要的是什么呢?
3、到底原生js重要还是框架重要?在后面的段落中将一一为你解开困惑!!
二、没学历没经验的偶如何找到一份满意的工作?
诸如上面的问题,相信很多初学者都会有这样的疑惑。那么,没有学历的偶能否找到工作呢?学历真的不重要吗?企业都需要有工作经验的,而偶还没工作过怎么找工作呢?
首先,大家来思考一个问题:公司为什么要招聘人,公司到底需要什么样的人?
大家先来看一个误区,很多的应届生有这样的想法:偶先找个实习机会,哪怕不给偶薪资都可以,然后边工作边学习(公司都会培养)。那么公司会不会培养新人呢?
第一:小公司招人主要是为了解决当前的项目问题;
第二:大公司招应届生是为了储备人才,招有经验的是为了帮助团队解决问题、盈利,招实习生是响应政府的号召,透露个小秘密(偶当年那会招聘一个大学生免税3.5万呢)。
那么,你适合进哪种公司呢?为什么会有学历经验的限制呢?
第一:有很多人说前端饱和了,但是有哪个行业缺人呢?为什么公司又招不到人呢?因为缺的是真正有技术的人,不管是哪个行业,特别是之后前端的飞速发展,还有铺天盖地的培训机构大肆吹嘘,很多的人选择学习前端(入门门槛低),所以造成初级的前端很多,竞争压力很大;
第二:公司虽然经常很难招到合适的人,但是也不缺投递简历的人,北上广深一线城市基本一个岗位能收到200-500份简历左右
那么要从这么多人中筛选出一个人,面试成本得有多高??而这还是在招聘需求提高的前提下,如果没有学历、经验的限制,是不是会收到成千上万的简历呢??因为这个招聘需求会筛选了很多人,从而减少了招聘成本而且能招的真正有技术的人。这也就是上面提出的第一个问题的答案,外面没有写学历、经验限制或许是为了提高点击查看率,而必须得招有技术的人,里面有把具体招聘需求加上了。
那么没有学历没有经验的偶如何找工作呢?
学历到底重不重要?学历代表了什么?什么是经验?
如果是工作了的同学就应该有深刻体会,就是大学学的东西很散很广而且很基础,到了公司很多东西压根用不到,不管你是专科还是本科毕业,进了公司就是一张白纸,都得从零开始,而大公司招应届生也就是因为应届生是一张白纸可以按照自己想要的结果来培养,但是每年接近1000万多的应届毕业生,招谁呢?有学历高的肯定是招学历高的啊,虽然高学历也是白纸,但是高学历能代表这个人学习能力强或者学习态度很OK,公司肯定愿意培养这样的人,所以学历还是蛮重要的。但是就能否胜任工作来说和学历就没关了,看个例子:
那是不是有学历就行了呢?答案是本科生一样很难找工作,因为哪里都不缺人,缺的是有技术经验的人。
那什么是工作经验呢?要明确工作经验不是你工作了几年就有几年的经验,你这几年都在打酱油,都在混日子,这样就算你工作五年还不如别人一年的经验,所以真正的工作经验不是你确实工作了几年而是你做了多少项目,有多少项目经验。所以没有学历怎么办,没有经验怎么办?那就突出你的项目经验,突出你的技能,很多人会觉得是不是可以靠吹牛逼呢,偶想说牛逼是要吹的,但是更重要的是要能证明自己吹的牛逼是真正的牛逼,如果证明不了那你就是在吹牛逼,到头来你会很惨(普遍是这样)。
但是问题又来了,很多人会说偶也有项目啊,偶也拿着项目去了啊,但是还是很难找工作。那么什么是项目经验呢?要做什么样的项目才行呢?是不是项目做的多就代表偶有项目经验呢?
大家继续思考:
第一、开发一个项目真的很难吗?(一万个人有一万种写法,谁的更好呢)
第二、你真的了解企业标准、企业开发流程、企业需求吗?(如果你写的项目都不是企业所需要的,那么怎么能称之为有项目经验呢)
第三、怎么证明自己真的有技术呢?
综上:不管有没有学历、经验都必须拿着项目去找,而且你的项目还必须得是企业需要的,符合企业标准的,能够证明你确实有技术的!
可是什么样的项目符合这个标准呢?下面列举了几个
1、符合大企业开发标准(不懂可以百度bat公司标准)
2、多终端兼容PC+移动端项目,而且有上线的项目
3、前后台分离数据交互处理业务模型
4、个人技术博客(记录自己的学习历程或者技术总结、技术分享,能够让人看到你学了哪些东西,掌握情况以证明你确实有技术)
5、代码性能优化、网站加载性能优化
6、熟练掌握原生js并能够自己开发常用组件、插件为团队提供问题解决方案
那么上面的这些具体是啥,如何达到呢?请看下面的分析。
三、初级前端工程师的命运何去何从?
相信大家经常会见到这样的言论:IT男很难找女朋友,IT行业天天加班,IT都是吃青春饭。
大家再来思考几个问题:公司里面到底什么样的人才能拿高薪?什么样的人吃青春饭?原生js重要还是可以速成学习当下最火热的框架就行?
在公司里面技术岗能拿高薪的人一定是有一技之长的人,直白点就是当项目遇到了问题,团队里面只有你能解决这个问题,那你就是那个能拿高薪的人;或者你能够为团队提供解决方案,什么是解决方案呢?比如jquery插件库很庞大,大家在自己的一个小项目中最多用到了它10%左右的功能,但是引入了这么庞大的一个库,如果大家能自己封装一个只适合自己当前项目的小库呢?这就是提供解决方案,而不是能开发项目的人,3000薪资的人能写项目,2万、3万月薪的也能开发,差别在哪呢?再直接点:IT行业写代码的人都是最底层的人员,俗称码农。每个大公司都有自己团队研发的很多自己的功能库、框架,只是没有开源出来而已。而只有这样的人慢慢的才能走上管理岗位(技术总监,技术主管,首席技术官,首席架构师等)而不再吃青春饭,因为当你成家有孩子老人要养的时候你不可能天天加班熬夜赶项目了,而这个时候你的学习能力,精力都会大大下降,你就会跟不上互联网发展的速度,从而逐渐被淘汰。30几岁、40岁的时候不得不考虑转行。
大家再来探讨一下原生js重要还是可以速成学习当下最火热的框架就行?框架是什么东西?为什么需要用框架?
来看个知乎上面的面试例子:
要清楚框架都是用原生js封装出来的,用来解决一类项目问题,提供开发效率等。但是框架不是万能的,也不能解决所有的项目问题,所以随着互联网的发展,项目需求的提高,就会源源不断的出来新框架、新技术以解决当下的项目需求问题。综上,如果你选择走捷径,只想快速的学个框架技术然后找个工作,那么你就会吃青春饭,因为每个新技术出来你学习起来都会很吃力。但是如果你把原生js基础打捞,设计模式学好,最终达到你自己都能封装插件、封装框架的高度,再来学习别人的框架,看别人的源码是不是很简单了呢?虽然大家不需要重复的造轮子,但是必须得知道造轮子的方法,或者为公司创造自己的轮子。
再想象这样一个场景,大家去面试的时候能够拿着自己封装的插件库或者框架去面试,那面试官还会怀疑你的技术么?就算学历低又有多大影响呢?而现在缺的恰好就是这样的人。再来看个活生生的例子,H5都没学的孩子:
或许你也觉得看到了未来,不过更大的问题来了,怎么样才算学好了呢?如何才能达到这样的高度呢?请看下文详细分享。
一、前端工程师之路
这里大家来探讨一下学习方法。
很多人推荐初学者看W3C、推荐看书,也有很多人确实也是这么学的。但是偶想问问大伙,你们知不知道这些推荐的人当年学习了多久,当年的前端是什么现状?而现在的前端已经脱离了茹毛饮血、刀耕火种的原始社会,开始步入了工业时代,工程化、模块化、组件化、全栈化的四个现代化已然来临。所以如果你的学习速度跟不上互联网的发展速度,那么偶的建议是不要来纠结互联网了,因为你永远在拉后腿,永远不可能拿高薪。
是不是看W3C、看书就不好呢?不是的,是因为W3C上面的内容很基础,而且很多过时的,而真正的企业项目开发大有不同,其实他就像一个新华字典,只是当大家哪个知识点不清晰了去查阅一下,而不是作为学习的工具,你会浪费大量的时间去学习一些无用的东西。而看书呢,很多看过书的人就应该清楚,特别是js(比如传说中的红皮书、权威指南等),如果一个初学者去看它,你会发现你越看越迷茫,即使你看到第十章你也还不清楚js到底能做啥,到底怎么用,更写不出一个具体的案例。因为这些书本都是技术大牛对知识点尽可能详细系统的罗列,而忽略了初学者如何才能快速上手。这也就是很多人觉得js很头疼,觉得自己看代码也都看得懂,对每个知识点也都知道,就是自己没思路,写不出东西的原因。这些东西和大学的很多教学模式一样,都是很基础而且脱离实际项目运用的纯理论知识。那到底该不该看书呢?肯定该看。当你有一定的思维,能够熟练的写一些特效案例,或者能自己独立写个简单的游戏(打飞机、推箱子等)的时候再去看书,你会发现事半功倍,看啥都懂,而且能够立马运用,这就是补充基础的时候了。
那到底应该如何学习呢?
当然是知识点结合案例学习,就是学习了这个知识点就能够写出一个相应的案例
这就叫学以致用,这样子经过大量的案例练习、熏陶才能把基础打扎实,打开逻辑思维,最终也才能达到上面所说的能够开发插件、框架的高度。记住三尺之冰绝非一日之寒,千万不要想着速成,不然你会很惨。而当你原生js达到这样的高度的时候,你会发现那四个现代化也只是最简单的运用而已了,但是如果你达不到这样的高度,你就很难理解其中的奥秘,而很苦恼于前端永无止境,学不到头。
再谈到之后非常火爆的HTML5也是一样,很多人觉得自己H5会了,就是js不行,其实他连HTML5真正重要的东西都不知道,H5离开了原生js就不叫H5了,更没有任何的优势了,比如绘图、多媒体、流媒体、地理信息等等完全依赖于js,再比如H5开发webApp需要涉及到的与设备的底层交互如下这些:
都是H5新增的很强大的接口,都离不开原生js。
讲了这么多希望诸君能够抓住重点,学历只是敲门砖,企业看中的还是能力,提供学习效率,拥有学习能力,做一个能在这个行业有所成就的人,而不是混个工作而已,对于高手来说是事业而不是工作!