如果你正在学前端,请谨记10年老程序员这3条忠告,看完我懵逼了

点击上方蓝色字体【学习web前端】可【快速关注

640?wx_fmt=jpeg

【讲座】大咖说-前端大型免费公开讲座

【教程】精品教程在这里


2018年各大互联网公司对前端技术人才的需求缺口依然很大,然而公司招不到人和学生找不到工作的矛盾却更加突出,这一切都与前端技术的飞速发展息息相关,公司对前端人才的开发经验要求、技术要求逐渐提高。那么企业到底需要什么样的人才呢?请看下文详细分析(笔者用通俗易懂的直白语句做了详细的分析)。

一、2018年IT互联网招聘需求是什么?

我们先来看看各大互联网招聘网站上面的招聘需求(以北上广为例):

640?wx_fmt=jpeg

1、像上面的招聘信息,外面并没有写工作经验和学历要求,但是具体信息里面却写明了学历及工作经验要求,你或许遇到过很多这样的例子,为什么会这样呢?

2、技能要求:移动端、框架(vue/react/angular其中之一)、了解一门后台语言,这似乎是大部分企业招聘需求必写的,同时也是大部分学员的短板,又或者自己感觉自己这些都学过,但是也一样找不到工作,到底企业要的是什么呢?

扫描二维码关注公众号,回复: 2139646 查看本文章

3、到底原生js重要还是框架重要?在后面的段落中将一一为你解开困惑!!

二、没学历没经验的我如何找到一份满意的工作?

诸如上面的问题,相信很多初学者都会有这样的疑惑。那么,没有学历的我能否找到工作呢?学历真的不重要吗?企业都需要有工作经验的,而我还没工作过怎么找工作呢?

首先,我们来思考一个问题:公司为什么要招聘人,公司到底需要什么样的人?

我们先来看一个误区,很多的应届生有这样的想法:我先找个实习机会,哪怕不给我薪资都可以,然后边工作边学习(公司都会培养)。那么公司会不会培养新人呢?

第一:小公司招人主要是为了解决当前的项目问题;

第二:大公司招应届生是为了储备人才,招有经验的是为了帮助团队解决问题、盈利,招实习生是响应政府的号召,透露个小秘密(我当年那会招聘一个大学生免税3.5万呢)。

那么,你适合进哪种公司呢?为什么会有学历经验的限制呢?

第一:有很多人说前端饱和了,但是有哪个行业缺人呢?为什么公司又招不到人呢?因为缺的是真正有技术的人,不管是哪个行业,特别是2015年之后前端的飞速发展,还有铺天盖地的培训机构大肆吹嘘,很多的人选择学习前端(入门门槛低),所以造成初级的前端很多,竞争压力很大;

第二:公司虽然经常很难招到合适的人,但是也不缺投递简历的人,北上广深一线城市基本一个岗位能收到200-500份简历左右:

640?wx_fmt=jpeg

那么要从这么多人中筛选出一个人,面试成本得有多高??而这还是在招聘需求提高的前提下,如果没有学历、经验的限制,是不是会收到成千上万的简历呢??因为这个招聘需求会筛选了很多人,从而减少了招聘成本而且能招的真正有技术的人。这也就是上面提出的第一个问题的答案,外面没有写学历、经验限制或许是为了提高点击查看率,而必须得招有技术的人,里面有把具体招聘需求加上了。

那么没有学历没有经验的我如何找工作呢?

我们再来思考三个问题:学历到底重不重要?学历代表了什么?什么是经验?

如果是工作了的同学就应该有深刻体会,就是大学学的东西很散很广而且很基础,到了公司很多东西压根用不到,不管你是专科还是本科毕业,进了公司就是一张白纸,都得从零开始,而大公司招应届生也就是因为应届生是一张白纸可以按照自己想要的结果来培养,但是2017年795万多的应届毕业生,招谁呢?有学历高的肯定是招学历高的啊,虽然高学历也是白纸,但是高学历能代表这个人学习能力强或者学习态度很OK,公司肯定愿意培养这样的人,所以学历还是蛮重要的。但是就能否胜任工作来说和学历就没关了,看个例子:

