转行前端有哪些疑虑?
在人生的抉择处,寻求一些别人的经验和总结,无可厚非,但是决定了就一定要坚定的走下去,谨慎是为了更好的坚持,而不是放弃的理由。
写在前面:这里前后端指的是web开发的前后端。
1、前端岗位需求如何?前景如何?薪资如何?(这是对将转行业的必要考量)
2、是自学好?还是培训好?(抱歉,我是自学的,对于培训,下文不发表任何观点)
3、如何高效学习,多久能找到工作?
4、非科班会不会没发展?年龄大会不会被淘汰?
5、前端和后端哪个好?上手?发展前景?
以上这些问题,有些是1年前我想知道的,有些是1年前我所看到的文章里提到的,也顺便一起总结,我将用很长的篇幅从自己的亲身实践及各阶段的心路历程来论述。
关于我
先来看看我们是不是一类人吧,或者有多少相同点。
本人一般本科-电子信息专业,大学唯一学过与前端有一丢丢关系的课程,算是C语言吧(if、for这些语法和js接近)毕业后从事了近3年环保方面的工作,17年开始自学并转行,是一个不折不扣的非科班大龄零基础程序猿,不仅离开了自学的天堂(学校),而且已婚已育,常言道进入社会工作了就学不进去了,别说还有了家庭和孩子,对此我有一些不同的看法:
这就提到了一个关于兴趣和压力的问题。
1、兴趣:从小到大,总是被问你的理想是什么?我依然记得这些声音:我要当科学家、我要当发明家……我只能说当时教育的价值观和崇拜都是正确的,可是这虚无缥缈的理想是个啥?
兴趣远比理想更能发挥积极作用,更贴近实际生活
这就是命啊!记得当时是我弟弟去问他上海的舅舅,学点什么能有个一技之长,因为他是做互联网这块的大牛,自然推荐我弟弟了一些js方面的知识,说只要肯学,上手了薪资很高。
说句实话,一开始就是被薪资高这三个字吸引了,连前端是什么都搞不清楚状态,就这么糊里糊涂的开始了,靠着一点c语言基础,学起了javaSE,看看概念做做小例子,无比畅快,相见恨晚,后来才知道java和js完全不是一个概念。
2、压力:从小到大,就没主动看过书,上学完全是被逼出来的,而有了兴趣之后,再给你来点压力,即使是这样的我,还是坚持看了好几本书的(具体过程后面详细讲)
综上所述:对于一个无兴趣无压力的我,再多的时间也是浪费,而当你有了努力的理由,就别怕来不及,我把这个看作是开窍了,存在即是合理,之前的经历都是铺垫,不后悔!
是自学好?还是培训好?
我是自学了差不多4个月才找到工作的,说实话有点艰难。前端是什么?要学什么?能做什么?怎么去做?这些问题都要你自己一点点去寻找答案,所以入门推荐视频学习,有的老师还是很优秀的,讲起来幽默风趣,总会带一点自己的理解,不像书本那么晦涩难懂(有了一定基础绝对要去看书、看书、看书,书是人类进步的阶梯,一点没错)。培训就是你花钱有人带着你咯,就像你回到了学生时代(具体效果,去问培训出来的人吧)。这里有必要强调一下上文提到的兴趣和压力,如果没有这两点,你自学肯定不会成功,培训就不一定了,就像我不爱学习也考了个本科一样(是不是有点自吹的嫌疑?)当时我选择自学主要有两点:一、时间和家庭不允许培训,一大把年纪了还跑去花钱远离家庭培训4个月,有点作;二、如果没有自学的能力,即使培训出来也是废柴一枚,不如直接搬砖去了,干嘛换个地方培个训再搬砖,多此一举。
这里先插播几个例子,有时候真感觉自学党和培训党无故就成了两派
1、我有个同学也是毕业后工作差不多1年,培训转行的,培训到入职顺风顺水,我在决定转行时也与他交流过,他作为一个成功的培训党,自然推荐培训的,而且他说他们经理的意思是偏向培训的,至少培训出来的人一定能做些基础的活,而自学的就不保证了。
2、在我工作半年之际,有幸代表公司面试了几个前端(社会可能对此有误解,姑且用着这个名称),我就按照公司工作的要求和一些基础知识聊聊咯,因为我们公司嘛招的都算是新人,所以这里面肯定是泾渭分明。
A同学是自学的,我问及一些基本工作要求和基础时,他很自信地说:没问题,很简单。毕竟大家都是自学转行的,何苦为难人家呢,那就多聊聊吧?言语间,他说他经常逛各大博客、张鑫旭老师的网站、看慕课网(噢哟,不错哦,感觉自学能力很强),还说他目前在研究vue、react等框架(我问他那你觉得用这些框架有难度么),他说我觉得很简单,人家都给你封装好了,你就拿过来看着文档用就好了,前端的东西没什么难度,我还想学点后端的东西(这里我不得不吐槽他了,你TM啥都不会呢就拽成这样了,要不招你来当销售?)然后聊了那么久,最后我还是给他机会了,我和他说基础很重要,你面试的是前端,给你个PSD图,做个静态来看看先(结果你们肯定想不到。。。
我估计我这辈子都忘不了这货了)过了2天,按道理这时间很慢了,他发我一个网站,还备注了一大堆内容:说我这个导航是用的浮动布局的,轮播用的插件,悬浮的那个横幅我以为是固定在banner图上的,后来才知道是悬浮的,反正很简单就fixed就好了,就没做,下面的内容嘛全是选项卡,我就不做了(敢情我给你两天时间让你来给我指点迷津了?这里要骂人了啊兄弟们自己脑补,这种人千万不能学的,这就叫好高骛远、纸上谈兵)。
B同学是培训出来的,还有过工作经验,照理说能满足公司需求了,奈何她的观点又雷到我了。她培训出来做了2年切片,静态应该毫无问题,问及一些css知识却不会(是什么限制了你的能力),那再问问js吧,虽然这里用不到太多,姑且问问。来了,来了,大神开讲啦。她说js我基本没用过,反正现在cms模板里就集成了js插件,而且像阿里、腾讯、百度这些大公司都有自己的框架,前端的技术已经非常成熟了,我们没必要去学这些东西,只要用他们的就好了(你真的会用么?)
也难怪了前端经常被吐槽(包括我依然不能算合格的前端工程师),我当时看到了一片文章《写给那些转行做前端的人》,很明显他是招聘前端的大神,虽然文章开头有些极端的劝阻转行的人,可以说是非常痛心疾首,但是后文的分析和给出的意见还是很中肯的,我觉得兴趣也好,压力也罢,即使是高薪诱惑,能激励你前行的动力都可以,但是千万不要误解。只有菜鸟才分前后端,那是为了高效开发,分工合作,当水平到达一定境界后必然是全栈,不同的只是出身,所以不要认为会了皮毛就能月薪上万,高薪后端说不定样式写的比你好!
结论:不管你自学还是培训,最重要的是基础和不断自学的能力,把培训当敲门砖方得始终!
前端岗位需求如何?多久能找到工作?前景如何?薪资如何?
1、需求
1年前我也是网上查来查去,居然都说前端缺口很大,找工作很简单,这里补充一点我是无锡人(不能代表上海、深圳的实际情况)很显然我信了,在查阅这些问题的同时,我也寻求着学习方法,入门还是推荐视频学习,我看的第一套视频是51自学网(纯粹分享,后来接触多了觉得妙味课堂和慕课网更好一点)上的H5教程,里面涵盖了html、css、js大部分基础知识,还有实战,质量还是可以的,唯一不足的是老师说学完这套视频运气好可以找份5000左右的工作,我居然又信了(这里除了求职者,可能还有用人公司的问题,后文写到求职经历时再行说明)
我是个比较纠结的人,之后还看了很多html和css的基础视频,几乎都是讲解属性作用的,当然还有编码规范,我觉得不能相信一家之词,所以看了很多相同的视频,甚至还刷了一遍W3C的html、css、js,这里我可以很负责任地告诉你们,三人行必有我师,我们要站在巨人的肩膀上前行而不是看风景,当你集众人之所长的同时,潜移默化中扎实了你的基础(基础很重要,大公司重基础,小公司重实践,这是普遍现象,也是对于转行的人最残酷的地方,你会发现两者你都没有)一边面试,一边学习,我终于醒了,恍然大悟。
前端岗位缺乏的是中级以上的前端工程师,而不是入门级的,所以想光凭会一点html、css是找不到工作的,就算你背的滚瓜烂熟也没用,实践和理论不是一个概念,于是很多人会推荐新人,你直接去学bootstrap、vue、jq等等框架,这种急于求成也是要不得的,首先在基础不扎实的情况下你很难掌握,即使硬着头皮掌握了,开始了愉快的工作,你很容易迷失在自我感觉良好的幻境中,框架解决了大部分问题,疑难杂症问领导,而在中国估计一个小公司决定了框架后够你用一辈子,那你可算是真的完了。。。你的前端梦止步于此。
公司不可能养一个无法完成基本工作的人超过1星期的,所以你得把前端最基础的东西做熟练,才能找到一个公司慢慢进阶。我觉得首先把图切出来,然后做成静态页面,你别管怎么获取动态数据怎么放到服务器给别人看,你就疯狂做你的静态页面(一开始没有PSD就百度找点图片还省得切了),零碎的知识点总是容易理解的,有针对性的小demo毫无压力,当你真正开始化零为整的时候,css感性的一面就会暴露出来,各种属性相互影响,你要把这些问题完美解决,不能等到工作让你布个局你还百度怎么清除浮动,兼容性另说了(随着时代发展,大部分只兼容到IE8,可以说减轻了很多负担)这里为什么说是完美解决?因为css不像传统语言那么理性,同样的布局你可以有很多的实现方法,这里再强调一遍基础很重要,想做前端就一定要尊重前端,别人云亦云说css很简单。正因为它的简单,导致了它的不简单。
砖头式编程就是定宽定高,浮动,更有甚者直接绝对定位的,当你刚学会理论没有实践的时候也许你就会这么做,所以多练多总结才能配合使用好css的各个属性,做出一个合格的布局,好多后端就是被这种简单蒙蔽的双眼(吐槽时间:如果你去应聘一个公司,他觉得前端很简单随便找个人都能做,而且后端可以兼职,只是最近忙想找个前端做做样式的,千万不要去!!!
分析:会样式的后端到处都是,做的比前端还好的凤毛麟角,基本p8以上了,这样的公司你去了得不到尊重不说,让你改他们后端写的样式就要了你亲命了)目前我所遇到的后端通常学会个浮动就觉得拥有了全世界,有问题直接绝对定位,哈哈,你影响我?我飞到天上看你怎么影响我,什么这边怎么间隙小了,来个margin吧,怎么又大了?改个负值(我可真聪明,有些菜鸟前端都不知道可以用负值吧)文字居中直接