• 生活小妙招免费各类生活中的小问题知识以及音乐简谱等,是你了解世界未知知识的好地方。

程序员是学的越多越好,还是专精一些好呢?

十万个为什么 空空 2024-3-26 17:54:50 2次浏览

关于问题程序员是学的越多越好,还是专精一些好呢?一共有 2 位热心网友为你解答:

【1】、来自网友【独山海铃兰皮肤管理】的最佳回答:

问题的关键在于你学的不多你找不到工作,你学的不深你也找不到工作!

我曾经去平安面试的时候,因为大学学的是电子信息工程,学过 C,面试官硬是让我对比了下 JAVA 和 C 的异同,编程风格,最后说到汇编语言,单片机!我真的是无力吐槽啊。。。所幸还是过了,然后问得东西大部分还是本语言相关的,比如 SQL,JS 等语言也会提及,也会问是否知道 C 等的开发!

比如说 JAVA 面试:

多的方面面试官起码会问你 JAVA 基本类型,面向对象思想,文件操作,多线程模型,SQL 操作与优化,单例模式等设计模式,spring 框架,mybatis 框架,netty 框架,redis,memcache 等缓存,消息中间件,性能监控等等东西!

深的起码问你 spring 的原理 ioc,DI,怎么用的反射来管理 bean 的,问你 netty 基于什么?NIO,reactor 模型是啥?有多少线程模型?会问你 JVM 底层原理,垃圾回收算法,fullGC 的触发原因,怎么解决?垃圾收集器有几种?区别是啥?

所以作为一个程序员,就要有程序员的觉悟,不仅要学的多,还要精通得多!

不过理论上是不推荐所有东西都要求精通的,一个人的精力毕竟有限,不可能所有问题都亲力亲为!

只有精通了一门语言或者技术,就能融会贯通所有的编程,因为技术都是相通的,只有捅破一扇门,才能有捅破后面的无数门的机会,只有去尝试了,才知道能不能做到!

比如说之前我接手一个项目,花了两天时间看代码,然后就让我接需求进行开发(尽管很抵触),最后在做的过程中把项目也认识了个七七八八,如果只是单纯的看代码,我应该掌握的没那么快,所以学习新技术还是靠自己的用心深入的去钻研,去练习!

我还走在多学多精通的路上,期待你的交流,更多技术分享,敬请关注。。。

【2】、来自网友【IT 人刘俊明】的最佳回答:

这是一个很好的问题,作为一名计算机专业的教育工作者,我来说说我的看法。

首先,经过多年的发展,当前程序员的概念边界已经有了很大的扩展,程序员也划分成了很多种类型,不同类型的程序员对于技术能力的要求也有所不同。对于从事应用场景开发的程序员来说,知识的广度比较重要,这样能够快速适应不同场景下的开发任务,而对于专注技术平台研发的程序员来说,专业精度更重要。

当前的 IT 互联网行业正在经历从消费互联网向工业互联网覆盖的过程,程序开发任务以技术平台为分界线分成了两大类,一类任务是基于各种技术平台来完成行业场景的落地应用,比如基于云计算平台、大数据平台和人工智能平台完成的各种行业场景开发,这一类开发任务的整体数量是非常大的,而且在工业互联网的推动下,未来大量的行业企业都需要基于技术平台来完成创新。

另一类程序员则专注于各种技术平台的研发,包括云计算平台、大数据平台、物联网平台、人工智能平台等,而且在工业互联网的推动下,技术平台也在不断细化,有的企业会在云平台的基础上做 PaaS 类平台,有的企业会基于大数据平台做行业大数据平台等等,这同样需要大量的程序员。

通常情况下,我们把基于技术平台做行业落地应用的程序员称为应用级程序员,而从事技术平台研发的程序员称为研发级程序员,二者的专注点是不同的,开发方式和团队合作方式也有一定的区别。

应用级程序员对于知识的广度要求更高一些,毕竟在技术落地应用的过程中,需要考虑到大量的技术细节,这些技术细节虽然难度不算大,但是涉及到的技术却比较杂。相对于应用级程序员来说,研发级程序员则更专注于平台的各种系统级功能,而系统级功能往往有很高的性能要求,所以就需要程序员对于操作系统和算法都有较深的理解,而且平台研发的团队规模往往都很大,每个程序员只需要关注一个点就可以了。

我从事教育、科研多年,目前在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以私信我!

喜欢 (0)