那是不是有学历就行了呢?答案是本科生一样很难找工作,因为哪里都不缺人,缺的是有技术经验的人。

那什么是工作经验呢?要明确工作经验不是你工作了几年就有几年的经验,你这几年都在打酱油,都在混日子,这样就算你工作五年还不如别人一年的经验,所以真正的工作经验不是你确实工作了几年而是你做了多少项目,有多少项目经验。所以没有学历怎么办,没有经验怎么办?那就突出你的项目经验,突出你的技能,很多人会觉得是不是可以靠吹牛逼呢,我想说牛逼是要吹的,但是更重要的是要能证明自己吹的牛逼是真正的牛逼,如果证明不了那你就是在吹牛逼,到头来你会很惨(普遍是这样)。

但是问题又来了,很多人会说我也有项目啊,我也拿着项目去了啊,但是还是很难找工作。那么什么是项目经验呢?要做什么样的项目才行呢?是不是项目做的多就代表我有项目经验呢?

我们继续思考:

第一、开发一个项目真的很难吗?(一万个人有一万种写法,谁的更好呢)

第二、你真的了解企业标准、企业开发流程、企业需求吗?(如果你写的项目都不是企业所需要的,那么怎么能称之为有项目经验呢)

第三、怎么证明自己真的有技术呢?

综上:不管有没有学历、经验都必须拿着项目去找,而且你的项目还必须得是企业需要的,符合企业标准的,能够证明你确实有技术的!

可是什么样的项目符合这个标准呢?下面列举了几个

1、符合大企业开发标准(不懂可以百度bat公司标准)

2、多终端兼容PC+移动端项目,而且有上线的项目

3、前后台分离数据交互处理业务模型

4、个人技术博客(记录自己的学习历程或者技术总结、技术分享,能够让人看到你学了哪些东西,掌握情况以证明你确实有技术)

5、代码性能优化、网站加载性能优化

6、熟练掌握原生js并能够自己开发常用组件、插件为团队提供问题解决方案

那么上面的这些具体是啥,如何达到呢?请看下面的分析。

三、初级前端工程师的命运何去何从?

相信大家经常会见到这样的言论:IT男很难找女朋友,IT行业天天加班,IT都是吃青春饭。

我们再来思考几个问题:公司里面到底什么样的人才能拿高薪?什么样的人吃青春饭?原生js重要还是可以速成学习当下最火热的框架就行?

在公司里面技术岗能拿高薪的人一定是有一技之长的人,直白点就是当项目遇到了问题,团队里面只有你能解决这个问题,那你就是那个能拿高薪的人;或者你能够为团队提供解决方案,什么是解决方案呢?比如jquery插件库很庞大,我们在自己的一个小项目中最多用到了它10%左右的功能,但是引入了这么庞大的一个库,如果我们能自己封装一个只适合自己当前项目的小库呢?这就是提供解决方案,而不是能开发项目的人,3000薪资的人能写项目,2万、3万月薪的也能开发,差别在哪呢?再直接点:IT行业写代码的人都是最底层的人员,俗称码农。每个大公司都有自己团队研发的很多自己的功能库、框架,只是没有开源出来而已。而只有这样的人慢慢的才能走上管理岗位(技术总监,技术主管,首席技术官,首席架构师等)而不再吃青春饭,因为当你成家有孩子老人要养的时候你不可能天天加班熬夜赶项目了,而这个时候你的学习能力,精力都会大大下降,你就会跟不上互联网发展的速度,从而逐渐被淘汰。30几岁、40岁的时候不得不考虑转行。

我们再来探讨一下原生js重要还是可以速成学习当下最火热的框架就行?框架是什么东西?为什么需要用框架?

来看个知乎上面的面试例子:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

