欢迎访问树枣文字网!

非科班程序员和科班程序员的差距到底有多大?

树枣文字 分享 时间: 加入收藏 我要投稿 点赞

 

阅读本文大概需要 5 分钟。

作者:黄小斜

作为一名典型的非科班程序员,我在学习和工作一段时间之后,发现了本人跟科班程序员还是有很多的的区别,不管是思维上还是做事风格,以及对待问题的处理方式,都感觉有些差强人意。

今天我就给大家梳梳理一下,科班成为相对于非科班程序员,他们的优势到底在哪里?

第一点那就是算法能力。为什么要强调这一条呢,大公司总是喜欢考算法,平时有些项目也有可能用到算法,总之算法就是衡量一个程序员的一把利器,作为非科班程序员,大部分时间,学习算法都只能靠本人,作为计算机领域的一门难题,没有老师指点,没有一些好的学习方式,那么你在算法上面的成长,可能也会很少。

对于算法问题,即便是科班的程序员往往都很难以去克服,更别说我们这些半路出家的程序员了,记得我当初连数据结构,都不晓得是个啥,这种情况下去学习算法,真的就是扯淡,学会了数据结构之后,发现也只是学了皮毛,等真正接触一些面试算法题,才发现计算机的世界原来如此的博大精深。

除了算法之外,更要命的东西来了,就是计算机基础,传说中的四门专业课,我相信这几门课程也是横亘在科班程序员和非科班程序员之间的一道巨大鸿沟,科班程序员基本上在大学期间都无机会接触到这些基础课程,而非科班程序员几乎是无法接触到这些课程的。

一般来说,他们能够掌握一门言语,并且学会了如何做项目之后,就觉得本人已经学的很多了,很多非科班的程序员都不晓得,对于程序员来说,这些作为根基的东西也是他们必须需要学习的,比如计算机网络,网络编程的基础,如果我们搞不懂计算机网络的话,你甚至连电脑上的ip配置都搞不清楚。

操作系统则是很多编程言语能够运转的基础,不管你用的是Java,还是C++,你都要对操作系统有一定程度的了解,操作系统是你理解各种高级编程言语的基础,特别是后端编程,我们需要考虑内存管理,考虑并发编程,考虑网络编程,等等等等,这些东西都必须跟操作系统打交道。

数据结构就不用说了,刚才我们在算法里已经提到了。还有一门很重要的课程就是计算机组成原理。你不晓得计算机组成原理,你就不晓得电脑到底是怎样启动的,更不晓得CPU到底是如何运转的,如果你连这些都不晓得,等以后你真正遇到这些问题时,再让你从头学起,岂不是天方夜谭?

想到这里,我不由两行清泪,我的计算机基础其实也是靠本人恶补补回来的,虽然说现在也只是个半桶水,但是也已经算是非科班程序员中做的还算不错的了,即便如此,我还是经常在遇到实际问题时,因为对计算机基础掌握得不够好而走弯路。当然了,非科班程序员也有本人的优势。

比如说,理解事情的能力和处理问题的能力,我觉得科班程序员,他们能够成为一个程序员,是一个非常正常的事情,他们按照本人的原有轨迹去做,毕竟这是他们比较熟悉的领域,并且能够把它们做好,非科班程序员就像是半路杀出个程咬金,可能你不晓得他之前的积累是怎样样的,你只晓得他现在可以通面试。

这里不得不提一点,就是非科班程序员的跨界能力,非科班程序员大多是自学成才,其实要跨界成为一个程序员,还是比较有挑战的,毕竟我们可以在他们身上看到更多的可能性,他们愈加有变通的思维,至多在自学这个方面,他们愈加有话语权。

所以非科班程序员往往更有自学能力,他们有很好的技术视野,晓得如何去扩展本人的技术边界,毕竟他们晓得如何很快的切换到另一项技术,或者是另一个领域。对于非科班程序员来说,这种跨界的尝试会愈加的轻松一些。总结了以上这几点,我觉得科班程序员和非科班程序员并没有什么天壤之别,只不过大家开始的时候不一样。

大学的时候由于学校缘由,我没有选择计算机专业,但是我在读研的时候,仍然选择了我当时想要选择的计算机专业,也有很多人是为了高薪进入互联网公司,也有很多人是因为本人的热爱而开始自学。

不管出于什么目的,不管是如何开始的,非科班程序员和科班程序员在未来的道路上都会逐步的越走越近,最终他们之间可能没有太大的差距,我想他们各有各自的优势,也各有各自的缺陷,你说呢?

微信公众号【黄小斜】作者是蚂蚁金服 JAVA 工程师,专注于 JAVA 后端技术栈:SpringBoot、SSM全家桶、MySQL、分布式、两头件、微服务,同时也懂点投资理财,坚持学习和写作,相信终身学习的力量!关注公众号【黄小斜】回复「Java」、「Python」、「C++」、「大数据」、「算法」、「AI」、「Android」、「前端」、「iOS」、「BAT」、「校招」、「笔试」、「面试」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习材料。 点击扩展链接免费领取10本程序员经典必读电子书!

221381
领取福利

微信扫码领取福利

微信扫码分享