三月份转职成为程序员,现在已经一个半月了,虽然转职的路上充满了很多的未知和不确定,但只要方向正确、路径合适,转职成功率还是很高的。回顾自己的转职历程,有些收获也有教训,在这里分享一下,希望对想转职的朋友有所帮助,希望能帮助想改变自己命运的朋友更快的达到目标。

个人基本情况

89年生人,大学本科,电气工程及其自动化专业,11年到17年期间在央企工作了六年。

学习过程

大学期间有学过c语言、汇编语言、网络应用基础等理工科的公共课。毕业后工作的六年里再无实质性接触过编程,直到2016年度底报名新大全栈营学习ruby on rails,在学习ror期间发现自己对编程的兴趣,于是产生了转职程序员的想法,加之先前的工作做得不是很开心于是萌生了脱产学习的想法,给自己一个空窗期用于学习和思考人生。最终于17年3月底开始脱产学习直到今年三月。脱产期间除了学编程外还认真学习了英语以及研读了一些社科类书籍。学英语是因为它是程序员的玻璃顶,由于打算将编程作为终生职业,所以想趁着间隔年一并解决。研读社科书籍是因为编程只是一项技术,它只有结合具体使用场景才能发挥作用,而使用场景更多时候是由技术以外的东西决定的。之所以要说这些,是想说明如果你只安排学编程的任务,转职根本不需要一年的时间。三月底离职后,我又学习了一段时间的ror,原计划半年后也就是9月份找工作的。结果在8月初的时候徐帅开js课了,抱着补充前端知识以及报了不吃亏报了不上当的199元,我报了徐帅的课程。在上了徐帅的课程后,我开始深入理解编程是怎么一回事,于是学习重点暂时由ror转向了js,并将找工作的日期推后一个月。可万万没想到,徐帅开完入门又准备开进阶课,于是自然而然的又想跟着上了。在这个过程中,一方面全栈营的同学给我反馈了ror在中国就业情况不理想,另一方面我也开始留意到js大发展的趋势,以及ruby衰败的态势。最明显的两个数据就是github去年10月份发出的程序语言排名,以及rails和express两个功能类似框架的star数。于是,徐帅十月份在JavaScript社区办一日一学活动的过程中,我逐渐确定了放弃ruby的路线,改走js路线。后来,自然而然跟着徐帅上进阶课,于是找工作的日期再次推迟。由于先前学习的ror偏后端,所以原计划在进阶课结束后去找nodejs的工作,如果不行再试着找前端或者ruby的工作。12月份的时候进阶课结束,我按计划打算开始找工作,但这时不太确定是先尝试nodejs是否稳妥,于是给徐帅发了条微信咨询,最后徐帅给我打了电话,给的建议是先从前端入手。于是,我就开始补之前略过的一些前端知识html5、css3、bootstrap3,决定补完它们去投简历。万万没想到,这时徐帅又要开vue课。那还能咋办?跟着学呗。于是,找工作的事情就安排到年后了。这期间,一方面跟着徐帅学vue,另一方面补充上面提到的几点知识。就这样到了今年三月份上面的知识我才大致过了一边,并且把简历准备好。

找工作情况

三月份中旬开始正式找工作,在主动投简历之前朋友介绍了一家,但不是自己要走的方向就没给简历,之后自己先后一共投了三份简历,一份说不合适,一份没回复,一份约面试然后面试当场就确定入职,后面也没再投过。找工作的平台是boss直聘。找到工作后,上面又有三家主动联系我,但因为现在的工作时间不长都没有去接触。

简历

张越张大大在群里说过,找工作最重要的是作品。这点我深表认同,尤其是在简历阶段。在和同期入职的程序员接触了才知道,找第一份编程工作时简历能三中一还是蛮难得的。当然,这是他们说的,究竟如何可能还有运气成分。但,我觉得要说自己简历的优势在哪里,那就是有作品。首先是两个我在学习ror时做好且部署好的网站。其次是和徐帅学习express时做好的博客雏形,虽然没部署,但完整代码在github上。再次,就是github上的commit数。虽然不算多,但近一年也有将近三百条。它们证明了我最近一年确确实实在敲着代码。最后,就是我在学习ror的时候写得一个记录博客。在学js的时候,想自己做出博客再写。。结果现在博客也没部署好,记录也很长时间没写了。。。简历还有一些其他东西,比如知识面,技能等等。这些基本来来去去都是那些,但有一点,如实填写你的掌握程度,或者适当抬高一点点,比如写个熟悉。有了这些,我觉得简历关基本是可以过去的。