要清楚框架都是用原生js封装出来的,用来解决一类项目问题,提供开发效率等。但是框架不是万能的,也不能解决所有的项目问题,所以随着互联网的发展,项目需求的提高,就会源源不断的出来新框架、新技术以解决当下的项目需求问题。综上,如果你选择走捷径,只想快速的学个框架技术然后找个工作,那么你就会吃青春饭,因为每个新技术出来你学习起来都会很吃力。但是如果你把原生js基础打捞,设计模式学好,最终达到你自己都能封装插件、封装框架的高度,再来学习别人的框架,看别人的源码是不是很简单了呢?虽然我们不需要重复的造轮子,但是必须得知道造轮子的方法,或者为公司创造自己的轮子。

再想象这样一个场景,我们去面试的时候能够拿着自己封装的插件库或者框架去面试,那面试官还会怀疑你的技术么?就算学历低又有多大影响呢?而现在缺的恰好就是这样的人。

一、前端工程师之路

这里我们来探讨一下学习方法。

很多人推荐初学者看W3C、推荐看书,也有很多人确实也是这么学的。但是我想问问大伙,你们知不知道这些推荐的人当年学习了多久,当年的前端是什么现状?而现在的前端已经脱离了茹毛饮血、刀耕火种的原始社会,开始步入了工业时代,工程化、模块化、组件化、全栈化的四个现代化已然来临。所以如果你的学习速度跟不上互联网的发展速度,那么我的建议是不要来纠结互联网了,因为你永远在拉后腿,永远不可能拿高薪。

是不是看W3C、看书就不好呢?不是的,是因为W3C上面的内容很基础,而且很多过时的,而真正的企业项目开发大有不同,其实他就像一个新华字典,只是当我们哪个知识点不清晰了去查阅一下,而不是作为学习的工具,你会浪费大量的时间去学习一些无用的东西。而看书呢,很多看过书的人就应该清楚,特别是js(比如传说中的红皮书、权威指南等),如果一个初学者去看它,你会发现你越看越迷茫,即使你看到第十章你也还不清楚js到底能做啥,到底怎么用,更写不出一个具体的案例。因为这些书本都是技术大牛对知识点尽可能详细系统的罗列,而忽略了初学者如何才能快速上手。这也就是很多人觉得js很头疼,觉得自己看代码也都看得懂,对每个知识点也都知道,就是自己没思路,写不出东西的原因。这些东西和大学的很多教学模式一样,都是很基础而且脱离实际项目运用的纯理论知识。那到底该不该看书呢?肯定该看。当你有一定的思维,能够熟练的写一些特效案例,或者能自己独立写个简单的游戏(打飞机、推箱子等)的时候再去看书,你会发现事半功倍,看啥都懂,而且能够立马运用,这就是补充基础的时候了。

那到底应该如何学习呢?

640?wx_fmt=jpeg

当然是知识点结合案例学习,就是学习了这个知识点就能够写出一个相应的案例

这就叫学以致用,这样子经过大量的案例练习、熏陶才能把基础打扎实,打开逻辑思维,最终也才能达到上面所说的能够开发插件、框架的高度。记住三尺之冰绝非一日之寒,千万不要想着速成,不然你会很惨。而当你原生js达到这样的高度的时候,你会发现那四个现代化也只是最简单的运用而已了,但是如果你达不到这样的高度,你就很难理解其中的奥秘,而很苦恼于前端永无止境,学不到头。

再谈到2015年之后非常火爆的HTML5也是一样,很多人觉得自己H5会了,就是js不行,其实他连HTML5真正重要的东西都不知道,H5离开了原生js就不叫H5了,更没有任何的优势了,比如绘图、多媒体、流媒体、地理信息等等完全依赖于js,再比如H5开发webApp需要涉及到的与设备的底层交互如下这些:

640?wx_fmt=jpeg

都是H5新增的很强大的接口,都离不开原生js。

题外话:很零散的分析了一通,希望读者诸君能够抓住重点,提供学习效率,做一个能在这个行业有所成就的人,而不是混个工作而已,对于高手来说是事业而不是工作!

猜你喜欢

转载自blog.csdn.net/bg70pvnybv1/article/details/80970529