作者 | 梅梅

本文经授权转载自100offer(ID:im100offer)

2019年的高考志愿填报基本结束,又一群00后们即将迈入大学校门,成为某某专业的新人。不管这个专业是他们熟悉或者不熟悉,自主选择还是被迫调剂,大多数人都要在这个专业学习3-5年,最后顶着某某专业毕业生的身份进入求职市场。

专业选择重不重要?这几乎成了每年高考后的「全民话题」。有人说「专业决定就业」,有人说「职业无关专业」。对于程序员群体而言,大学专业对他们的职业选择发展又有着怎样的影响?非科班的程序员都来自哪些专业?非科班程序员在求职和职业发展中是否会受到专业限制?100offer将结合平台数据和候选人采访,揭开程序员身上的「专业面纱」。

程序员这碗饭,科班出身更「吃香」

百度百科对于「计算机相关专业」的定义是:包括计算机、电子、通信、信息、数字、自动化、生物医学工程相关的学科。本文将以此定义来划分「科班程序员」和「非科班程序员」。根据我们统计,计算机相关专业的程序员,即「科班程序员」,占程序员总比例81%,而非计算机相关专业的程序员,即「非科班程序员」,仅占总比例的19%。

凯奇结合自己的亲身体验,侧面证实了这一比例的合理性。「我们公司的程序员差不多也是这样的分布。虽然网上有很多非计算机相关专业的程序员自学成为大牛的传说,但是相比计算机相关专业的程序员,这样的概率远远偏低。毕竟四年的计算机专业学习,决定了一个程序员的起点甚至最终能够达到的高度。

虽然越来越多的企业在程序员招聘时不再将「计算机相关专业」作为门槛,但是在实际招聘中却无一例外地更青睐科班人才。

除非你有大厂背景,有很强大的项目经验,否则你很难说服面试官你没有四年的专业学习,照样比那些科班毕业生更强。」作为公司技术招聘面试官的凯奇说,相对于社招的综合考量,很多企业的校招更倾向简单粗暴。

非计算机相关的程序员在社招时还有工作经历来证明自己,但是对于应届毕业生,企业更愿意在计算机相关院系中挑选种子选手。

今日头条2019年校招JD

对于程序员的「专业出身」,网上一直存在两种论调。一种认为是否为计算机相关专业对于程序员的影响不大,毕竟编码是一个实践性很强的工作,用的技术与语言需要在实际工作中不断积累,学校里学的都是偏理论性的知识,对于实际工作意义不大。

另一种认为科班程序员和非科班程序员即使看似code水平差不多,在初级阶段也看不出太大差距。但是一旦进阶到中高级,差距就日渐显现。非科班的程序员缺乏底层知识和原理,根基不稳导致他们很难到达程序员行业的金字塔尖。

凯奇也表达的了同样的观点。他列举了工作中的一些细节来说明科班与非科班程序员的差别。比如对于一些技术常用语的掌握,非科班的程序员很容易按字面翻译而闹笑话。比如将portable理解成便携的,PDF误读为便携式文档格式,将class library直译为班级图书馆。

除此之外,很多非科班的程序员经常把C/C++写成C\C++。「这些看似都是一些小细节,但是却恰恰反映出一个程序员的专业素养。很多自学与转行的程序员最大的问题就是急功近利,只注重死记硬背,面试都能够应付,但是在实际工作中却很难独挡一面。

对于一些公司将培训班的程序员「拒之门外」的现象,凯奇说并不能怪这些公司区别对待。「培训班教出来的更多是码农,而不是真正的程序员。很多人在培训班里学了一门语言加框架,做些小项目,刷刷面试题,就感觉自己很厉害。这种急进的教学方法虽然短期有效,但是长远来看却是害了很多人。」

「不过,并不是科班程序员一定比非科班的程序员吃香。如果大学四年全程都在混,即使从计算机相关专业毕业也无济于事。但是相比那些扎实学了四年专业基础的科班程序员,非科班的程序员想要追赶上他们,必须要付出双倍的努力。这才是大部分非科班程序员所缺乏的。」凯奇最后说道。

只有想不到的专业,没有不能转的「门外汉」

为了更好地分析非科班程序员的专业来源,现按照国务院学位委员会、教育部颁布的《学位授予和人才培养学科目录(2011年)》中13大学科门类,将2676位非科班程序员按专业划分为文史哲教、经管法、医农、艺军和理工五大类。

