既然报个培训班就可以成为码农,那学计算机专业有什么用?
程序员文章站
2022-03-29 19:01:07
...
作者:萝魏紫
根据我过去十几年的经验来看,计算机专业和非专业的重大区别出现在7年这个坎上面。也就是在高级工程师到软件架构师之间。注意这里的用词,是坎,而不是天花板。
在刚开始入行的时候,除了简历指标,有的公司就是要求学历的,这属于硬性规定,没办法的,扣除这个因素,其实培训班的前30%在实际操作当中的水平,是和科班的前40%差不多的,好于科班的后半。这个上面,可以参考考前冲刺班,因为培训班能够以最集中的方式来针对初级程序员就业需要的技术来练习,而计算机作为工程领域的技术,练习实际的技术在刚开始是非常重要的。这可以类比木工这种工程领域。
问题出在后半程,毕竟职业生涯有三十多年,不是冲刺入职而是马拉松。培训班给与的技能,是在使用层面的,而科班给与的知识,是在基础。刚开始的编程工作,技能重于知识,到深入了以后,技能不够用了,需要学习新的技能,这时候知识就起作用了,有了基础知识,才更容易学习新的技能,无论是更广,或者更深的技能。
我以前提拔过非科班的架构师,有的还是大专学历,我去找前公司HR总监特批的,这些人无一例外都有一段非常痛苦的时期,就在于从高级工程师转往team lead或者architect的时候,要吸收很多新的技术,但是理解起来比较难,要克服这个过程,是没有捷径的,你还是要学习那些跳过的,在科班里学过的知识,否则是无法上进一步的。
而反过来呢,科班的问题在于现在中国的计算机高等教育和实用性脱节,那些经典的理论教授了以后,科班的学生除了背诵,很难真的理解,他们可能能背出不少算法,但是实际使用当中,总会问,到底怎么用?这是实用性的问题,因为大学引入最新实用科技的速度限制了这种。所以我一直推荐科班学生去上上便宜的网课,网课基本上不教基本理论,全部是实用技巧,这正是科班学生欠缺的。
总的来说,科班起步总是好过培训班的,毕竟四年以上专业化教育,就算普通听听也是打下不少基础,虽然很多人后来因为各种主观客观的原因没成功,但是起码基础在。
作者:沉默王二
如果你就是想混口饭吃,只想做个 35 岁就被辞退的码农,真的不用报计算机专业,搞那些晦涩难懂的计算机理论,报个班,短期培训下就可以。
如果想活的好一些,计算机专业最核心的计算机组成原理、操作系统、数据结构与算法、编译原理等等还是要去学的。
如果你要问我学这些有用吗?
我直接告诉你,有用,可能你也不会信,但最后你找工作时候的薪资自然就会告诉你。
记得当年上操作系统这门课的时候,老师在第一堂课就说了一句让我印象深刻的话:“这门课的最大好处,就是能提高同学们的计算机科学素养。”
的确,对于当时还没有走出新手村的我来说,操作系统这门课的确让我感觉晦涩难懂,不如敲出来个“hello world”让我感到兴奋。
但 13 年的编程经验告诉我,操作系统这门课的确让我受益匪浅。
操作系统是计算机系统的核心和灵魂,是非常重要的系统级别的软件。学习操作系统的好处有 3 点:
1)可以打通计算机的整个知识体系,让我们能够全方位了解计算机的工作原理。
2)可以提升程序运行的效率和开发的时间效率。
3)举个例子来说吧,比如说你要做一个网络代理软件,本质上来说,不过是从 socket 上收一个包然后转发给另外一个 socket 而已,好像和操作系统没啥关系。但当你真正做的时候,你就会发现,用一个线程处理网络 IO,只要写对了,哪怕系统压力很大,只要 CPU 能扛得住,就可以保证延迟总是在一个毫秒之内;但如果用了多线程来处理收和发,反而网络压力一增大,延迟就会增加,可能瞬间就突破几十个毫秒了?
如果对操作系统的调度原理、时间片等概念如果没有深刻的理解,是搞不懂的。
但报个培训班要考虑到实践周期,是没办法教操作系统这门课的,因为性价比很低,实践不允许。
培训班的课程会注重培养你的实战能力:
怎么快速搭建一个 Spring Boot 项目?
怎么配置日志框架?
怎么发送邮件?
怎么做个商城?
怎么使用 MQ?
等等。
也就是说,如果你想拔高自己的上线,报计算机专业是个明智的选择,因为大学四年,你的时间很充沛,有时间有精力去学习。而培训班因为要面对就业的压力,在学习计算机组成原理、操作系统、数据结构与算法、编译原理会比较焦虑。
根据我过去十几年的经验来看,计算机专业和非专业的重大区别出现在7年这个坎上面。也就是在高级工程师到软件架构师之间。注意这里的用词,是坎,而不是天花板。
在刚开始入行的时候,除了简历指标,有的公司就是要求学历的,这属于硬性规定,没办法的,扣除这个因素,其实培训班的前30%在实际操作当中的水平,是和科班的前40%差不多的,好于科班的后半。这个上面,可以参考考前冲刺班,因为培训班能够以最集中的方式来针对初级程序员就业需要的技术来练习,而计算机作为工程领域的技术,练习实际的技术在刚开始是非常重要的。这可以类比木工这种工程领域。
问题出在后半程,毕竟职业生涯有三十多年,不是冲刺入职而是马拉松。培训班给与的技能,是在使用层面的,而科班给与的知识,是在基础。刚开始的编程工作,技能重于知识,到深入了以后,技能不够用了,需要学习新的技能,这时候知识就起作用了,有了基础知识,才更容易学习新的技能,无论是更广,或者更深的技能。
我以前提拔过非科班的架构师,有的还是大专学历,我去找前公司HR总监特批的,这些人无一例外都有一段非常痛苦的时期,就在于从高级工程师转往team lead或者architect的时候,要吸收很多新的技术,但是理解起来比较难,要克服这个过程,是没有捷径的,你还是要学习那些跳过的,在科班里学过的知识,否则是无法上进一步的。
而反过来呢,科班的问题在于现在中国的计算机高等教育和实用性脱节,那些经典的理论教授了以后,科班的学生除了背诵,很难真的理解,他们可能能背出不少算法,但是实际使用当中,总会问,到底怎么用?这是实用性的问题,因为大学引入最新实用科技的速度限制了这种。所以我一直推荐科班学生去上上便宜的网课,网课基本上不教基本理论,全部是实用技巧,这正是科班学生欠缺的。
总的来说,科班起步总是好过培训班的,毕竟四年以上专业化教育,就算普通听听也是打下不少基础,虽然很多人后来因为各种主观客观的原因没成功,但是起码基础在。
作者:沉默王二
如果你就是想混口饭吃,只想做个 35 岁就被辞退的码农,真的不用报计算机专业,搞那些晦涩难懂的计算机理论,报个班,短期培训下就可以。
如果想活的好一些,计算机专业最核心的计算机组成原理、操作系统、数据结构与算法、编译原理等等还是要去学的。
如果你要问我学这些有用吗?
我直接告诉你,有用,可能你也不会信,但最后你找工作时候的薪资自然就会告诉你。
记得当年上操作系统这门课的时候,老师在第一堂课就说了一句让我印象深刻的话:“这门课的最大好处,就是能提高同学们的计算机科学素养。”
的确,对于当时还没有走出新手村的我来说,操作系统这门课的确让我感觉晦涩难懂,不如敲出来个“hello world”让我感到兴奋。
但 13 年的编程经验告诉我,操作系统这门课的确让我受益匪浅。
操作系统是计算机系统的核心和灵魂,是非常重要的系统级别的软件。学习操作系统的好处有 3 点:
1)可以打通计算机的整个知识体系,让我们能够全方位了解计算机的工作原理。
2)可以提升程序运行的效率和开发的时间效率。
3)举个例子来说吧,比如说你要做一个网络代理软件,本质上来说,不过是从 socket 上收一个包然后转发给另外一个 socket 而已,好像和操作系统没啥关系。但当你真正做的时候,你就会发现,用一个线程处理网络 IO,只要写对了,哪怕系统压力很大,只要 CPU 能扛得住,就可以保证延迟总是在一个毫秒之内;但如果用了多线程来处理收和发,反而网络压力一增大,延迟就会增加,可能瞬间就突破几十个毫秒了?
如果对操作系统的调度原理、时间片等概念如果没有深刻的理解,是搞不懂的。
但报个培训班要考虑到实践周期,是没办法教操作系统这门课的,因为性价比很低,实践不允许。
培训班的课程会注重培养你的实战能力:
怎么快速搭建一个 Spring Boot 项目?
怎么配置日志框架?
怎么发送邮件?
怎么做个商城?
怎么使用 MQ?
等等。
也就是说,如果你想拔高自己的上线,报计算机专业是个明智的选择,因为大学四年,你的时间很充沛,有时间有精力去学习。而培训班因为要面对就业的压力,在学习计算机组成原理、操作系统、数据结构与算法、编译原理会比较焦虑。
上一篇: PHP获取变量的类型
下一篇: JS+jQuery编写简单选项卡的示例