随着高考分数的出来和大学生临近毕业,选专业与择业的话题又开始在我们周边热了起来。这两年,最热的毫无疑问是计算机(也包括软件工程等相关专业)和金融。计算机的热度不仅让很多未毕业的学生想去报考,甚至连许多已经工作的人也在想方设法进入这个行业,“ 三百六十行,行行转码农 ” 的段子就是在这样的背景下产生的。
为什么会这样?收入差距应当说是很大的原因。尽管在生活中和网络上你天天都能够听到关于码农生活的哀叹,但是若是你把这些当真,那你就错了。从数据上来说,整个互联网属于高收入阶层,而技术的收入在互联网中属于中高阶层。而这几年经济转型,传统行业经济不振,又让这种差距被进一步拉大。
那么程序员究竟能挣多少呢?
以上数据来源于《智联招聘2016年春季中国雇主需求与白领人才供给报告》,可以看到,金融与IT几乎瓜分了除高级管理以外的所有高薪职业,而软件和互联网开发占非管理职业中最高。这部分证明了传说中的 “ 宇宙机 ” 还真不是一句空话。
不过,除了薪资,程序员还有许多吸引人的地方:工作不需要太多与人打交道,适合不善言辞的宅男;由于各行各业都在推进互联网化,不愁之后的饭碗;比起垄断行业和公务员,晋升渠道更通畅,机会更公平等。
那么,一个问题出现了:如果你不小心在高考中错过了填报 “ 宇宙机 ” ,是否有重新当码农的机会?
我们今天就从培训,面试和职业发展,为你解答这个问题。
(这或许是许多打算转行者对程序员生活最美好的想象。)辅导机构:数学不用怕,逻辑和兴趣最重要
如果在专业技术这个范畴内进行比较,那么编程很有可能是资料最多,参考内容最丰富的专业技能之一。随便打开百度搜索,便可以找到大量的关于编程的内容。
这不禁让人思考这样的问题:在零基础的人究竟学习编程难不难?难在那里?
对于许多想要转行做程序员的人来说,最大的疑虑无疑是 “ 数学不好 ” 。但是数学与编程究竟是怎样的关系?一定是数学系的人才能转行吗?
“ 实际上数学和编程的关系没有很多人认为的那么大。” IT职业在线教育平台极客学院市场部员工刘云说:“但如果高考数学不及格,那么学到最后一定会有问题的。” 非数学专业或者文科并不是学编程的障碍,但关键在于数学背后的逻辑思维能力,这决定了一个人最终能够在这个行业上取得的上限。
在逻辑思维能力过关的情况下,哪种方向或语言最容易呢?根据极客学院提供的信息,对于新转行的人士而言,难度相对较低的是 Web 前端与PHP,其中Web前端学习者也最多。C 语言虽然不太容易,但是很多大学理工科,或者文科生考计算机二级时都会有所接触,因此也属于门槛较低的。稍微难一点的是 iOS 与安卓。再难的则是大数据及算法。对于数学能力合格者,大多数对于Web的学习都不会有太多的障碍。
不过,线上学习者往往会遇到一个问题:缺乏实战。对于教学内容的掌握较为容易,但是对于代码 “ 不撸不出效果 ” 。要想真正学会,必须伴随大量的实际训练。对于前端开发来说,“ 一天至少要保持 2 个小时的编码训练时间,坚持 4 个月 ” 才能够有完整学会。对课程而言,一开始比较简单,但是中后期会逐渐变难。
但只要努力坚持下来,年龄、职业、性别都不是障碍。目前极客学院的学员来自不同群体:男女比例为 83:17 。学历上主要是大学本科(50.13 % ),大专( 22.54 %),硕士(15 % ),就业后大跨度转行的也很多,刘云为我介绍了一个 30 岁从 HR 改行做 iOS 开发的例子。在她看来,关键的是自己是否想清楚,并且有兴趣要从事技术工作。
除了培训机构以外,通过资源自学也是一种方式。在 IT 人士居多的知乎,关于 “ 自学编程 ” 的相关问题非常多。我把几个高票答案的共同内容的总结如下:
自学编程是可能的,但最好能够遇到较为成熟的程序员指导,或者能够参与到外围的一些工作。
拥有执行力和大量训练是入门的基础,阅读资料与实际操作的时间应在1:4以上。
多刷 Github ,多与他人交流,切忌闭门造车。
在学好基本技术的同时,要尽量掌握计算机基础理论和英语。这对之后的能力提升极为重要。
(不要以为程序员就一定不会与人沟通,这不,他们甚至都出了《程序员面试宝典》来教你怎么面试。)用人单位:不存在歧视,但更加审慎
在学会了之后,接下来的问题自然是就业。尽管辅导机构都会为自己的结果打包票,但是在真正的用人单位中,对于 “ 辅导班学员 ” 的态度往往彼此矛盾。甚至即便在一个知乎答案中,有些人声称 “ 凡是非科班出身的简历一律 Pass ”。但也有人说自己就是从里面出来的并且获得了不错的工作。
那么,用人单位对 “ 零基础学员 ”真正的就业情况究竟如何?什么样的缺口最大?
我们采访了招聘类网站 Boss 直聘 的员工罗霄。 根据她提供的数据,尽管 “ 行行转码农 ” ,但事实上技术人人才的招聘缺口仍然很大。根据 Boss 直聘 的数据,2015 年主要互联网岗位需求指数中,技术仍然占据第 1 位,指数高达 1.67。表现出高度需求的状态。
在技术方向中,Java、安卓和前端需求量尤其高。在缺口如此大的情况下,非科班出身转行成为技术人员毫无疑问是可能的。不过在就业方面,的确非科班出身的人会比起科班出身的人有一定劣势。许多人认为 “ 培训班主要教的是一些速成的东西,不足以真正应对实际工作中灵活的场景。 ”
我们采访的一位一线技术部门的负责人印证了这一说法。他在面试一些辅导班和高中后自学的人员时坦言。“ 感觉思路很短,想问题浅,想深入探讨很难。” 而有时候短暂的技术面试又不能很好的检验出一个人的这些思维习惯,因此造成了很多招聘者对非科班出身人产生疑虑。
不过,这个问题并不是不可规避的。罗霄认为 “ 如果个人素质好,逻辑思维清晰,数学功底好的话。工作几年基本就不看出身了。” 另外几家创业公司的 HR 也认为:项目经历和核心表现更加具有说服力。
因此,对于转行者的第一份工作而言,一种变通的方法是:优先选择与自己本专业相关的或对接的技术岗位;或者在原公司的其它岗位调换到技术岗,或者在网络中寻找一些项目合作的工作机会。这样获得一定的项目经验积累及行业人脉之后再换到更专业的技术岗去。
由于工作经验不足。部分人采用了虚构简历,增加不存在的工作经历,或者将辅导班经历写成参与项目的方式进行规避,想着 “ 先上车后买票 ” 。但其实除非一些不正规的小型企业,这样的伎俩已经被用人单位熟知,如果被查出造假很可能会被列入HR们的黑名单。得不偿失。
程序员的生活:钱也不是那么好拿的啊!过来人现身说法:编程易学难精,还是要兴趣驱动
我的采访对象朱华宇,是一个经过极客学院培训后上岗的前端工程师。他不仅不是科班出身,而且是个学市场营销的文科生。在大学的时候,他与网络的交集仅仅是会玩游戏,会上网,以及用自动工具生成过网页而已。后来,工作上突然的变故让他重新考虑自己的方向。他一度想去转行做设计,但后来在设计过程中接触了Web开发。最终选择了在这条路上走下去。
回顾,华宇觉得最难的是代码背后逻辑。“(产品)怎么去实现,怎么去做,不自己去做是想不出来的。” 举初学者觉得较难的 Javascript,他一开始学的时候,不仅对命令的功能不清楚,而且对逻辑云里雾里。突破的时候很多是看他人的交互产品,不断模仿,不断摸索才会形成自己的思路。
在认真学习的基础上。三个月的时间可以应付不涉及后台的页面和简单交互。如果是纯静态网页的话,甚至一个月就可以上岗。他看到有人的确零基础学习了三个月就获得了一份每月八千的工作。
当被问到是否出现了“培训班”歧视,他承认的确有一部分公司会在面试中出现这样的现象。但是如果技术过关,或者能够表现出潜质,这并不是一个逾越不了的障碍。他在面试中就坦承自己是自学编程,但是在沟通中,被问到如何学习,他告诉面试官“在房间里只有书和电脑,除了睡觉就是学习。”最终,这种认真和强烈的学习兴趣打动了面试官。
(他也提到,部分面试官之所以反感辅导班,不仅仅是因为辅导班过于速成,而且因为这类人很多时候缺乏对于编程的兴趣,仅仅为了找工作,缺乏后劲。)
首先,编程的枯燥的确容易让很多人一开始打退堂鼓。尤其是当技术逐渐加深,涉及基础理论的时刻。线下渠道的封闭培训班教学方式更传统,而线上渠道和自学尽管更自由,资源更多,但也更不容易让人坚持下去。缺乏环境是另外一个零基础人容易遇到的问题,一些幸运的转行者能够找到愿意指导的老师和朋友,而如果周边没有这样的人就很容易在摸索中失去方向。
其次,技术不太可能通过单纯上课来培训。尽管三个月可以获得 8 K 的工作,但是并不等于闭门造车的学 1 年就可以获得 20 K 的工作。因为工作中随时随地都会遇到与课堂上完全不同的新状况,而合格的技术必须在不断实践、模仿与反思中成长。
第三,如果通过努力,无基础码农能够到达中级技术人员的标准(大约10K – 15K 收入)。但如果再往上走,会遇到更多的问题。首先是缺乏对技术的深度理解会成为一个劣势。以前端为例,此时需要了解的不仅是前端,而且是后台和整个网络架构,这需要更多的关于计算机的基础理论知识。此外,这个时候个人之前的技术储备也会渐渐见底,比起竞争对手会显现出劣势。
目前,华宇已经获得了一份不错的工作。但是他的努力程度与对这个行业的热爱,确实超出了我的预期。我在采访他的时候,时间已经接近凌晨一点。但他才刚刚下班。即便是不加班的时候,他也会花许多业余时间学习技术。这或许是许多转行的程序员生活的一个缩影:路的确不容易走,但是只要朝着自己的目标,就是幸福的。
关于零基础转行程序员,我们为你总结了以下几条:
1,除非天赋异禀骨骼惊奇,不然不要指望入行就有 20 K 月薪!或许在大公司,顶级学校,和突出的个人技术水平会有这样的待遇。但对于转行者来说,达到这个水平至少也要 3 – 5 年的时间。来源:PingWest中文网
2,从教育上,学会编程并不困难。但是个人最好要满足几个条件:基本的数学能力(以高考数学不挂科为准),对电脑和编程工作不排斥,逻辑思维要非常清晰。
3,技术行业门槛没有很多人想象的高,如果是想找一份糊口的工作,短时间的强化培训是可行的。但越往上走乃至于获得高薪,需要恶补的东西会越来越多。如果没有及时提升自己对于系统的基础理解,可能会在入行两到三年左右陷入职业的迷茫阶段。
4,辅导班和培训班可以加速人入门的速度,但是一个成熟的技术必须在工作和项目中磨练很长时间,指望一出辅导班便能有好工作对多数人而言并不成立。
5,兴趣导向,尤其是真正热爱编程这件事本身,比大多数人想象的都要重要。否则在后期会寸步难行。
6,前端、安卓需求量较大,其中前端较容易入门,可能是很多转行人士的首选。
7,不建议高考失利的青年直接去学习编程,大学提供的眼界和基础思维方式仍然是培训难以替代的。此外,招聘时大学本科仍然是许多公司的门槛。