根据统计可以看出,即使是非计算机相关专业的程序员,70%仍然为理工生,其次是文理兼修的经管法专业,再次是艺术专业(军事学仅6人),偏文科的文史哲教和偏生化的医农专业则占比最少。

在大家普遍印象中,理工男才是程序员的代名词。但实际情况是,程序员的专业五花八门,几乎囊括所有类别。这得益于计算机基础课程在大学的普及,很多学校甚至把通过全国计算机等级考试作为学生毕业的必备条件,这使得大部分大学生都具备了一定的计算机或编程基础。

互联网的快速发展催生了「程序员就业热」,许多对计算机感兴趣或本专业不好就业的学生在供需关系的推动下,毫不犹豫地投身「转行大军」。

100offer候选人彦霖出身于一个医学世家,就读重点医科大学临床医学专业。本可以在医学这条道路上顺风顺水的他,因为向往互联网自由开放的氛围,不顾周围人的反对「脱下白大褂,穿上格子衫」。彦霖说自己是一个不拘小节、自恋且幽默的人,气质更符合互联网而不是医院。

「医院是一个熬资历和工龄的地方,互联网则完全相反,充满了朝气与个性。彦霖坦言自己从未参加过任何编程相关的培训,一切技能皆是自学。他自认是一个有着超强学习能力,并且能够保持高度学习热情的人。

「我研究术数风水十年,大学为了保持高效高质的交流,还自学了心理学与国学,所以编程对于我而言更像是一种乐趣,而不是负担。」有三年工作经验的彦霖,在将互联网大厂与创业公司都历练一遍后,更加坚定了他扎根互联网的信心。「这个行业充满了变化,极大地满足了我的好奇心。最开心的是,我终于可以每天穿着人字拖去上班了。」

与彦霖的「兴趣转行」不同,音乐表演毕业的美玲将自己的转行视为「弃暗投明」的权衡之计。在一家互联网公司做了两年的会计,美玲深感自己的未来一片灰暗。觉察到程序员是一个「前途」和「钱途」都不错的职业,她决然裸辞上了半年的培训班,转行做了前端程序员。

虽然毕业十年的她薪资在同龄程序员中处于垫底,但是美玲仍然认为自己八年前的转行是自己做过最正确的决定。「我们专业除了几个当老师行政的,其他人都是左一个行业右一个行业地换,很多女生因为不好找工作干脆当了家庭主妇。」因为本专业和计算机相差甚远,美玲在转行之初并不是太顺利,一连换了几家小公司,直到两年后才逐渐稳定下来。

谈及是否因为专业受过「歧视」,美玲说转行前两年每次跳槽必然被问到这个问题,但是之后面试基本没被问过,重点还是集中于项目经历。「程序员没大家想得那么高不可攀,只要下定决心,专业根本不是问题。

人人皆可程序员?最终得靠「基本功」

有人曾预言未来编程将和英语一样,成为大众普及的技能,人人皆可做程序员。100offer职业顾问丽娟认为这种观点混淆了「职业」与「业余」的区别。「编程作为兴趣可以广泛,但是作为职业一定要经过系统持久的学习和训练。这也是初级和中高级程序员的差别。

从计算机相关专业程序员和非计算机相关专业程序员的人均薪资对比可以看出,1-3年工作经验的程序员不管是否为科班出身,人均薪资差距并不算大。但是随着工作年限的增加,人均薪资差距逐渐拉大。而人均面邀数则与之相反,工作年限越久,科班与非科班程序员的人均面邀数差距越小。

与上文提到的美玲相似,很多非科班程序员的薪资涨幅长期处于「低压」状态。丽娟说这和缺乏大学四年的专业学习不无关系。「除了编程思维比较弱,很多非科班程序员缺乏长期的职业规划与思考,很容易急功近利,通过不断地跳槽寻求加薪,而科班的程序员相对要更稳当一些。

历史学专业的致远便是这样的情况。2012年毕业的他迄今为止已经换过6份工作,每一份都不满一年,职位也一直停留在Web前端开发。「我也知道频繁跳槽不好。但是我是从包装设计转行程序员,从传统公司到互联网,内心一直缺乏安全感。我总是很轻易地因为别人的升职加薪而感到焦虑,试图通过跳槽变得更优秀,然而却怎么也跳不去自己想去的公司,薪资也一直涨得很慢。

纵观那些「一路通关」的非科班程序员,无一不在「基本功」上下足了功夫。有人大学时辅修了计算机软件专业,有人跨专业考研到计算机相关专业,有人参加各种编程大赛历练自己。

