回覆列表
  • 1 # 不二科技君

    好久沒答題了~~

    作為計算機領域的一名研究僧,身邊既有計算機系professor,也有攻城獅,在這個問題上,表示有一定的話語權。那麼coding能力對於這兩類人群來說,誰更強呢?

    其實這個問題的答案是不一定的,coding對於一些年輕的、喜歡自己動手的professor來說是比較簡單的事,因為他們大部分從碩士到博士甚至博士後都在不斷的進行實戰,而且屬於理論和時間都沒拉下的那種,不然也做不了professor;而有一些攻城獅呢,coding並不一定強,而業務方向也決定了你敲程式碼的多少,而且有時候大部分是重複性的程式碼,做過工程的應該比較瞭解這一塊。而你coding年限也決定了你的程式設計能力,不能一概而論。

    所以,在回答這個問題之前,先定義問題所提到的以下的“名詞”。

    計算機系full professor(正教授):科研能力(評職稱以發Paper質量為準,專利較少)強

    IT工程師:3年+工齡且具有獨立開發專案能力的攻城獅

    程式設計能力:獨立開發專案熟練度/解決問題的速度

    研究領域:一致

    以本人所在Top10高校身邊絕大多數計算機教授來說,除了一些年輕教授(國外常春藤doctor特聘回國空降副教,過幾年直接正教授這類),一般這些professor(佔比10%左右)都是30歲左右,很多時候都在沉迷自己的世界中,通常不願意帶學生,喜歡單幹,憋大招。因此,這類professor無論是工程能力還是理論知識都很強,解決問題的同時還能做出一些創新性且普適性的東西。個人認為這類教授是要比攻城獅在程式設計能力強,因為他們不僅具備瞭解決問題的能力還具備發現問題,解決一系列/同類問題的能力。這裡舉一個身邊發生的例子,去年參加kaggle比賽(世界級的大資料/AI比賽),國內top2隊伍一個是中科院的博士,還有一個是資深的高階工程師。當時做的任務是:判斷兩個英文句子所表達的意思是否相同?最後博士隊伍拿下了國內的top1(世界top4),在比賽結束後,該隊伍還開發了一些工具,以及針對這個問題處理的一個普適性框架;而後者更多的是在工程性上的不斷嘗試新的辦法,因為理論基礎的不夠紮實,很多時候其實做了不少重複性的工作或者是無法從根本上找到一個更好的解決方案,在比賽後期愈乏力。

    當然,有一部分professor(佔比20%左右,可以coding,但是不多)其實和IT攻城獅差不多水平,平時刷Paper的時候,一些核心演算法還是會自己動手來實現,工程能力也不會太弱,他們通常遇到問題可以秒知道問問題出在哪?並知道如何去解決。我想有一個情形,研究僧們應該十分熟悉:做專案的時候碰到一個特別難解決的問題,花了好幾天都沒想出來,最後實在是憋不住了去問老師,然後老師二話不說,就說你去檢查這***,看看是不是這裡忘記幹啥了,是不是寫錯了**。

    最後,還有部分professor(年紀較大,coding基本沒有,強度有點大),佔比最多,側重於理論,側重於刷Paper,甚至到了教授這個層級就做業務了,各種給實驗室拉活,讓學生們幹,幹完發Paper之類的。這部分professor大概佔70%左右,coding能力已經喪失很多了,有問題知道該怎麼解決,但是自己動手來做基本很難了。他們的程式設計能力要比攻城獅們弱一點。

    希望professor多coding,攻城獅多theory。

  • 2 # 林耀中GG

    首先,單純從職稱上來比較的話高階工程師要比副教授高半級,因為高階工程師職稱是跟教授平級的。(因為高階職稱在很多領域都有正副之分,比如教育方面的正副教授,醫學方面的正副主任醫師等,而工程類的高階職稱是沒有正副之分的)要說到牛,可以說前者要比後者“牛”一些。然而,如果要選導師的是不能僅以此來決定的。兩位都取到了高階職稱,從工作閱歷上來說應該都是很“厲害”的,都幹了大量的工作,跟他們哪一個都好,都有前途。我個人認為選擇誰作導師要看你所學的專業來決定,如果是工程技術類的話選前者,是教育類的話就要選後者(如果是雙職稱的話更好),以後發表東西的話對你都會有幫助的。

  • 3 # 李哥來說事兒

    這個問題可以透過三個方面來回答:

    第一:真不好比較,兩個都是計算機方面的,但是具體的工作有些不一樣的,大學教授側重的是學術方面的,基礎知識比較牢靠,側重於教學這一塊,當然,實戰這一塊有的也是不錯的,很多的研究生、博士生都是他們帶出來的,包括IT公司裡的工程師當初也可能是他們的學生。

    第二:IT公司裡的工程師,他們程式設計能力和敲程式碼的能力是非常強的,你想一想天天在加班加點的練習,能不強嗎?在公司裡這些工程師們有時分工很細,有架構師,有前端和後端工程師,他們專做自己領域的,他們的能力肯定很強的,很多的熟練程度比大學的教授快很多,但是綜合能力和基礎的牢靠程度可能比不上大學教授。

    第三:這些IT公司的工程師可是最前沿的實戰者,接觸的東西都是些最潮流的,有些大學教授也是不斷的探索新的知識,也是走在前沿,但還有些大學的教授,就比較落後了,使用的課本都已經淘汰了好幾年,教出來的學生到公司里根本不能勝任,必須有專人帶個一兩年才能達到要求,這類教授就有些落後了。

  • 4 # 飛天咖啡豆

    真實事件1:我剛上大學的時候,我們的高等代數老師,做不出證明全等三角形,被我們幾個後來補考的學生暗地裡笑話了好久。

    真實事件2:我剛入職的時候,因為蓋不上機箱蓋子,也被我現在的下屬,那個桌面搞運維的同事數落一陣。

    個人覺得,教授級的人,理論知識一定是豐富且紮實。計算機這行,還是要看基礎的,我也是工程師,自我感覺是,無他,唯手熟爾。遇到問題,還是要找當年的老師去請教。他們那個層面的知識面,接觸的人的水平,眼界,遠遠高於我們這個層次。

    最後,題主是不是想問,一個教書的有沒有實戰的人更有動手能力吧?在計算機這個應用性極強的行業,哪個教授沒個公司呢?啥專案接觸不到?真要說哪個教授只搞理論,那更比不了了,那是神級人物。

  • 5 # 還有一隻喵

    看怎麼定義程式設計能力。如果比給量子計算機程式設計,或者用某種概念性語言完成一些定理證明課題,可能IT工程師都沒法下手。

    另外也看時間週期。由於一個合格的計算機系教授理論基礎深厚,即使是做IT公司的工作,哪怕當下比較沒有優勢,幾個月之後也可能快速成為專家。

  • 6 # 老貓1954

    為某礦山設計並製做一個“廢水處理車間計算機監控系統”。當時省環保局提出要求:如果該廠的這套廢水處理系統不能正常執行,就不允許該廠開工生產。該廠每天可以提煉出50噸某種礦石精粉,每噸價值40萬元,晚開工一天就少收入2000萬元。當我把該監控系統的所有硬體裝置如探頭、監控模組安裝完成後,並且用Tubro C編寫好監控程式以後,對方又提出了很多新要求(全套的資料庫操作……資料儲存、查詢、檢索、列印報表),導致監控軟體必須改用另一種程式語言VB6完成。而我當時只是大概瞭解但是並沒有用過該語言,只能突擊學習該語言。方法是:同時開啟兩部臺式電腦,左邊一臺執行該語言的教學光碟,右邊一臺安裝該語言正式軟體。在左邊電腦上看過一段教學演示影片(比如建立一個新視窗),馬上到右邊電腦操作一下。用了不到兩天時間完全掌握了該語言,又用了不到10天時間編寫了該系統的全部監控軟體,撰寫出操作規程、繪製出全套圖紙,按時完成任務。這套系統用了六年多時間,每年河水開化(4月中旬)就開機,每天24小時不停機,直到這年河水上凍(每年11月上旬)才關機。

    當時該礦山技術人員和領導說了不少誇獎我的話,別的話我都沒在意,也都忘了。只有一句還記得……不愧是吉林大學畢業的,思路就是不一樣!

  • 7 # 一水無塵

    不好比較,主要是因為學習和研究方向不同,而且一個是靠寬度吃飯,一個是靠深度吃飯。

    所謂的寬度,是指對大多數程式設計師來說,他們需要學會的技術比較多,通常都是公司要用什麼技術,就去學什麼技術,且IT技術更新很快,需要持續不斷地學習,你不學習,慢慢就會被淘汰。

    而大學裡的教授呢,除了完成相應的教學任務,可能會去研究一下某個方向的技術,而他們研究的,大都是底層的實現原理,有關空間和時間的效能問題。

    要是研究出了能解決當下計算機痛點問題的理論,便會發表相關的論文,讓更多的人瞭解和使用這個理論。而對大多程式設計師來說,只要明白這個理論的實現原理就可以,可以不用知道實現的具體細節。

    所以以編碼來論能力的話,是挺片面的,畢竟在IT公司裡面,大佬一般是不寫程式碼的,比較看重的是分析解決問題的能力。外加上程式設計師寫的程式碼,主要是針對公司的具體業務,而這些業務,大學裡的教授一般是不瞭解的。

  • 8 # 數理土豆餅

    同樣是 計算機程式設計,也分非常多的類別,比如web 開發,app 開發,系統驅動開發,人工智慧開發,每個人都在自己熟悉的領域 擅長,沒有誰高低的問題。現在好多大型it 公司 的主要開發人員 碩士學歷 佔比很大,碩士畢業後,和繼續讀博士,當教授的 同學 走上了 不同的道路。區別是 在公司,開發的目的 以產品為中心,當教授,主要以發表論文為中心。從結果上看,比如 linux kernel 的開發者 linus,是本科學歷,python 開發者 是碩士學歷,好多作業系統 和程式語言 都是公司開發的,當然也有 大學開發的 程式語言,比如 lua. 總體上說,在系統程式設計 這一塊,是公司開發人員和開源軟體開發人員更擅長。在ai 領域,是另外一回事情,deepmind 創始人 本身 有博士學歷,好多 ai 演算法,比如 神經網路,蒙特卡洛 樹搜尋,都是 大學 或研究機構的人 發展出來的。

    一般來說,在已經 成熟,產業化的領域,公司開發人員更熟悉,在前沿研究領域,學術機構的人員更擅長。

  • 9 # 50多歲陳工程師談教育

    這個類似於軍事指揮學院的教授,和軍隊的指揮官相比,誰的指揮能力強?這可不好說。

    總體上看,大學教授長於理論,工程師長於實操。但也不可一概而論,特別是在國外,大學計算機教授轉任IT工程師,IT工程師轉任大學教授,都是很平常的事。

  • 10 # BWanger軟體開發達人

    我認為答案應當是IT公司的資深工程師程式設計能力更強。之所以要加”資深”這個定語,是因為IT公司的一般工程師,程式設計很辛苦,但論水平談不上。

    計算機系教授具有高深的理論水平,對發展方向有較強的把控力。

    計算機系教授,參加的學術會議、論壇比較多,對程式設計的前沿技術、發展方向知道的會很多,對各語言的特點、市場前景瞭解的更全面。所以,現在的畢業生,雖然水平一般,但大都很快會選擇到高薪的程式設計工作,這與教授們的指導分不開。

    我們也經常找一些教授座談,聽一聽教授們對程式設計的看法。如,JAVA,python,java script,VC,VS,C,到底選那種好;作業系統,windows,RTOS,linux到底選那個好;鴻蒙能否用在控制系統中?等等。

    教授終究是見多識廣的。

    具體到某一領域的程式設計,資深工程師碾壓計算機系教授。

    這是很容易理解的。工程師如果不跳槽到陌生領域,估計一輩子用一種語言程式設計。如C語言,起初DOS下C語言程式設計,後來發展到linux、windows下的C程式設計,面向物件的C++......

    三十幾年的各種C的開發,估計各種問題都經歷了一遍,把C語言的那些類庫存在什麼bug,也都整明白了。這樣的經歷,教授們是不會有的。

    當然,一般的菜鳥工程師,基本沒有程式設計水平,與工地的搬磚師傅真的沒什麼區別。

    總結:論高深的理論、前沿技術,我們要聽教授的,需要多和他們交流。論程式設計經驗及程式設計水平,只能看資深IT工程師的,這是他們一輩子的工作。

  • 中秋節和大豐收的關聯?
  • 農民的孩子除了高考上名牌大學以外,還有另外的出路嗎?