总结一下自己转行前端的经历和思考,希望能帮助到有志转前端的同学
360行,行行转前端
我是2014年本科毕业,2017年5月转行做了前端。第一份职业是烧锅炉(火力发电厂)。
当初为啥选择前端?因为想做程序员,但是后端和算法都太难了。估计跨行进来前端的伙伴都是抱有类似的想法。那么,2020年的前端还像当初那样简单吗?现在转前端容易吗?
就2019年的行情来说,转行做前端还是可行的(还有挺多的就业机会)。看2020这个开局,如果手上有工作,不管什么行业,只要还不至于饿肚子,我劝你还是观望一下,有时间可以多学习。
转行前端的就业策略
前端需求的火爆源自互联网的普及和白热化的行业竞争。近年来,几乎所有创业项目都需要开发至少一个web平台做业务承载,融资到B轮+到公司还要配套各种后台管理系统。这些系统都需要用到前端技术。也就持续产生了巨量的前端用人需求。
逼格略高的超级大厂(阿里、腾讯、字节、美团……)和逼格更高的独角兽(滴滴、快手、知乎、猿辅导……)还有不差钱的互联网+公司(贝壳、好未来、新东方、平安旗下的科技集团……)。这些都不太适合跨行业跳槽。因为这些公司的HR和用人部门不太希望冒险(除非候选人有特别的过人之处,比如名校背景),与其接纳跨行的小白,还不如招几个实习生来的划算。
真正接纳跨行同学的公司多数都是手头略紧的创业公司。这些公司往往采用高低配的用人模式,既要保证质量,又要兼顾成本,同时为需要跨行的小伙伴提供了机会。
完成跨行的路径有很多。可以自学,也可以报培训班。学习这种事没有捷径,不管走那条路,最终都要付出一样多的努力。培训班可以起到监督和鼓励的作用。自学相对艰苦一些,不过可以磨练你的学习能力,请记住,学习能力对一个程序员是至关重要的。
不管采用哪种路径,请注意,永远不要包装简历。要用自己的真诚和实力打动你期望的团队,而不是欺骗。
结合我自己的经历,给自学的伙伴推荐一个学习路径:
- 学习计算机基础,包括数据结构、算法……
- 学习前端基础,推荐coursera课程,国内几个良心团队也有免费的前端训练营(百度ife、360 75team)
- 学习一个前端框架,react或者vue。做一些demo,展现你的想法
- 准备面试,边面边补
- 从第一步开始,所有学习成果都要形成文档or代码,并公布在github上
这个过程中,你的github仓库就是真诚和实力的证明。还有两个坑点,过分降低薪资要求不是真诚,而是缺乏自信的表现;学习时长并不是越多越好,过长的学习时间,反而是缺乏学习能力的证据。同理,培训经历也是缺乏自信和学习能力的证据。
我会收集一些更详细的学习路径来帮助大家学习,这些资料会首发在我的公众号 DevStudio
现在转前端,值不值
转前端的性价比降低了很多,而且未来还会继续下降。
首先,前端技术栈已经有了长足的进步。借助今天的开发工具和第三方代码库,能实现数倍于ES5时代的开发效率。新增的业务需求越来越多的会由存量工程师来解决,增量的岗位机会越来越少。像过去那样培训3个月,薪资翻一番的奇迹恐怕会越来越少。
其次,工具在进步,学习工具的成本也越来越高。前端技术栈对计算机基础的要求正在变得越来越高。想要胜任基础的前端岗位,已经不是培训3个月就能满足了。
前端真的变难了吗
并没有变难,反而变简单了。但是应用范围更广,知识基础要求更多了。
想要胜任基础的前端岗位。需要熟悉至少一个MVVM框架、熟练掌握JS、webpack、git、简单性能调优……同时日趋复杂的业务需求对代码组织能力(逻辑、数据、异步、模块封装)也提出了越来越高的要求。
想要有所提升就更要付出血和汗了。各种高复杂的业务需要正在涌向前端(富文本编辑、课件系统、桌面应用、大型模后台管理系统),这些需求里面都有巨量难题等待你去挑战。还有各种第三方库的源码是要啃一些的。动不动就要讲讲清楚react fiber的实现细节。nodejs、CI、SSR这些涉及server端的技术也是前端必学。更别说时髦的webgl、web assembly……只是名字带了个web而已,实际已经超出了传统前端认知范围。没有这些,是过不了中级这道坎的。
学习前端,越来越需要良好的计算机基础。以至于很多前端面试也加入了大量的基础算法考察。这是一个趋势。
我这种情况,转前端合适吗
自己的情况只有自己最清楚,别人说的都是别人的。
在程序员的世界里,菜就是原罪。计算机系统的组成高度复杂,同时又灵活多变。经常出现同样一个任务,菜鸡干一整天都没做完,大神上手后十分钟就搞定了。天下武功唯快不破,变强是程序员最终极的生存逻辑。
计算机的世界高度复杂,各种知识交叉组合。在这个世界里,并不是每个人都能找到最优化的进阶路径,这就造成了有人适合做程序员,有人不适合的假象。
前端是一个技术岗位,它的基石是计算机科学。这就注定了前端进阶之路上,会有无尽的知识需要学习,学错了,学慢了,都会掉队。对于热爱技术的人,这正恰恰是它的魅力所在。
当然,不同公司和团队会有不同方向和节奏。有些同学做了几年开发之后开始无所事事,最终陷入惶惶不安和痛苦之中,就需要考虑换个环境或者岗位了。
不过也不用过于担心,因为就算跳槽以后发现自己不适合前端,也可以重新选择UI设计、产品、项目管理方向,这时前端开发的工作经历还会成为一项特别优势。
跳槽要怎样操作
一千个人就有一千种操作……
我的经验只有一条:用最短的时间使自己看起来像一个程序员,融入这个圈子
我自己的操作,和踩过的坑,供大家参考。
- 上网课学习计算机和前端基础。我学过的那些都过时了,推荐coursera上的课程吧,入门为主,包括数据结构、算法、前端基础、前端框架。我在做这一步期间没有脱产,边工作边学习还是挺辛苦的,持续了半年左右
- 攒钱。我攒了10万,倒不是因为跳槽会花掉太多钱,而是手里有粮心中不慌。我的计划是6个月脱产学习+面试,实际上第二个月就拿到offer了。
- 脱产学习。学完基础以后还需要大量的练习,尤其需要做出让人眼前一亮的demo,来证明自己的实力(因为实在没有别的东西拿的出手)。我当时做了百度ife训练营的编码题,同时基于自己的需要做了一个用户追踪程序(用来追踪自己简历的查阅情况)。后来还学了udacity的前端进阶课程(实际上没有太多帮助)
- 投简历。我的底线是不造假,0经验的简历全部石沉大海。后来在boss上直接找非HR聊,才偶尔的到回复。真正邀约面试的只有6次(3次是10人以下的微型公司),还有很多骗子公司不做统计。
- 面试。最大的障碍还是在HR吧,跨行者不靠谱大概是HR的职业信条,无奈。我的简历完全没有水分,技术面都出奇的顺利,偶尔还能让面试官眼前一亮,最终成功率很高。
- 薪资。薪资要求参照拉钩/boss的应届生水平即可(事实上,一旦跨行,你的所有工作经验将清零,与应届生无异)。不要过分降低薪资,薪资就是自信心的量化体现,过低的薪资要求是扣分项!!这个道理也是很久以后才想明白的,后来leader都很良心,薪资很快涨上去了。少得钱财倒也无所谓,关键是引起误会,错过机会。
- 选择offer,如果对方开出歧视性要求(实习期、薪资、合同特别条款),不要入职,因为必定有大坑
跳槽成功后,该怎样发展
新目标可以瞄准更高的平台,也可以瞄准公司内的某个职级
勤勤恳恳,持续学习,骚年加油
最后,为何不能【包装简历】
首先,为何有人包装简历。几乎所有公司招聘流程都是HR初筛简历,技术面试官二次筛选。0经验的简历是很难通过HR这一关的。因此就有人开始造假,并顺利拿到了面试邀约。经培训机构推广后,包装简历甚至成为了潜规则。
我只能说这些培训机构其心可诛
为何强烈建议不要包装简历。因为它会成为你的职业生涯的污点。基于数据技术,你发出的每一份简历,都有可能重新出现在人生的任何时刻。一线厂商都执行严格的背景调查,比如阿里的背调就会考察到你的上家和上上家公司。背景调查的手段也不仅仅局限于电话询问。很多公司因经营不善而裁员时,也会使用各种手段避免赔偿。更有甚者,明知简历造假也不揭穿,留个案底以备不时之需……
在大数据时代,欺骗的代价会越来越昂贵。你能最终拿到offer,就说明团队认可了你的技术能力。明明就是靠实力,为何还要挂个骗人的罪名?
那么如何帮助转行前端的小伙伴找到合适的工作呢?可以到我的公众号DevStudio回复“内推”