「从招聘方的角度,我们不太建议0基础转行。虽然程序员的很多技能点可以在工作实践中获得,但是底层原理和逻辑思维却需要在学校提前学习和培养。」丽娟说起很多程序员Code能力很强,但是面试一被问到底层基础知识就发蒙。「有些程序员抱怨面试官问的基础知识与实际工作毫无联系,但公司的真正目的是在考察你的基本功,以此来判断你之后能否成长为他们最终需要的高级人才。」

非科班程序员专业云图,来源:100offer

从非科班程序员专业云图可以发现,虽然来源类别丰富,但是占比靠前的几个专业都和计算机基础学习紧密相关。例如理工科的「数学和应用数学」、「电气工程及其自动化」和「机械设计制造及其自动化」,经管科的「工商管理」和「国际经济与贸易」,文科的「英语」以及艺术类的「艺术设计」。这些课程学习不仅打下了程序员所需的技术和语言基础,而且进一步拓宽了其他领域的学习。例如经管专业的程序员在金融互联网领域如鱼得水,艺术专业的程序员更注重功能和美观的结合。

「相比单一的科班程序员,这些融合了计算机基础和其他不同学科的非科班程序员更受垂直领域互联网公司的青睐。但是不管领域如何广泛,计算机基础是1,有了这个1,后面无数个0才有存在的意义。」

结语

「现在为工作流的泪,都是当初选专业脑子进的水。」这句话成为很多职场人表达「选错专业误终生」的调侃,也就有了网上「劝人学医,天打雷劈;劝人学法,千刀万剐;上辈子杀猪,这辈子教书」的段子。但是历数每个专业,似乎都难逃吐槽之音,就连热门的计算机专业,不也被打上了「秃顶」、「码农」等标签吗?

从长期职业生涯来看,专业是否对口只决定了工作前两年是否得心应手,之后的发展完全取决于个人的持续学习与努力。很多非科班程序员在工作中落后于科班程序员,纵然有专业不对口的原因,但是更多的是由于个人后期学习不够扎实,缺乏持之以恒的韧劲。

如果你已经落后,唯一的选择就是在别人走的时候选择跑。」这是一位27岁转行的非科班程序员说过的话。他用了不到3年的时间跳槽到大厂P7,成了别人口中的「传奇」。当然,与其中途追赶,不如在起跑前就做好准备。毕竟大学生活,如果不谈恋爱不打游戏,无聊得该只剩下学习了。

你是什么专业的程序员?不妨留言,写下你的「专业」与「职业」体会。

作者简介:本文由100offer公众号(ID:im100offer)授权转载。100offer 致力于为 2 年以上经验的中高端互联人,提供北上广深杭、新加坡等地的工作机会。

本文数据除另行说明外,均取自 2017 年 1 月 1 日至2019年 4 月 30日,经筛选在 100offer 进行匿名展示的14437 位中国地区程序员求职者。

 热 文 推 荐 

☞金山云肖江:5G 驱动智慧人居新发展

☞漫画:程序猿垃圾分类实践

☞暗网竟成比特币最大用户? 上半年 5.15 亿美元被用于非法活动

☞性能提升 3 倍的树莓派 4,被爆设计缺陷!

☞用50年前NASA送阿波罗上天的计算机挖矿什么体验? 出一个块要10^18年……

☞Kubernetes端到端解决方案Part3:如何正确部署Kubernetes

☞《长安十二时辰》教了哪些算法知识?

☞中文repo“霸榜”GitHub Trending,国外开发者不开心了

☞中国第一程序员,微软得不到他就要毁了他!

你点的每个“在看”,我都认真当成了喜欢

