10年IT编程经验的老司机,和你唠唠前端的发展

本人在IT行业开发了近10年,去过腾讯,创过业,当初的“骗子马云”也成为了中国首富,在中关村“摆摊的刘强东”也娶了奶茶妹妹......而我,┭┮﹏┭┮,还在苦X的做开发,哎,就像伟大的哲学家“谁都不服就服你斯基”说过:三十岁前,努力拼搏奋斗,追求理想,可依然很痛苦,生活得不到改善,三十岁后.......你就开始习惯了。

好了不扯了,回归正题,我之前是做C#开发的(后台),那个年代的前端叫做“网页制作”,只需要写点静态页面,运气不好的需要自己设计PSD设计稿,运气好的去写一点jQuery效果,数据绑定等大部分交互工作都是交给后台来处理的,我们可以把它叫做 “前后端不分离,服务器渲染的项目”。

2013年,也就是我转前端的这年,JS如我预期一样开始崛起,部分公司已经开始做 “前后端分离,客户端数据渲染” 的项目了,jQuery和AJAX得到了更广泛的应用。与此同时,随着手机端的发展,H5开始逐步崛起,越来越多的公司把自己的产品搬到了移动平台上。从这会开始,网页制作有了个高大上的名字:“前端开发工程师 / H5开发工程师” 等。

2014~2016年,是JS高速发展的三年,前端开发就像雨后春笋,大规模生长,越来越多的公司重视前端岗位,开始加薪,开始扩张招人,开始安排更多的任务责任给前端。对应的技术也演变的越来越完善复杂,各种设计模式、模块思想、框架体系应用而生:

  • 从HTML/CSS到HTML5/CSS3以及Hybrid混合APP开发
  • 从jQuery到原生的javascript以及各种设计模式
  • 从ES3/ES5到ES6的新一代语言规范
  • 从AMD(require.js)到CMD(sea.js)再到CommonJS和ES6Module的模块思想进化
  • 从backbone到angular再到最后的胜利者:vue/react
  • 从只做前端开发到基于node开发后台,写服务中间层
  • 从ajax到更多的跨域,前端也要学习HTTP/TCP,也要学习算法
  • 从grunt到gulp/fis再到现在的webpack
  • ......

2017年至今,前端按照既定的轨迹稳步发展,逐步完善,现在的前端再也不是那个 “后台瞧不起的” 前端了,很多公司,前端的岗位人数远超过后台,给予的薪酬和发展也是很高的了!所以,谁在说前端没啥难度,前端不重要,前端发展不好...,你可以过来找我,我们来聊聊人生 (•́へ•́╬)


前端市场饱和了?

最近我发现了一个特别好玩的现象,总有人说前端市场饱和了。很多后台或者python培训机构的说,我也就忍了(毕竟林子大了什么鸟都有,为了招生不择手段是某些机构善用的把戏),但是很多从业者或者打算找前端工作(尤其是没有找到)的在说我就忍不了,这是正规场合,我不能写脏字,那我就善意的表达一下我内心的情绪:老话说 “坐井观天”,“吃不着葡萄说葡萄酸”,“不懂瞎比比”,“捕风捉影”...说的就是这类人。

先来一组到珠峰招聘前端人才的信息:

