文章插图
昨天有网友问我,他原先没有学过奥数,问能不能当系统架构师?其他也有人有疑问,是不是应该先学数学,然后在考研的时候转入计算机?
【系统架构师、算法工程师、人工智能工程师需要学多少数学?】我先说一下结论,没有学过奥数,完全可以当系统架构师 。如果真的喜欢数学,可以先学数学再转计算机;如果数学一般般,不如直接读计算机 。当架构师,学数学并不是必须的 。
数学是重要的
文章插图
确实,数学是计算机的基础之一 。计算机的先驱,图灵就是一位数学家 。我们如果要看图灵奖,也就是计算机领域内的最高科技奖,计算机界的诺贝尔奖,很多获奖者都有数学背景 。
比如,第一届图灵奖得主,艾伦·佩利是计算机程序语言的先驱 。他本科学的是化学,硕士和博士是数学 。可以说,有了数学家的参与,我们的程序语言才这么严谨、科学 。
两位得图灵奖的女科学家,朗西丝·阿伦,2006年的得主,她是数学系毕业的 。还有2008年得主,芭芭拉·利斯科夫也是数学专业的毕业生 。
原先北大在计算机方面有位院士,王选,他的研究生很多都来自于数学系,觉得搞数学的人搞计算机灵,好 。
因此,学数学再去研究计算机,那当然很好,算是降维打击 。
不过,这并不是必须的 。
IT公司的首席架构师并不必须要数学
我们看看国内几家著名IT企业的系统架构师,或者CTO的履历 。
阿里巴巴的王坚 。王坚是整个IT企业的第一人,被评上了工程院院士 。要知道,百度的李彦宏以技术出名,也没有评上,可见王坚的水平是很不错的 。
王坚是阿里巴巴的首席架构师,阿里巴巴整个集团的首席技术官,阿里云的总裁 。云技术是我们快捷、便宜、大规模使用互联网的一个非常重要的支撑力量 。像亚马逊老板贝佐斯当世界首富,核心竞争力是亚马逊云 。而阿里云是可以跟它相竞争的,所以技术含量也很高 。
那王坚是什么出身呢?王坚是学心理学的,在跳槽去互联网公司之前,是杭州大学心理学系主任,心理学教授 。不过有些心理学系对数学要求也是比较高的,但再怎么高,也就是一两门数学课,不需要跟数学专业一样学 。
李彦宏做的是搜索,应该说数学含量非常高了 。不过李彦宏在北大学的是图书情报专业,好听点的说法是信息管理系统,到了美国,转了计算机专业 。
微信创始人张小龙,是华科大的电子信息专业毕业的 。
快手的创始人宿华和程一笑,分别毕业于清华大学和东北大学的软件工程 。
这些技术巨佬们的简历上都没有太多的数学背景,不过,普通人干嘛非要学数学之后再来学计算机呢?
系统架构师的工作先说一下系统架构的定义,这是IEEE给出的:
软件系统架构是根据具有参考意义的实践而定义出来的.主要表述了一个系统的基本组织结构、基本组成构件和相互的关系,以及构件于外部环境间的关系 。同时,软件系统架构为后续的设计和架构演化提供了指导性原则 。
这句话很拗口,我稍微解释几句 。里面的几个关键点:系统、构件、环境、相互关系 。单个小东西叫构件,这些联系起来叫系统 。系统内部的构件之间有各种关系,也就是各种规则 。系统跟环境还有交互功能 。
这个跟建一个大楼差不多,巨大的软件可能跟建设一个建筑群差不多 。大楼内部需要力学知识,对软件来说,需要数学知识 。大楼的功能、外部表现需要美学、心理学、文化、社会学等知识 。软件的功能也是这样 。
所以,作为一位建筑师需要学一点力学知识,但并不需要使劲学力学,把力学摆在至高无上的地位 。架构师也是这样,有数学知识,当然非常好,但平常计算机专业的那些数学知识也是基本够用的,大家不要过于害怕 。
算法工程师和人工智能工程师
类似的,我再讲一下算法工程师和人工智能方面的研发人员 。
在计算机的早期是没有算法工程师的,因为在编程的时候必须要考虑算法的实现,现在的开发软件做得很好,所以普通级别的码农的要求比早期的码农低了不少,不需要自己来编写这些算法,用现成的模块,调个参数就可以了 。
推荐阅读
- 我的六年软件测试工程师感悟
- 七镇茶业加盟信息,广西将评选茶业大师和茶叶名镇
- 干货推荐!Win 10系统下极简实用的软件,提升效率的神器
- win7安全模式怎么进系统还原,windows7安全模式系统还原-
- 厨师|黑客、偶像、厨师?你还知道哪些特色职业
- 苏提达|?苏提达得罪造型师,头鼓起大包发型老气,跟宫廷精修照判若两人
- 引力波的探测 引力波宇宙广播系统
- EFK 日志系统收集K8s日志 之 容器标准输出日志
- Linux文件系统EXT2,EXT3,ReiserFS详解
- 海量数据写入——万级并发的订单系统如何分库?