面试

如果不算找工作前和朋友介绍的公司cto吃饭闲聊的话,我就只面试了现在的这家公司。面试过程除了自我介绍,就是问我简历上的东西。更具体的,就问了我vue和express抄(这里要感谢徐帅一下^o^)。vue的话,问我用来做过什么,我就说做过徐帅的那个抽奖及打卡,并且移植到了vue-cli。express就问了中间件和错误前置处理原则。由于两个问题答的比较流畅,他们也没多问,当场就叫hr来谈入职。这里要说一句,碰到这种情况千万不要急着入职,最好再多面两家挑一下。不过我也是因为编程工作零经验,主要目的是尽快拿经验,其它的一律以后在考虑。

心得

回看自己的转职历程,发现目标确实不够明确,没有分清轻重缓急。假设时间能倒流,或者我能给过去的自己提一些经验,我会和他说下面这些:

1、如果是想转职,那么应该先以成为工程师为目标,而不要一开始就拘泥于长期想发展的方向,转职是从0到1,转方向是从1到N。先把最重要的事情办了。

2、程序员重经验,所以越早积累好处越大,而转职效率最高的是转前端工程师。这不但是从入门难度低,而且就业需求也高。这一点可以打开招聘app看到,这也好理解。无论什么后端,什么公司,什么内容,最后总需要一个页面去呈现内容或者实现交互,无论是对用户还是对管理者。

3、html、css、js是基础,而js同时也是重点。html除了基本的外还要学一下dom,css的难点是布局,弄好布局其它的都是小问题。有了基础的前端知识以后,熟悉一下前端框架。从使用率和就业市场讲就是徐帅讲的vue还有他推荐的bootstrap。至于其它的比如,jquery,看过dom学起来就和玩似的。而express则是一个加分项,懂点后端的前端工作起来会顺畅很多,但这不是转职前端的必须项。

4、要有自己的作品,以及记录自己学习的证明,github就是最理想的平台。有事没事往上推,而且作品完整度越高越好。不过前端的话,有本地可呈现的页面也就可以了。作品会和需求挂钩,要给自己找需求,没有的话问问工程师朋友,他们都做过什么项目,有哪些简单的自己可以试着做做。

5、学好一门语言再去学其他的,js就是最理想的入门语言,而且日后发展方向多。从使用量和前后通杀的现状来看,必然还会活跃很长的时间,未来哪一天成为编程界的英语也保不准。

6、多在程序员的圈子浸泡,很多概念可能一开始没理解,很多别人讨论的问题可能也没听懂。但,这些概念的熟悉度会提高,这些问题未来的某天可能也会遇到,那时一个聊天搜索或者帖子搜索就能帮你剩下几个小时甚至几天寻找思路的时间。(时间点回到现在,js微信群和JavaScript社区就是很好的技术圈子,已经帮我解决了不少技术问题。)

写给想转职的朋友的其他的话

很多事情都是有风险的,包括转职这件事。但这件事的风险也并非不可控,它的风险并不在于你能不能学成编程这项技术,只要你够努力,方法对,学成只是时间早晚的问题。风险在于,如果你想把它当做一门职业,你能不能为市场提供它想要又价钱合理的东西?这涉及两个因素,一个你学的技术是不是市场需要的?另一个是,你是否能拿得出匹配你想要工资的能力?如果上面两者你都能回答是,那么年龄、专业、学历、经历通通不是问题。因为人家要的就是你有他买得起的又想要的能力。

对于这两个问题。

工资嘛,你可以开的低点。大不了中级水平去应聘初级岗,老板肯定高兴得当场想把你签下。

至于你的技术是不是市场需要的这个问题,我敢说你能来到JavaScript社区,这个未来几年已经不是问题了,前提是你够努力。至于几年之后会如何,那就要看JavaScript社区的小伙伴们的努力了。

当然,这里面自然也包括了你,加油哦^o^。