非科班出身程序员,如何超越科班程序员?相关推荐

  1. 培训班出身的程序员,和科班程序员有什么区别?

    对于程序员的专业出身,一种是科班程序员,也就是上了大学的程序员,一种是在培训机构用三五个月学完了技术,然后出来找工作的程序员. 对这两种程序员,哪个更容易找工作,外界评判不一. 一种认为是否为计算机相 ...

  2. 二八法则,程序员职业生涯真的很短吗?非科班出身,就不能成为大厂程序员吗?(内容过于现实)

    导语 我没有否定深耕的意义,但是,千万不要觉得仅凭自己的努力能摆脱这个社会的规则.请尊重一下现实. 我不是科班,我是程序员 从计算机发展史来看,纸带,机器码,编译器,汇编,C,C++,JAVA,其实程 ...

  3. 非科班出身程序员该如何弥补技术差距?

    在目前非科班出身半路转行者往往成为程序猿中比较敏感的一部分. 伴随着互联网行业的发展,市场对Java工程师的需求一直居高不下,程序员也不再囿于计算机科学或软件工程等个别专业的毕业生.「非科班」程序员的 ...

  4. 揭开程序员身上的「专业面纱」:非科班程序员,都来自哪些专业?

    [文章来源微信公众号:每天学编程] 专业选择重不重要?这几乎成了每年高考后的「全民话题」.有人说「专业决定就业」,有人说「职业无关专业」.对于程序员群体而言,大学专业对他们的职业选择发展又有着怎样的影 ...

  5. 傲慢与偏见:程序员非科班出身就得不到重用?

    昨天有个读者微信上私聊了,他的职业困惑,说: 自己可能是非科班出身的吧,自身技术刚开始也比较菜,刚入职的时候,老大找他谈话,意思是非科班出身的程序员,基本上都是号称嘴上自己学习,其实水平都比较差.这可 ...

  6. 程序员百万高薪,写给准备转行的朋友:非科班出身,怎么成为程序员!(建议收藏)

    热度还蛮高 歧视? 现在,确实有很多"专业"程序员歧视非科班出身的程序员.其中主要原因是,非科班出身的程序员缺少某些必要的课程和训练,因而会在团队合作时产生一些困扰. 既然知道这个 ...

  7. 尤雨溪:全职做开源年薪百万,非科班程序员也能成功

    9 月 19 日,VUE 终于迎来了 . 众所周知,VUE 的作者尤雨溪是一个资深的二次元爱好者.自 2014 年以来,VUE 的每个重要版本都会被赋予一个神秘代号.从 VUE 1.0 的 " ...

  8. 半路出家自学JAVA!非科班出身也能做程序员?

    半个月前和几个朋友进行了一晚上的促膝长谈,其中一个计算机专业的朋友大学不是那么理想,大学期间也没有专心学习,结果毕业之后找工作才发现自己问啥啥不会.还有一个并非计算机专业的人想要进行技术岗位,打算自学 ...

  9. 从淘宝第1位程序员, 到阿里合伙人,20多年了,非科班出身的他还在编程,程序员的榜样

    2003年4月9日,马云把蔡景现(花名"多隆")叫到办公室,并给了一份新合同,他问蔡:"有个秘密的项目你要不要去参加?" 因为看不懂全英文的合同,蔡说:&quo ...

最新文章

  1. C++中关于流的概念
  2. SpringBoot培训教程--史前文明之Spring简介
  3. 最常用 150 个Linux命令汇总(建议收藏)
  4. python散点图拟合曲线-python 拟合曲线并求参
  5. 《中国人工智能学会通讯》——10.22 能源互联网时代
  6. 用技嘉Windows Image Tool给原版WIN7镜像注入USB3.0驱动
  7. 安兔兔跑分可信吗_安兔兔安卓手机跑分性能榜公布:第一名实至名归?
  8. 常用FTP命令 1. 连接ftp服务器
  9. 709. 转换成小写字母
  10. 第十届蓝桥杯 等差数列(Python)
  11. pysimplegui 显示 html,PySimpleGUI 的第一个桌面软件
  12. 我的Android进阶之旅------gt;Android中编解码学习笔记
  13. 运筹优化(四)--线性规划之对偶问题和灵敏度分析
  14. Java中的对象都是在堆上分配的吗?
  15. 服务器 'XXXXXX' 上的 MSDTC 不可用。解决方法
  16. 使用SpringSecurity 实现 OAuth2 资源服务器认证服务器分离( 注册码模式)
  17. PHP连接mysql原生代码
  18. PE破解操作系统密码原理
  19. 一个文字类RPG游戏框架(走过路过别错过)C++
  20. linux练习题十七

热门文章

  1. dataflow_Apache Beam,Google Cloud Dataflow和使用Python创建自定义模板
  2. vue2的生命周期函数
  3. 多线程实现多个窗口卖票问题
  4. Java实现百度地图距离计算
  5. 我的2019“木桶插曲”——三个月考上研
  6. java mail 是什么_JavaMail是什么意思
  7. uniapp微信小程序获取屏幕宽高
  8. Python爱好者 socket模块传输文件 -
  9. 数据库并发问题和事务隔离界别
  10. 记一次亲身经历的高速三车追尾及处理全流程