这只是最近的找我们要人的信息,每周都会有很多很多,我们现在是供不应求了,而某些人还在说前端不好找工作 ,ε=(´ο`*)))唉 !不是市场不景气,而是你太LOW而已,你离高薪就差一个珠峰!

再来一组就业信息

光招聘多可能不能说明什么,那咱们来看看珠峰的近期就业成绩。

最近有同学问我,你们珠峰签不签就业合同,别的机构都签,毕业薪资保¥6000,听到这我总会莞尔一笑,六千你还好意思说,现在的前端开发岗位,只有公司要不要你,很难出现低工资的,你说我技术不是很好,找个低薪的岗位先干着,不好意思,没有!而且,谁说我们珠峰不保就业了,珠峰培训是同行中保就业的“鼻祖”,15年年底我们就敢“低于¥9000退学费”,只不过后来学生感觉没啥意思,用他们的话说,要是目标薪资只¥9000,我来你珠峰干啥! 前天有个小姑娘和我说:周妈我给珠峰拖后腿了,我才找了个¥12000的.....,O(∩_∩)O哈哈~,没错,在珠峰毕业,低于¥14000就是拖后腿了!


目前的前端市场,零基础自学能出来吗?

道德经中说:天下皆知美之为美,斯恶矣;皆知善之为善,斯不善矣。有无之相生也,难易之相成也,长短之相刑也,高下之相盈也,音声之相和也,先后之相随,恒也!

万物本相对,我不能说零基础自学一定不能学会(毕竟现在网上有很多开源免费的视频、文章、资料,基础的也有,深入的也有),接下来我先来汇总一下目前前端开发需要的技术内容,咱们再来聊这个话题吧!

首先看一下BAT的等级划分和薪酬体系

现在很多公司招聘前端开发(即使是实习),基本上都要求 P4+及以上了,P5及以上水平想找一份前端工作,还是很so easy的,所以接下来我们的努力方向就是P5+,想要具备这个水平,我们需要掌握下面这些技术。

  • 1.原生JS(ES6)
    • 闭包和堆栈内存以及在项目中的应用
    • 面向对象:尤其是类的封装继承和多态,最好能够封装一些简单的插件,有阅读过部分类库或者插件的源码
    • 设计模式:单例、原型、发布订阅、Promise等
    • 事件代理
    • ES6常用的语法:重点在于和ES5的区别
    • ES6中的Promise,这个问的特别多,需要大家去看看Promise A+规范,把Promise彻底吃透(我一个在阿里的朋友和我说,你要是能用JS自己写出一个Promise [也就1千多行代码]),面试肯定必过了!!
  • 2.AJAX和跨域
    • 掌握HTTP和TCP通信机制:三次握手,四次挥手、浏览器缓存、DNS缓存等
    • 掌握很多前端性能优化的方案
    • 掌握AJAX的基础原理:尤其是对于HTTP状态码的解读
    • 掌握多种跨域方案,最好能深知其原理,例如:JSONP、CROS、反向代理、webpack proxy代理等
    • 掌握axios、fetch等
  • 3.移动端开发
    • 熟练掌握H5/CSS3(尤其是CSS3动画和3D效果实现)
    • 掌握Hybrid混合APP开发,能够调取微信的JS-SDK接口
    • 最好会小程序开发
    • 目前会一些webGL和canvas也是加分项
  • 4.框架和自动化及全栈
    • 熟练掌握至少一种框架:REACT或者VUE,掌握全家桶的应用 vue-cli、vue、vue-router、axios、vuex、vue element等 create-react-app、react、react-dom、react-router、redux、react- redux、dva、ant design等
    • 掌握MVVM和MVC渲染的原理
    • 掌握DOM-DIFF算法
    • 掌握REDUX或者VUEX的原理
    • webpack方面自己能够进行简单的配置(能够看懂脚手架的配置项,并且自己可以修改成为自己想要的,例如:配置各种环境)
    • 会一些node是加分项

视频、书籍、资料

现在网上关于前端的资料、网站、视频、书籍、文章等很多很多,有收费的,有免费的,有浅显易懂的,也有深入研究的...

如果你现在打算或者正在做前端开发,我相信你的手里也有很多的资源,或者你想要,我这也有很多(想要的后面可以加我微信)。但是资料虽多,你自己认真看的有多少?带来价值的有多少?成体系能让你具备阿里P5+的又有多少?大量实战案例的又有多少?...

自学是一个漫长的过程,需要人具备:自制力强、学习能力强等必要的因素,我看到过自学前端成才的(大部分都是来自于重点大学的研究生),但是和他们聊天的过程中,也发现一些相对比较重要的点,他们错过了很多。老师是结合自身多年的实战经验,再加上翻阅大量资料书籍,再加上调研很多群体,最后把重要的知识系统化,把复杂抽象的东西简单化,能够让大家在最短的时间内,得到最有用和最大的提升。当然一些垃圾的机构大家就可以忽略了。

这就和学车一样,你想会开车,就要去驾校学习,驾校的教练一般都是经验丰富的老司机。这个不仅仅是为了拿下驾照这么简单,更多的是学到真正有用的驾驶技能和交通法规,因为这些知识最后决定你的生命。我们很少会看到,自己在家买个车,没事开着玩的(虽然有但是很少),自己看看网上视频,自己多练练,车其实就会开了,但是自学的这种情况总会发生一些不可预料的危险。

有人说你拿学车的例子来讲是不恰当的,但是我认为本质上是相通的,培训的一个主要目的:花钱,在最短的时间,得到最大的收益。很多大学刚毕业或者即将实习的,感觉自己的时间还很多,无所谓啦,从过来人的角度和你讲:“哎,我哪能想到一转眼自己就从稚嫩的少年到孩子都能打酱油了!” 人这一辈子真正有效的奋斗时间也就十几年,时间是每个成年人最缺的东西了!!


到底是学后台还是学前端?

其实这个问题不想说的,因为说完后可能会挨揍(因为会把一些行业潜规则说出来)。这个问题很多即将毕业的大学生问我的多,知道我要写这篇文章,都叮嘱我一定要写一下,好吧,那我就冒着生命危险写写吧!

首先要强调,不管是后台开发(以Java/Python等为主),还是前端开发(以JS为主),都是非常好的职业,都会有很好的发展前景!我个人认为,这个问题上我是有很大发言权的,毕竟自己五年后台,五年前端,基本上都做过了!我先说一下前端和后台的主要责任和发展趋势吧。

娱乐一下:PHP是全世界最好的语言,O(∩_∩)O哈哈~,先让我笑10分钟...

【后台】 发展趋势:大数据分析和处理 技术栈:一门后台语言(以JAVA为例)、数据库(mysql/sql server/oracle...)、数据结构、算法、服务器(主要是操作系统)、网络、还要会点前端... 我个人大致总结了一下后台的一些规律

  1. 需要学习的内容多,不仅要学习语言,还要学习很多其它的内容,所以学习周期长;一般来说,三年算入门,五年算熟练,八年算大神,十年及以上是专家(当然因人而异)
  2. 起步薪资低,门槛也高一些,但是越往后,如果你的技术成长快,薪资会有很大的提升,一般上限薪资会比前端高!
  3. 对数学有要求,越往高处走,要求的越高,数据结构和算法是必备技能,而且要研究的深入一些才可以。
  4. 对学历有要求,后台主要是为了研究大数据,如果你去不了大公司,非常遗憾的告诉你,你的技术生涯基本上就这样了,也就是个写业务的苦逼码农而已!(这是事实,你接不接受是你的事情!)
  5. 有的公司对性别也有要求:很多公司后台是不招女程序员的(即使招也是有限额的),因为后台对思维逻辑要求较高,一般女性同胞随着年龄增长,思维会弱化,而且后台加班还是比较严重的,女性同胞不太适合。(┭┮﹏┭┮呜呜...,被我媳妇发现这句话了,一会再接着写,先跪两个小时键盘...)

【前端】 发展趋势:各种端交互,包括手机端、PC端、电视端,以后可能还会有智能设备端、VR设备端等 技术栈:HTML5、CSS3、JavaScript(以及由JS引申的各种框架:vue/react/webGL/Node等)、一些HTTP基础和一些简单的算法等 我个人大致总结了一下前端的一些规律:

  1. 要学习的内容相对偏少,只要把原生JS研究透(最好研究V8渲染的机制等),剩下的在学习都相对简单一些了
  2. 起步薪资高,门槛低,但是上限薪资比后台低一些(暂时是这样的)!
  3. 对数学要求不大,毕竟是以交互和效果为主,操作复杂数据的机会不多,会点简单的数据结构和算法即可(当然有能力的深入研究总是好事)。
  4. 对学历要求也不是很高,大专及以上基本上就可以了,我的很多大专学生都去了一线互联网企业。
  5. 有的公司对性别也有要求:女同胞优先!(哈哈,为了调节办公室的阴阳比例!而且女孩子做事相对比男孩子细心一些!) ```

好了写到这,相信你自己应该知道如何选择了吧,我个人认为自己在后台的路上不会走到很高的位置(学历、数学、对技术的痴狂等,都不如我认识的那些真正技术大神们),虽然那时的我已经主带了几个百万级的项目。但是,那会还年轻,又不想轻易放弃技术,自己预感前端会发展起来,对JS也有点兴趣(摸着良心说实话:JS比较赚钱,后台只有真正的大神才赚钱),所以转行做前端开发了!


网络在线学习好还是去实体学习好?

其实这个很好回答,肯定是实体学习会更好一些。当然有一些同学因为一些不可抗拒的因素,无法来实体,只能在线学习,但是最后的成绩也是很不错的。

我来说一下实体和在线的区别吧!

1. 实体的学习氛围更浓

我不太相信大家能做到 “身处乱世还能静心读书”,如果能,早就清华北大了,而且也不大可能找培训班学习。大家之所以找培训班学习,还是自制力方面稍微欠缺一些,此时一个良好的学习氛围,同学之间相互沟通交流氛围,会让大家慢慢的养成良好的学习习惯。思想改变行动,行动改变习惯,习惯改变性格,性格改变命!

图为学生们一起讨论面试中遇到的问题,老师给大家做就业指导和模拟面试

2. 老师可以第一时间了解大家的状态

我是15年全职做前端讲师的,这么多年虽然备课和授课上占据了大量的时间,但是总体来说,还是和学生“聊心”的时间更多。珠峰的教学理念是:“通过某种技术学习,引导人、激励人、提高人、改变人!”,所以我们更关注的是 慈悲、渡人,正像鬼谷子所说,师者:传道、授业、解惑,传道为先,授业为二,解惑为三。

去培训班培训的学生,大部分都在某些好习惯上存在一些欠缺的地方,而大多数培训机构都认为,你来我这学习,只要把技术讲完即可。但是往往是一些不好的习惯,让大家很难静下心来,把技术学好,对于一些深入难理解的技术,很难吃苦坚持把他搞懂搞透!我们始终认为,成功没有捷径,你想在现在或者未来发展的更好,只能坚持努力。所以,当你懈怠了我们会鞭策你,当你快崩溃了,我们会安慰你,会告诉大家学习的方法,会做职业规划,会打鸡血.......真正做到:“亦师、亦友、亦兄弟”

大学有云:古之欲明明德于天下者,先治其国。欲治其国者,先齐其家。欲齐其家者,先修其身。欲修其身者,先正其心。欲正其心者,先诚其意。欲诚其意者,先致其知。致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。

看完这篇文章,你就会了解珠峰的与众不同

其实还有一些其他的区别,这里我就不多说了。不管是在线还是实体,都希望大家努力学习,多和老师沟通交流,为了自己的未来拼一把!

当然还有很多问我的问题,今天就先写这么多吧,更多的是写给基础偏差一些的同学的。对于工作了两三年的同学,我后面再写一篇职业规划上建议的文章,道一下我这10年的坎坷路,以及自己在这行业的一些心得体会!

原文发布于微信公众号 - 程序工场(RecordHarry)

原文发表时间:2018-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏带你撸出一手好代码

编程语言之间的差别真有那么大吗?

软件开发是一种特殊的职业,特殊到有点匪夷所思,行业从业人员的工种分类非常的不稳定, 比如说古时候有C工程师、C++工程师、VB工程师,后来有了Java工程师、....

39910
来自专栏编程微刊

程序员怎么写出一份漂亮的简历

2515
来自专栏大数据文摘

求职季 | 为什么每个开发者都应该坚持经营一个博客?

15510
来自专栏FreeBuf

神秘方盒可破解任意iPhone,美国警察纷纷抢购这款破案神器

自从2016年FBI求助苹果帮忙解锁恐怖分子的iPhone而惨遭拒绝之后,破解iPhone就已经不再只是黑客的目标,美国警察无不寻找各种破解iPhone的技术手...

761
来自专栏纯洁的微笑

一次惊险的跳槽面试经历(阿里/美团/头条/网易/有赞...)

1436
来自专栏携程技术中心

技术人生 | 技术人如何打造个人品牌

编者:本文来自携程框架研发部高级经理魏晓军在内部活动中分享,介绍了其在撰写国内第一本React Native相关书籍《ReactNative入门与实战》时的经历...

2577
来自专栏斑斓

【工作坊】可视化设计

之所以选择可视化手段来进行软件设计——非UI或UX的设计——是基于我对设计的理解:设计并非文档,而是交流。那种依靠一位英雄来完成所有的设计,并编撰为详尽的文档,...

2684
来自专栏Java学习网

风雨20年:我所积累的20条编程经验

 原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医...

3368
来自专栏ATYUN订阅号

【行业】Mozilla发布第一款开源的跨平台混合现实浏览器Firefox Reality

Mozilla在周二的一篇博文中宣布,它正在开发一种专门用于增强现实(AR)和虚拟现实(VR)应用程序的新浏览器。这款名为Firefox Reality的浏览器...

914
来自专栏无原型不设计

一句话评述8个最热的原型工具

早在十年前,要是提到原型工具,大概也只有笔纸和白板了。现如今,原型工具如雨后春笋般涌出,形式也各样,有在线的,也有桌面端的,让人目不暇接。今天小编就为大家吐血...

2295

扫码关注云+社区