码农要学什么(码农要学什么专业)

大家好,我是如山石,分享程序员经历,都是亲身经历,句句属实。

今天想到这个话题,真是一个久远的话题,我已经毕业14年了,真弹指一挥间,现在是一个高级工程师,混得不好也不坏吧。

写这个文章,写给大学生吧,记得,我上大学时,就是想着当一个程序员,那时感觉程序员是一个很高大上的职业,而且很神秘,高大上的什么程度呢,我心里想着当一个程序员,然则,不敢在同学间说出来,现在感觉普通多了,就是一个代码工吧,或者说新生代农民工。

不管怎么说也是一个重要的职业,就业机会很多,工资不错,网上就这样说:“如果家里有钱有背景,就做管理,做金融;无钱无背景,就做技术吧”。

现在也有很多培训,然而,程序员的技术核心,就那些,弄透那些,就简单了,就好像练功一样,最重要的还是把基本功练好,就像少林,就那些招数,练通就可以了。

有什么核心呢?,如图所示:

技术核心图

1、数据结构与算法

这是编程的核心,技术层出不穷,这人工智能,那云计算,不管什么,基础都是数据结构与算法,记得一个教授说:程序=数据结构+算法,这里面有很深的东西,这真是程序员的灵魂啊!!!但是因为枯燥无味,而且不是像C#语言那样,开发一个系统那样有成就感,然而,其地位太重要的了,其里面有数据结构,这是一个人抽象能力的体现;其里面有算法,这是一个数学水平的体现,不可谓不重要啊。

2、汇编语言

记得,之前教汇编的大学老师说:计算机专业与非计算机专业的区别就在于,是否掌握了汇编语言,这就是分界线,这句话,一点都不虚,现在很多非计算机的专业也弄计算机编程,比如数据专业的,物理专业,而且还弄得不错,然而,深入的,恐怕不行了,比如嵌入式编程;汇编体现语言的本质,学C语言时,有地址 ,什么是地址啊,其实就是数字信号。

其它的语言上,C语言,要精通;如果想弄硬件,必须精通数字电路与模拟电路。