系統(tǒng)架構(gòu)師、算法工程師、人工智能工程師需要學(xué)多少數(shù)學(xué)?
有人問,他原先沒有學(xué)過奧數(shù),問能不能當(dāng)系統(tǒng)架構(gòu)師?其他也有人有疑問,是不是應(yīng)該先學(xué)數(shù)學(xué),然后在考研的時(shí)候轉(zhuǎn)入計(jì)算機(jī)?
我先說一下結(jié)論,沒有學(xué)過奧數(shù),完全可以當(dāng)系統(tǒng)架構(gòu)師。如果真的喜歡數(shù)學(xué),可以先學(xué)數(shù)學(xué)再轉(zhuǎn)計(jì)算機(jī);如果數(shù)學(xué)一般般,不如直接讀計(jì)算機(jī)。當(dāng)架構(gòu)師,學(xué)數(shù)學(xué)并不是必須的。
數(shù)學(xué)是重要的
確實(shí),數(shù)學(xué)是計(jì)算機(jī)的基礎(chǔ)之一。計(jì)算機(jī)的先驅(qū),圖靈就是一位數(shù)學(xué)家。我們?nèi)绻磮D靈獎(jiǎng),也就是計(jì)算機(jī)領(lǐng)域內(nèi)的最高科技獎(jiǎng),計(jì)算機(jī)界的諾貝爾獎(jiǎng),很多獲獎(jiǎng)?wù)叨加袛?shù)學(xué)背景。
比如,第一屆圖靈獎(jiǎng)得主,艾倫·佩利是計(jì)算機(jī)程序語言的先驅(qū)。他本科學(xué)的是化學(xué),碩士和博士是數(shù)學(xué)??梢哉f,有了數(shù)學(xué)家的參與,我們的程序語言才這么嚴(yán)謹(jǐn)、科學(xué)。
兩位得圖靈獎(jiǎng)的女科學(xué)家,朗西絲·阿倫,2006年的得主,她是數(shù)學(xué)系畢業(yè)的。還有2008年得主,芭芭拉·利斯科夫也是數(shù)學(xué)專業(yè)的畢業(yè)生。
原先北大在計(jì)算機(jī)方面有位院士,王選,他的研究生很多都來自于數(shù)學(xué)系,覺得搞數(shù)學(xué)的人搞計(jì)算機(jī)靈,好。
因此,學(xué)數(shù)學(xué)再去研究計(jì)算機(jī),那當(dāng)然很好,算是降維打擊。
不過,這并不是必須的。
IT公司的首席架構(gòu)師并不必須要數(shù)學(xué)
我們看看國內(nèi)幾家著名IT企業(yè)的系統(tǒng)架構(gòu)師,或者CTO的履歷。
阿里巴巴的王堅(jiān)。王堅(jiān)是整個(gè)IT企業(yè)的第一人,被評(píng)上了工程院院士。要知道,百度的李彥宏以技術(shù)出名,也沒有評(píng)上,可見王堅(jiān)的水平是很不錯(cuò)的。
王堅(jiān)是阿里巴巴的首席架構(gòu)師,阿里巴巴整個(gè)集團(tuán)的首席技術(shù)官,阿里云的總裁。云技術(shù)是我們快捷、便宜、大規(guī)模使用互聯(lián)網(wǎng)的一個(gè)非常重要的支撐力量。像亞馬遜老板貝佐斯當(dāng)世界首富,核心競爭力是亞馬遜云。而阿里云是可以跟它相競爭的,所以技術(shù)含量也很高。
那王堅(jiān)是什么出身呢?王堅(jiān)是學(xué)心理學(xué)的,在跳槽去互聯(lián)網(wǎng)公司之前,是杭州大學(xué)心理學(xué)系主任,心理學(xué)教授。不過有些心理學(xué)系對(duì)數(shù)學(xué)要求也是比較高的,但再怎么高,也就是一兩門數(shù)學(xué)課,不需要跟數(shù)學(xué)專業(yè)一樣學(xué)。
李彥宏做的是搜索,應(yīng)該說數(shù)學(xué)含量非常高了。不過李彥宏在北大學(xué)的是圖書情報(bào)專業(yè),好聽點(diǎn)的說法是信息管理系統(tǒng),到了美國,轉(zhuǎn)了計(jì)算機(jī)專業(yè)。
微信創(chuàng)始人張小龍,是華科大的電子信息專業(yè)畢業(yè)的。
快手的創(chuàng)始人宿華和程一笑,分別畢業(yè)于清華大學(xué)和東北大學(xué)的軟件工程。
這些技術(shù)巨佬們的簡歷上都沒有太多的數(shù)學(xué)背景,不過,普通人干嘛非要學(xué)數(shù)學(xué)之后再來學(xué)計(jì)算機(jī)呢?
系統(tǒng)架構(gòu)師的工作
先說一下系統(tǒng)架構(gòu)的定義,這是IEEE給出的:
軟件系統(tǒng)架構(gòu)是根據(jù)具有參考意義的實(shí)踐而定義出來的.主要表述了一個(gè)系統(tǒng)的基本組織結(jié)構(gòu)、基本組成構(gòu)件和相互的關(guān)系,以及構(gòu)件于外部環(huán)境間的關(guān)系。同時(shí),軟件系統(tǒng)架構(gòu)為后續(xù)的設(shè)計(jì)和架構(gòu)演化提供了指導(dǎo)性原則。
這句話很拗口,我稍微解釋幾句。里面的幾個(gè)關(guān)鍵點(diǎn):系統(tǒng)、構(gòu)件、環(huán)境、相互關(guān)系。單個(gè)小東西叫構(gòu)件,這些聯(lián)系起來叫系統(tǒng)。系統(tǒng)內(nèi)部的構(gòu)件之間有各種關(guān)系,也就是各種規(guī)則。系統(tǒng)跟環(huán)境還有交互功能。
這個(gè)跟建一個(gè)大樓差不多,巨大的軟件可能跟建設(shè)一個(gè)建筑群差不多。大樓內(nèi)部需要力學(xué)知識(shí),對(duì)軟件來說,需要數(shù)學(xué)知識(shí)。大樓的功能、外部表現(xiàn)需要美學(xué)、心理學(xué)、文化、社會(huì)學(xué)等知識(shí)。軟件的功能也是這樣。
所以,作為一位建筑師需要學(xué)一點(diǎn)力學(xué)知識(shí),但并不需要使勁學(xué)力學(xué),把力學(xué)擺在至高無上的地位。架構(gòu)師也是這樣,有數(shù)學(xué)知識(shí),當(dāng)然非常好,但平常計(jì)算機(jī)專業(yè)的那些數(shù)學(xué)知識(shí)也是基本夠用的,大家不要過于害怕。
算法工程師和人工智能工程師
類似的,我再講一下算法工程師和人工智能方面的研發(fā)人員。
在計(jì)算機(jī)的早期是沒有算法工程師的,因?yàn)樵诰幊痰臅r(shí)候必須要考慮算法的實(shí)現(xiàn),現(xiàn)在的開發(fā)軟件做得很好,所以普通級(jí)別的碼農(nóng)的要求比早期的碼農(nóng)低了不少,不需要自己來編寫這些算法,用現(xiàn)成的模塊,調(diào)個(gè)參數(shù)就可以了。
算法工程師聽著好像都是數(shù)學(xué),其實(shí)根本來說,就是線性代數(shù)、概率論、數(shù)據(jù)結(jié)構(gòu)這些內(nèi)容?,F(xiàn)在機(jī)器學(xué)習(xí)方面的比較多,機(jī)器學(xué)習(xí)的基礎(chǔ)是統(tǒng)計(jì)、向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)理論。
在機(jī)器學(xué)習(xí)上面的是人工智能。人工智能比機(jī)器學(xué)習(xí)的范圍更寬,至少要包括語音識(shí)別、圖像識(shí)別、模式識(shí)別等,這些涉及的數(shù)學(xué)不單單是離散數(shù)學(xué),還包括了連續(xù)數(shù)學(xué)。
人工智能的數(shù)學(xué)要求看著更高,不過大家也不要害怕。我們可以看看華為的天才少年計(jì)劃里的那些天才少年們。他們大部分都是搞人工智能,但基本沒有數(shù)學(xué)系畢業(yè)的,基本都是計(jì)算機(jī)系、自動(dòng)化系等方向。
像第二批名單中的華科大博士張霽,本科在二本,武昌理工學(xué)院,碩士在武漢郵電研究所,博士在中科大,一直是計(jì)算機(jī)專業(yè)。
所以,如果大家想要做計(jì)算機(jī)方面的工作,直接讀計(jì)算機(jī)專業(yè)毫無問題,最直接、最省事的方法。讀了數(shù)學(xué)轉(zhuǎn)計(jì)算機(jī),當(dāng)然更好,也許會(huì)更有后勁,對(duì)某些問題的理解更深刻一些。