
作者 | 鄭麗媛
責編 | 屠敏
出品 | CSDN(ID:CSDNnews)
互聯網是有記憶的,
從混沌初開到萬物互聯,從「程式英雄」到「平臺諸侯」,中國計算機到互聯網的發展歷經 60 個春秋,整個商業社會的形態已被重置,生態格局已然形成,
憶往昔,過去 60 年間,也是這份創新締造者、中國程式員快意恩仇的江湖時代,他們以代碼為劍,熱血如沸,不同時代的技術人共同為中國計算機產業而奮斗,成就了如今中國互聯網,
而在這高手如林的互聯網之中,誕生了無數程式員,正如:
-
他,耕耘中國計算機產業 60 載,參與研制中國自行設計的第一臺電子管計算機(119 機),20 世紀六、七十年代開展漢字處理和字符識別研究,首創在漢字輸入中應用聯想功能,他就是中國工程院院士—— 倪光南 ,
-
他,雖已退出江湖,但在江湖上一直有著他的傳說,他是有著“中國第一程式員”之稱的求伯君,也是金山軟體創始人、WPS 創始人,
-
他,華為消費者BG(CBG,Consumer Business Group)軟體部總裁王成錄,負責 CBG 軟體的戰略、規劃、研發、集成交付和生命周期管理,
-
他,美國佐治亞理工學院博士畢業后在谷歌內核組作業,主要創立和領導了 gVisor 專案,目前任螞蟻集團研究員,可信原生技術部負責人的何征宇,
-
他,SequoiaDB 巨杉資料庫聯合創始人王濤,曾任職于北美 IBM DB2 Lab,作為核心研發成員參與負責 DB2 核心引擎研發,及世界第一款分布式資料庫 DB2 DPF 的研發,2011 年回國創業,自主研發金融級分布式資料庫 SequoiaDB,獲得技術業界及金融客戶廣泛認可,
-
他,是 2015 年畢業于清華大學電子工程系,之后與清華大學電子工程系汪玉教授、MIT EECS 韓松教授聯合創立深鑒科技并擔任公司 CEO 的姚頌 ,帶領團隊研發高效深度學習平臺,致力于為自動駕駛、智能安防、云計算等行業提供軟體與芯片一體的人工智能解決方案,深鑒科技在創立兩年半的時間里,曾獲得來自清華控股、金沙江創投、高榕資本、賽靈思、聯發科、螞蟻金服、三星等企業與機構的三輪投資,并最終被賽靈思以數億美金的價格收購,
-
他,00 后新生代的程式員代表朱震霆,生于 2001 年,初一學習 C++,清華姚班大二在讀,清華大學 2019 年第一封錄取通知書獲得者,2018 年代表中國國家隊參加第 30 屆國際資訊學奧林匹克競賽(IOI)并斬獲金牌,
-
他,25 年軟體開發經驗,曾領導開發了巨人手寫電腦、金山詞霸和超級解霸,1999 年創辦 CSDN,為中國 IT 從業人員提供知識傳播、在線學習、職業發展等全職業生命周期服務,致力于成為技術人學習和成長的家園, 他是 CSDN 創始人&董事長、極客幫創投創始合伙人蔣濤,
不久前,他們共同聚首長沙·中國 1024 程式員節現場,從 30 年代跨越到 00 年代,以經驗為基礎分享不同時代下的程式人生,看中國互聯網的發展變遷,解答當代程式員之惑,接下來,我們將一探屬于他們的技術時代,借此,也希望為更多的同行者帶來一定思考,
不同的程式人生,樸實無華,痛并快樂!
蔣濤(主持人):回顧過往,在大家技術生涯中最快樂的時刻是什么?
倪光南(30后): 最快樂是調機成功的時候,當時第一代電腦是由幾千根電子管組成的,按概率,每天都要壞一兩根電子管,因此調機是件很困難的事,
我并非程式員出身,而是從硬體做起,彼時,我從中科院分配到計算研究所時,所里已經制造了一臺 104 機(我國第一臺大型快速通用數字電子計算機),隨后我參與了 119 機(首臺自行設計的電子管計算機)的研發,
當時我們沒有指令,沒有語言,119 機使用的是八進制,要發三條指令才能把一個區域調到記憶體,與其說是程式員,調機作業人員更為恰當,
到第三代計算機的時候,出現了匯編語言,但匯編語言寫起來比較困難,后來我去加拿大作業時,接觸到了 C 語言,回國后,便讓所有的軟體工程師都用 C 語言,包括后來的漢字系統、程控交換機和列印機等,使用 C 語言撰寫效率至少提高了十倍,
所以從程式員開始,我便認為 C 語言是最好的語言,使用 C 語言才是一名夠格的程式員,
求伯君(60后): 我們那個時代編程工具只有匯編,后來慢慢有了很多語言,但那時資料和工具都不齊全,互聯網也不夠發達,為了買開發工具或者查閱資料都得去中關村,因此我早期寫程式都是用匯編,
當時第一版的 WPS 寫了有上百萬條程式,因為高級語言里呼叫的函式,在匯編里實作需要一百多條代碼,每個功能要全部一條條去寫,因此作業量很大,我當時很佩服一個同事,他是用 DeBug 寫代碼的,除錯好了,再存入執行代碼,
那個年代寫程式真的很難,但同時也很快樂,那時為了解決 Bug 功能,我們寫程式都沒有日夜概念,就把自己關一個房間里,餓了就吃方便面,困了就睡,經常帶著問題入睡,有一次在夢中想到了解決方案,醒來就特別興奮地去實踐,結果真的成功了,這段做夢實作的代碼我記得是為了解決漢字輸入法的一個中斷問題,
當時寫應用程式與作業系統是分不開的,經常要呼叫硬體部分,包括硬碟分配、存盤、輸出等等,現在回憶起那段時光,還是非常快樂的,
還有一個快樂我很少講,因為起初我寫 WPS 純屬興趣,沒有想過用它創業或者賺錢,所以我當年到中關村,看到一夜之間很多人在用盜版 WPS,我那時也沒有著作權概念,看到很多人用,我就非常高興,當時雷軍就破解了其中一個版本,我也因此與他結識,
王成錄(70后): 我是 1998 年博士畢業,我的博士課題是用 Fortran 語言實作金屬成形程序模擬仿真,寫了三萬多行代碼,期間有一度十分崩潰,因為編譯一直不通過,調整了近 9 天時間,未果,后來,在某一天的某個時刻,我就看了看實驗室窗外的樹,突然靈機一動,代碼調通了,之后課題也就很快地完成了,這種快樂的感覺我至今都記憶猶新,
之后到了華為,開始做無執行緒控交換機,當時進入無線產品線的時候,我們只有三四十個人,那時做出來的產品容量已經無法滿足市場了,因此我們開始做 iPaas 模塊,完全用 C 語言來寫,當時我們在一個周末就寫了三萬多行代碼,當然有很多 Bug,
彼時的經歷對我的成長有非常大的助力,讓我快速全面地理解了整個電信網的系統,雖然我已經有十多年沒做具體的研發作業了,但是曾經讀書時和作業以后的記憶尤為深刻,看到代碼有時還是心癢,會幫別人解釋,這就很有意義,
何征宇(80后): 我的快樂與各位一樣,但也不一樣,
各位前輩上述分享的解 Bug 的快樂我特別有感受,我在谷歌和螞蟻集團都有解 Bug,這種快樂應該是程式員共有的,
不一樣的是,作為長沙本地人,當問及最快樂的時刻,我想到的是離長沙岳麓書院不遠處的青少年宮,在我四年級的時候,我媽送我去那里學計算機,彼時,我學其他的興趣班都很抗拒,但唯獨這個是我主動學的,有一種打開新大門的快樂,
這種快樂也存在于我讀博士時由演算法轉到內核的時候,那種因為接觸到了新領域而感到的快樂,
王 濤(80后): 我之前在 IBM 做 DB2,即管理型資料庫,后來我開始做巨杉資料庫,是一種分布式資料庫,
自從接觸整個計算機,我的快樂主要是來自兩點:
-
創造, 我之前在學校學習的是游戲設計,有時設計出來的成果被同學或者老師認可,就很興奮,
-
解決別人無法解決的問題, 在 IBM 時,有一次在 DB2 寫一段程式始終不能順利運行,最后我發現匯編語言與 C 語言的語意存在區別,導致優化器優化過后存在 Bug,那時,我特別喜歡 C 語言,因為它與 CPO 指定的匯編是最接近的,出現問題時可以快速定位,
姚 頌(90后): 除錯程式我其實并不是很專業,我最開始的接觸計算機是小學三年級的培訓班,那時候我最快樂的是課前二十分鐘,可以玩一些 4399 之類的小游戲,后來到了清華電子系開始真正學編程,我在很多領域都有涉及,包括 EDA、深度學習、根據芯片網表檢查硬體木馬,還在斯坦福做了三個月的訪問研究,
當你專注在技術時,你的快樂就會變得很簡單,你需要面對的只是一個問題,而你去想方設法的解決,解決了你就會感到很單純的快樂,
朱震霆(00后): 我很直觀的感受是,我們這個時代學習編程的門檻降得更低了,在我小學時,一個班十幾個人都會去學習編程,我一開始學習的是專為兒童設計的一種編程語言,比較富有趣味性,
后來初一時,我為了參加關于演算法的學科競賽去接觸了 C++,學習了演算法,
我的快樂與各位前輩也基本一致,就是享受自己解決問題的程序,還有因為現在學習編程的人很多,因此可以與學習相關方面的同學共同討論,促進學習,這個程序對我來說也是非常開心的,
蔣濤(主持人):身為程式員,遇到過哪些難熬時刻?
求伯君(60后): 做程式員很痛苦,做公司更痛苦,中國流傳著“痛并快樂著”這句話,意味著快樂與痛苦是相輔相成的,如果你沒有快樂,那肯定就沒有痛苦,
我的痛苦就是創業程序中遇到的很多困難,雖然我現在可以坦然地說,我當時看到有人用盜版 WPS 都很開心,但這確確實實影響了我的發展,在 1992-1993 年,那時候我連員工的工資都發不起,如果我只是打工的,那沒關系,可我當時招了許多人,那時遇到的困難已經超出了我的能力范圍,
后來我把雷軍這些人招進來去管理事務之后,我發現我解脫了,所以我認為,讓程式員去干非程式員干的事情是非常痛苦的事情,
王成錄(70后): 我最大的痛苦是不被人理解,因為做軟體或編代碼,別人是看不見摸不著的,因此溝通時就很容易不在同一層面或同一語言,
我認為做軟體,跟隨別人做是沒有太大必要的,因為軟體是需要往前走的,但這樣,困難就又疊加了一層:你越往前看,別人就越不理解,我做軟體,需要跟相關部門合作,要與公司申請投資,要交付給客戶,都需要大家的理解,所以這是我一直遇到的最大挑戰,這個問題我相信也會一直存在吧,
何征宇(80后): 確實,很多時候痛快和快樂并存的,我有一次印象很深刻:我們第一次大規模上線的時候,出了非常大的 Bug,面臨著軟體發不出去的情況,那個時候真的例外痛苦,但同時,快樂也是在之后識訓的,所以我認為,你有多大的痛苦,后面就有多大的識訓,
王 濤(80后): 我覺得很多技術人難題都是相通的,而我的痛苦是從純技術向帶團隊的轉型期遇到的很多問題,
一開始很多事我們都是自己一個人面對,那時候只需要一臺機器就很容易解決,不過,后面需要更多人參與,需要發揮團隊能力時,就要面對很多問題了,這是我近十年來最大的感受,因為這是很多程式員必備的轉身,只要能走過去,就能發揮自己更多的力量,
姚 頌(90后): 首先,找方向是最痛苦的事情之一,程式員的快樂很單純,因為目標是既定的,解決難題就好了,但找方向,類似公司要轉型,下步做什么?AI 芯片之后又能做什么?這些都是我一直在思考的問題,
第二個痛苦與前面兩位有些類似,我們開始都是做技術出身,在轉為管理的程序中有很多事情是非常痛苦的,我原本不太喜歡做思想作業和談心之類的,因此這就很掙扎,另外,我們自己的作業能力很強,一件事可能輕松就能做到 90 分,但你手下只能做到 70 分,這就需要你花兩倍時間去培養,我原來是急性子,但做公司使我變得很有耐心,
其實,如果你迎上了這些困難,去做到了自己原本做不到的事,那對你永遠都有好處,因此我也一直逼自己做一些不擅長的事,走過來了,就好了,
朱震霆(00后): 我在姚班挺痛苦的,因為大家都很厲害,但我現在感受到的最大痛苦還是從一個競賽選手,轉變成做某一個方向的技術人員,我本來是習慣拿到一個題目去解決,但現在這個方向需要我自己去發掘,
如何在千萬程式員群體中脫穎而出?
蔣濤(主持人):做軟體需要協同,如何帶領團隊一起成長,而什么樣的人才才是我們需要的?
倪光南(30后):我認為人想要成功,需要具備兩點:
-
要敢于突破和創新, 軟體作業者,有時候是有能力去完成一件事但卻失敗了,這可能不是你的程式有問題,而是應用變化了,
-
要堅持, 你得有思想準備,堅持下去才能成功,有些時候關于計算機的事情很難,但我們努力去做,還是能夠做成,
求伯君(60后):我做軟體企業比較早,現在很多大公司的人以前都在我的公司作業過,如現在的騰訊、阿里也有從我們公司出去的人,這個也算是我們的貢獻,
在創辦企業之初,我是一個人寫程式,發現事情做不完了再開始加人,后來就慢慢建立了團隊,我是屬于被驅動的,招人的時候,我是先找一個同樣是寫程式的,后來發現企業全部都是程式員,那時候才意識到,一個企業需要各種不同的人才,招人的時候才開始有其他的方向,
王成錄(70后):我個人認為人才的兩個能力非常重要:
-
邏輯能力, 如果邏輯抽象不清晰,就無法從眾多選擇中抓住主要的點,
-
學習能力, 因為軟體發展很快,學習能力不足的話很快就會被市場淘汰,華為在人才上的淘汰率也不低,12% 左右,
關于帶領隊伍,我覺得非常簡單,就是帶著大家不斷打勝仗,只要不斷打勝仗,很多事情自然就有擁有了,
何征宇(80后): 我認為優秀的人才,有三點很重要:
-
自驅力, 你為了什么去做一件事?圖的是什么?正如求伯君老師所說,他是真的想把一件事做好,因此我認為驅動力很重要,擁有良好的驅動力能成事,
-
責任感, 在能成事之際,也要肩負起所做之事帶來的一些后果,我們今天寫的軟體,到了明天或成為一種負擔,因為軟體更迭,或被洗掉,或被取代,
-
團隊精神, 現在的大型軟體是需要很多人協作的,一個團隊、一個公司,甚至是與世界各地的程式員共同完成,因此我認為優秀的人才需要具備這種與人共事的心態,
王 濤(80后): 我們做團隊是從兩個方面培養:
-
技術能力, 技術就是寫代碼的能力,錯誤率、架構質量之類的指標,
-
團隊文化, 這一部分對程式員可能比較有挑戰性,關于是否能以客戶為中心,自我驅動力如何,以及團隊溝通能力,需要具有團隊精神,
姚 頌(90后): 在個人能力方面,我非常同意之前王博(王成錄)提出的學習能力和邏輯抽象能力,一個人做事情是出于什么目的,是出于熱愛想把事情做成功還是想賺錢,這些都能感受到,而對于前者我們就會給他多分利益,
我們已經被收購兩年了(2018 年賽靈思收購深鑒科技),期間 130 多個人走了六七個人,被收購前,公司大部分員工都是以公司為榮,很少抱怨物質方面,而被收購后,理想和精神層面的驅動力減少,更多轉變為了物質驅動力,因此會有很大不同,舉一個例子,當時剛被賽靈思收購時,我問 HR 以后周六上班嗎?因為那時這變成了一份作業而不是創業,
我至今還留在賽靈思除了物質方面,還因為兩個方面的責任感:
一、賽靈思擁有 30 多年的歷史,而這起并購是 2012 年到目前為止,唯一一家美國公司到中國來收購的高科技公司,在收購以后,賽靈思對我們很認可,也付出很多,因此我們要負責到底,不能還未交付足夠的價值就離開,
二、要對我的員工負責,我留下來可以照顧他們,讓他們安心,
(注:截止發文,AMD 以 350 億美元宣布收購賽靈思)
朱震霆(00后): 在信奧賽比賽時,我們需要三個人協作,彼時我們隊友之間需要通過看紙質代碼 DeBug;或者有人上機時,其他隊友就去解決別的題目或者從旁觀察,防止上機的人寫出 Bug,因此這是一個很在乎分工合作的程序,
我上大學之前,也有一個團隊,這個團隊給我的最大感受是:一個團隊里面,最優秀的人越出色,整個團隊的水平也會隨之上升,雖然外界都說姚班很厲害,壓力會很大,但我覺得這是挺好的事情,在合作中競爭的團隊精神會對團隊的發展很有幫助,
程式員世界沒有“退休”二字,“35歲現象是個偽命題”
之前求總(求伯君)表示退休了,那請問您最近在關注或者在做什么?
求伯君(60后): 首先退休是真的,我沒有再去參與公司的日常管理,因為身體不好,我正在鍛煉身體,平時會關注一些感興趣的東西,也寫一些自己用的游戲代碼,不是作為商品去寫的,譬如游戲外掛之類的,當然這不方便拿出來炫耀,為了完成游戲的任務,寫代碼將自己從勞動中解放出來,
如何看待程式員生命周期?好多人 40 歲不寫代碼了,是編程優則仕嗎?
求伯君(60后): 程式員的生命周期我認為是可以一直寫下去的,我不寫商業程式是因為體力跟不上,商業程式需要規定時間,而我自己寫個小游戲可以有時間就寫,因此只要有邏輯思維在,我認為程式員就可以一直干下去,有人 80 歲還一直在寫程式,多寫程式說不定還能防止老年癡呆,
何征宇(80后): 關于 80 歲的問題我特別有感觸,這個問題被我們討論過很多次,我自己的團隊就招了好多前輩,當我在谷歌的內核團隊時,周圍都是爺爺級別的程式員,并且他們真的是頂梁柱,他們寫出來的程式都像是藝術品,我在此大言不慚說一句:我覺得中國軟體業要發展,就看我們到底有多少爺爺級的程式員,看有多少爺爺還在寫程式,
一個人往后臺發展的話,讀完博士或者碩士,年齡就要大一些,然后要在公司里真的做過系統或者工程,五六年才能完成一個,做完兩個就要 40 歲以后了,因此我認為 40 歲以后才是程式員的黃金時期,才能創造世界級的工程,
程式員的年齡逐漸增長后,想轉崗到管理崗位的話有什么建議?
王成錄(70后): 基于上一個問題,首先我并不認為只有年輕人才能寫出好軟體,在中國普遍認為只有年輕人才能做出好軟體的原因是,中國的軟體全被擠到了上層的應用軟體,應用軟體的確講究創新,但真正的系統軟體是一定需要時間積淀的,
因此在這個方面,中國軟體的觀念一定要扭轉過來,
在轉崗問題上,想成為軟體管理者或者想成為標桿,需要具備三點特質:
-
一定要往前看, 這是做軟體產品所需非常重要的洞察力,因為軟體與硬體不一樣,它變化太多了,如果往回做產品和技術,是不可能做到很大份額或者世界領先的,以作業系統為例,只有開創新的機會點,未來國產作業系統才有希望,
-
學習永遠不能停下來, 以個人為例,我每天花一小時學習,多年來雷打不動,John L. Hennessy / David A. Patterson寫的《計算機體系結構》,我從第二版學到了第五版,因為如果你沒有相關能力就無法管理團隊,別人需要決策的時候,你沒有自己的判斷,就無法選擇正確的答案,
-
擁有邏輯抽象和布道的能力, 布道就是讓別人理解你的想法,不論是對客戶還是投資人,抑或是在企業里,只有對方理解了,才會對你的專案進行投資,
對于當代開發者,有何建議?
未來如何平衡開源與提供企業級服務之間的關系?
王成錄(70后): 按我個人理解,首先,開源不是技術問題,而是商業選擇的問題,商業從哪來?這就決定了手段的不同,例如蘋果閉源很成功,安卓開源也很成功,所以這不是問題的本質,而是商業選擇的問題,
其次,構建生態跟做 TO B 完全不一樣,做 TO B 時,交易發生的角色很清晰:提供者和客戶,而構建生態時角色會變多:最終享受生態的消費者,各種生態貢獻者,如軟體貢獻者,硬體貢獻者,應用貢獻者等等,如果這些人不能獲得很好的利益平衡,生態很難走下去,所以生態比 TO B 復雜很多,
以傳統和競賽培養程式員的兩種方式,大家如何看待?
王成錄(70后): 競賽選手培養的應該是逆向思維,這在產品或工程里面有非常合適的崗位,因為在做產品的時候,不能只用正向思維來設計,以交換機為例,它是一個必須高度可靠的設備,而我們把其功能實作其實只完成了一小部分,另外 60%-80% 是處理例外情況下的解決方式,因此我們也招聘過一些競賽選手,他們的逆向思維,尤其是用攻擊的視角去看待產品時,會給設備的實作提出非常有價值的建議,
蔣濤: 競賽培養的是快速學習和解難題的能力,唐文斌(曠視聯合創始人兼CTO)就在培養高中生做 AI,也招一些競賽選手,然后發現頭腦聰明的人上手也很快,所以競賽本質是一種選拔機制,
蔣濤:六代技術人對目前的中國開發者有哪些建議?
姚 頌(90后): 要勇于肯定自己,不能在舒適區里面,要往上走,不斷學習,做自己不敢做的事情,
王 濤(80后): 中國軟體的上層應用,如移動App,在全球已經是超前水平,但在基礎軟體方面還存在一定的差距,因此我希望在座的程式員多關注底層軟體,只有把基礎打扎實了,才能把樓建得更高,
何征宇(80后): 活到老,寫到老,
王成錄(70后): 做軟體,一是心要靜,二是持續學習,
求伯君(60后): 兩年前的一次1024大會上,我曾呼吁:程式員太辛苦了,在這一天一定要放半天假,
現在我仍然呼吁:10月24號應該為所有程式員放半天假,
朱震霆(00后): 要多思考,勇于創新,雖然別人可能已經做了十年的技術,我們不一定很快趕上,但我們換一條路就會變成新的賽道,
蔣濤(主持人): 以倪院士曾經的一句話作為結尾,「堅持你認為正確的事情,熬過寂寞期,你就能夠成功,」
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/224755.html
標籤:其他
