零基础、非计算机相关专业的如何转型程序员
科学技术是第一生产力,社会对IT技术人才需求越来越大,IT技术从业人员的待遇薪资在各行业中列第一位。
中国经济高速发展的时代正在结束,很多传统行业的招聘职位越来越少,竞争激烈,待遇薪资也不理想,还有很多可能在当初选专业的时候就错了,所以很多非计算机专业的兄弟想转行IT技术,说准确一点就是想成为程序员。
由于在大学里学习的不是计算机专业,不了解IT行业,就会有很多的迷茫和顾虑,程序员在做什么?如何开始学习?要学习多久?该选择哪种编程语言?要不要去IT培训机构?转型能成功吗?企业会录用非计算机专业的程序员吗?
一、非计算机专业程序员现状
二十年来,我见过的非计算机专业的程序员太多了。
有多少?没有关心这个数据。
为什么不关心这个数据?太常见了,没什么好关心的。
二、计算机专业的课程内容
我们先来看一下大学计算机专业的课程大纲。
1、大学物理、大学物理实验
物理知识高深莫测,对于推动世界发展至关重要,但是如果未来不从事物理研究和教学工作,整天研究些大学物理有啥用呢,青春有多少可以浪费?
我从没有听说过程序员谈论物理知识。
2、电子、电路、单片机、自动控制
亲戚朋友知道我是做软件开发的,偶尔有人要我帮他们修理电器或电脑,他们认为那么难的软件都会,修理电器或电脑肯定没有问题。我是真的不会。
除了嵌入式开发方向,我从来没有见过程序员去搞电脑的主板、电路,也没听说谁有焊机。
我刚出江湖的时候,开发了一个点歌系统,只有小键盘(数字键盘),为了防止客人按到NumLock键,我用刀片把NumLock的电路割断了。
3、思修(有时也叫德育)、马哲、邓论等
道德水平怎么能够是靠上课考试教化而来的呢。政治类的东西要是考研可能还有点用,不过学生都超级反感这些东西,一般没几个把它们认真当门课来学的。
4、程序设计
C 语言、C++、Java、Python等,当然每个学校开的课 不一样,有的可能还学 VB 呢。
学习的内容和深度只有小学生水平,但确实培养了写程序的感觉。
5、数据结构、操作系统、组成原理、编译原理、数据库原理、汇编语言
操作系统和组成原理关系到您对计算机理解到什么程度,尤其做一些底层开发更是不可或缺的知识,将来是当软件民工还是当研发人员就看它们了。
不过目前国内的教材实烂啊,大都晦涩难懂。
做什么软件最赚钱,当然是开发操作系统、数据库系统、还有word、excel等,但这些都是美国程序员做的事情,国内程序员以应用开发(做项目)为主,数据结构在应用开发中经常用到,其它的好像可有可无。
6、计算机网络
搞网络的好像更像一个维护人员,还不如一个普通的程序员,程序员怎么说也是做开发的。
对程序员来说,网络方面的知识只要了解相关的概念,明白原理就可以了,不必太深入。
7、微积分、线性代数、概率与统计
数学是理工科的基础,没有数学哪来的计算机。不过如果您就想当个程序员或许它们的作用就容易被淡化了。一些专门的方向对数学要求很高,比如做图形图像方面开发的,整天玩的就是数学。
国内的程序员其实就是一个软件组装者,更多的是开发一些应用系统,数学的作用对我们影响并不大。程序员在工作十年后,如果不是算法岗位,中学时期的数学知识估计也会忘掉大半。
8、软件工程
做了二十多年我项目,教材中软件工程的知识实在太简单。
在我看来,软件工程要从项目前期的准备开始,包括前期的预算、计划方案、行政审批、招投标、中标、合同、实施、验收、运维。教材中的软件工程基本上只有实施这一个环节,实施是软件工程中最简单的工作。
9、英语
看看马云,英语好,可以接触到国外先进的文化和思想,境界就是不一样,吹出的牛也是出神入化。
计算机专业的课程中,英语比其它任何知识都重要。
10、中国近现在史
历史本来是极其重要的学科,但是普通人把它当成故事来听。懂历史的人是很少的。
11、体育
在大学里,没学到知识就算了,把身体煅练好也不错,身体是革命的本钱。
12、语文
没有文化,程序员的技术难以发挥,没有文字功底,连技术文档都写不好,更别提项目方案了。
三、教育模式的缺陷
中国应试教育模式的缺陷国人皆知,学校里教的内容远远达不到企业的要求。
传统行业的情况我不了解,情况可能没那么糟糕。但计算机是更前沿技术,知识的更新比其它行业要快很多,大学教育模式的落后是不争的事实。
计算机专业的学生,在工作中才能学习到实用的技术和经验。
四、学历很重要
大学几年,最重要的是拿到毕业证书,知识?考试过了后也基本上就忘了,剩下的也只是一些模糊的概念。
企业的招聘的时候,会要求学历,但并不一定要求专业是否对口,技术能达到岗位需求更重要。
五、没有学历怎么办
大学毕业证书很难买到。
没有学历,那就提升实力,您必须要比别人付出更多,这很公平,因为别人为了学历已经比您付出了很多。
没有学历,进大公司和国企业的机会不多,但是,中小公司的机会还是有的。
六、您与计算机专业学生的差距
计算机专业的学生知道的比您多,看到的比您多,有程序员的感觉。
下面是我与在校学生的群聊记录,很有趣。
七、追赶需要多长时间
计算机相关专业的学生,在大学里学到的东西实在有限,离企业的需求差得太远,他们毕业进入社会后必须再学习,学习也只能靠自己。
在我看来,相同学历的情况下,非计算机专业的学生追赶计算机专业的学生不超过三个月。
概念性的知识点和知识面,不超过一个月。
培养写程序的感觉,不超过两个月。
您需要三个月,这是保守的估计。
八、技术方向的选择
技术方向的选择是人生大事,除了C语言和JAVA,其它的不考虑。
九、版权声明
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
版权声明: 本文为 InfoQ 作者【C语言技术网-码农有道】的原创文章。
原文链接:【http://xie.infoq.cn/article/e41ec9f4b9fb99755b1446517】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论