close
作者 | 楊陽
出品 |新程序員編輯部
時下正值高考志願填報季,報考熱度前三專業中有計算機科學與技術、電氣工程和自動化,以及電子信息工程。這意味着,又有數十萬學子進入到了計算機相關領域。
回想當年,你是否還記得填報計算機專業時的情景?是因為招收人數多,上岸概率大?還是畢業好就業,從實際出發?但相信那時的你之所以選擇這一專業,更多還是源於對科學技術自我啟蒙後,出於心底的興趣和喜愛。
成為程序員後,如今的你是否還保持着當初的激情?是否會回想起曾經選擇做技術人的初心,為什麼成為技術人?每天不停地在代碼中奔忙,有沒有暫停一下、問問自己,「我」成為了怎樣的技術人?而當確定想要成為怎樣的技術人後,更進一步,你又應該如何做,才能達到預期?
為什麼,是什麼,怎麼辦?用這三個問題審視你的程序人生,將得到怎樣的答案?如果你還沒有頭緒,無從回答,那不妨來看看「他們」的回答。

本文節選自《新程序員》004,『紙質書+電子刊』已正式開售


為什麼?看技術大神的成長之路!


現年71歲的Bjarne Stroustrup,回想起和C++結緣的四十餘年,仍不免感慨:「C++的成功令人驚訝。」因為對歷史、哲學等許多領域抱有廣泛興趣,多年來保持不變,他認為這對C++的的誕生和發展具有重要意義。
但相較於深入的學術研究,Bjarne Stroustrup對工程領域有「個人偏見」,更為看重性能、低成本、可靠性反饋,以及對現實世界問題的真正理解。在他看來,這些思考讓C++更加具有普適性,因而從誕生以來一直廣受開發者的喜愛。
對於Bjarne Stroustrup來說,作為美國國家工程院(NAE)院士,自然不乏光環。但近距離觀察,抽絲剝繭地挖掘大神成神的背後,那些我們尚未思考過的問題,才是與他們的真正距離。對技術底層邏輯思考的深度決定了成就偉大開發者的高度,這一理性力量如果你駕馭得當,成神之路上方可披荊斬棘。
當然,對於更多開發者來說,成為技術人並非像Bjarne Stroustrup一樣出於個人的哲學思辨或者歷史的興衰這樣或深刻、或宏大的命題。但之所以選擇,也必有緣起。
在Darryl K.Taft對C#、TypeScript之父Anders Hejlsberg的採訪中,後者對自己選擇從事編程,並且獲得非凡的成就歸功於「熱愛」。當被問起最喜歡自己創建的哪種語言時,Anders Hejlsberg說:「這個問題太難回答了,就像問我最喜歡哪個孩子一樣。」
為什麼要對技術語言、編程工具投入「慈父」般的愛意?一方面,簡單易用的開發工具可以給開發者帶來極大便利,提升效率、節省時間;另一方面,在Anders Hejlsberg看來,工具的更大作用在於「表達(開發人員)思想和算法」。
在注重開發者表達的理念背後,是Anders Hejlsberg不斷歷練和升華的程序人生。Algol語言引導走上編程之路——構建Pascal編譯器——創建Turbo Pascal……Anders Hejlsberg在架構設計上從不走捷徑,在為C# 3.0設計LINQ期間,他堅持認為FROM、SELECT子句的順序應該與傳統的SQL順序相反,才能讓開發人員感受到流暢的IDE使用體驗。
如果說Bjarne Stroustrup對技術的思考聚焦在理性價值的層面,那Anders Hejlsberg更多是因為感性的精神激勵。而除了深層思考和精神賦予,大神的成長之路上,持之以恆的耐力也不可或缺。
開源軟件運動的著名倡導者Michael 「Monty」 Widenius,如今仍堅守在編程第一線。編程四十多年,他的獨到領悟是:只有沉浸其中超過20年,才能像欣賞音樂一樣,領略編程之美。而什麼時候能將代碼一次性完成(像優秀的音樂家一樣基於深厚功底而靈感迸發),才能稱得上是一名優秀的程序員。
在Monty看來,他所接觸過的中國開發者在編寫代碼上表現都很優秀,但驚喜的同時,卻又感到異常的惋惜,因為這些開發者很多都想轉型做管理。這其中,或有傳統「學而優則仕」的思維謬誤,認為不管人而被人管就差人一等;或因為系統性的淘汰機制,生存危機深植於潛意識中。
但實際上,Monty認為,找到一個好經理容易,找到一個好的程序員卻很難。一個非常出色的程序員可以抵五個一般的程序員,關鍵是你想當一個好的程序員還是一個平庸的經理。
「對於所有中國開發者,我只想說,請堅持你的工作,你已經做得非常好了,一定不要停止寫代碼。」

看Bjarne Stroustrup、Anders Hejlsberg、Monty……大神們的思考、熱愛與堅持

是什麼?學習技術極客&工程人的卓越思維!

如果你決定聽從Monty的建議,像「欣賞音樂一樣領略編程之美」,漫漫長路的程序人生你會怎樣填滿?或者說,成為怎樣的程序員?
尤雨溪大學四年在美留學,先是遵照父願選擇了金融專業,但因為不感興趣而在大三轉到了Studio Art專業。
學金融專業的設計師,成功轉型做技術,還成為Vue.js創始人,榮登GitHub Repo TOP3,他是怎麼做到的?尤雨溪認為,成績為「A+」的邏輯分析能力幫了他的大忙,當然還有決心。然而,「尤雨溪現象」並非個例,他在Parsons設計學院的同學都非常跨界,有的同學是工作了幾年的設計師想學編程,有的則是經驗豐富的軟件工程師想搞藝術。
對於像尤雨溪一樣的開發者來說,成為技術人是一個伴隨心智成熟的循序漸進的過程,是歷經了不同嘗試之後的最終選擇。從他的經歷也可以看出,學習什麼很重要,但真正想做什麼更重要。想要成為優秀的程序員一定是發現自己對這一領域產生了好奇,內心有很多問題想要解答,從而驅動自己不斷提問和求解的過程。
當然,有新生代的思維活躍,也有老生代的沉穩紮實。
OceanBase創始人陽振坤對於很多開發者來說應該是長輩了。從本科和研究生鑽研數學,到後來做出集OLAP和OLTP於一體的分布式數據庫,他最大的感觸是:「不做工程,等於紙上談兵」。
這位技術界的老兵,從北大計算機專業博士畢業後留校任教,做到教授。儘管事業順遂,但基於對工程實踐的執念而選擇進入產業界。在創建OceanBase分布式關係數據庫之前,他已經在聯想研究院、微軟亞洲研究院、百度等知名科技公司任職多年。
還在微軟亞研的時候,陽振坤就接觸到分布式系統,結識了阿里雲創始人王堅。
在甲骨文公司的Oracle數據庫獨霸天下的時代,他們卻非常看好分布式系統。去到阿里後,機會終於降臨:「我們要做一個大飛機,不管你有多大的業務量,都能用分布式數據庫這個大飛機給你運走。」這一次,出於對數據庫產業變革的執念,讓他的程序人生再次發生轉向。在歷經了機會到來、生死一線、柳暗花明和順風順水四個階段後,OceanBase數據庫在支付寶的地位愈趨穩固。
無論像尤雨溪一樣的技術極客,還是如陽振坤一樣的工程人,雖然成長路徑各異,但都抱持着為開發者或者產業做出優秀產品的卓越思維。而這,也是他們之所以成為卓越技術人的主要原因。

學習尤雨溪、賈揚清、陽振坤……技術極客&工程人如何選擇和思維

怎麼做?方法千萬條,合適最重要!

當你已經決定好成為怎樣的開發者,下一個面臨的問題就是應該怎麼做。
PostgreSQL全球開發組聯合創始人Bruce Momjian給到新晉開發者的建議是:
「對於學生來說,最重要的是在學校學到的內容是否和當前的行業匹配。如今獲取數據的渠道越來越多,包括移動端、客戶端、瀏覽器及GIS等。大學生需要更加關注市場需求,學習開源知識並且加入開源社區。我希望學術界能夠擁抱新技術,讓它們走進大學。」
阿里巴巴CTO程立為技術產業界的CTO清晰地梳理了六項職責參考:
「職責一:建立商業與技術的「共振」連接;
職責二:一張圖、一場仗、一顆心;
職責三:關鍵決策,掃清前進中的障礙;
職責四:應對風險,化危為機;
職責五:組織設計與治理;
職責六:凝心聚氣,薪火相傳。」
指令集創始人兼董事長潘愛民通過多年編程生涯,分享了他所認知的計算機程序和編程技術發展背後的兩個基礎原則:
「1、隨着計算機程序使用場景和範圍越來越廣,適應這種廣度擴展的基本手段是分層,即增加層次;
2、在計算機系統的層次結構中,越是下面的層次,提供的越是共性的能力;反之,越往上越個性化。」
原阿里巴巴集團資深安全專家,現默安科技創始人兼CTO的雲舒,想要告訴開發者的是如何「仰望星空、腳踏實地」:
「程序員,或者說技術人員,更需要的是理解和認同,需要成就感。我更關注這方面的事情……我有三個建議:1、不要去問答類、知識付費類的網站,那裡沒有知識,而且還會造成一種在學習的錯覺。可以買本書,認真地看,紙質版、電子版都可以;2、實踐。每當學一個新的東西,要做大量的實踐;3、堅持。」
擁有40年遊戲開發人生,原網易遊戲核心成員、杭州研究中心總監雲風,認為開發者應該具備的最重要的品質和能力是「抓住問題的本質」:
「要用足夠簡單的方法解決根源問題,拋開中間的枝節干擾;另一項重要能力是評估事物的能力,知道一件事情大概是怎麼回事,需要多長時間完成,需要什麼條件完成,這是靠經驗堆出來的;同時,也要對自身有清晰的認知,這樣你才能規劃好你做整件事情的流程和時間,減少返工。」
夥伴雲CEO,創辦Discuz!的戴志康在25歲即實現財富自由,身價過億。這位集技術人、創業者、天使投資人等身份於一身的80後,認為優秀的技術人和普通技術人的區別主要在於:
「優秀的技術人就是能夠從更高的角度看問題,『知其然知其所以然』。普通的技術人通常是將別人抽象、總結的東西拿過來,不善於或不習慣親自探究『所以然』,因此對技術的理解就沒有閉環,這時總會碰到『這個能做,那個做不了』的問題。
優秀技術人的思考框架已經涵蓋技術周邊(即橫向如前端、後端、運維、產品等)和技術縱深(即縱向如架構、算法、數據庫、操作系統等)兩個方向。」
中國移動集團級首席專家,曾在貝爾實驗室基礎科學研究院的「老專家」錢嶺,給到開發者關於持續學習的建議是:
「在持續學習的基礎上,要從單個技術,如「雲計算、大數據、人工智能」擴展到「雲網融合、軟硬一體、雲邊協同、數智化」的組合能力。且不能只鑽到書本里,需要在熱愛的基礎上動手生產實踐。在系統性思考上,可以多問五個「Why」。
在「我是程序員」的篇章中,優秀程序員代表,purecpp社區發起人祁宇,通過講述他和C++的往事,發現了C++新標準技術創新的威力:
「C++新標準帶來的新技術往往會促進技術創新,技術創新帶來改變。我在2020年Pure C++大會上介紹了一種新的插件化開發方法,就是通過C++的新技術解決以前經典的C++插件化開發中插件需要派生於某個固定接口的問題。新的插件化方法完全擺脫了繼承的約束,可以自由地在插件中寫任意方法,這種新技術已經用在開源項目Ray當中了。」

聆聽Bruce Momjian、程立、潘愛民……48位技術專家的方法建議
此外,我們發現,90後已經逐步成長為技術管理的中堅力量。SphereEx聯合創始人、CTO,國內首位女性Apache Member潘娟,以及商湯科技研究總監、負責OpenMMLab在GitHub拿下50000+Star的陳愷,將帶來他們的成長經歷和思考心得。
在對技術的倫理討論中,視障者、無障礙工程師劉彪帶來他和技術結緣,成為無障礙工程師親身經歷和心路歷程。未來,科技向善的力量還有待更多對技術倫理心嚮往之的開發者們充實積蓄。
在本期《新程序員004》的最後,「斜槓程序員」——脫口秀演員子寅、科幻作家白丁紛紛到來、壓軸捧場。在子寅看來,不會「懟」產品經理,幹不了程序員,更干不好脫口秀;白丁則為了書寫科幻人生而放棄編程,走上燃燒創意之路。
其實,無論是成為大神、技術極客、工程人、創業者、管理者,還是優秀的程序員,抑或是跨界,甚至轉型,只要勇敢向前,技術人的未來都是廣闊天地、大有可為!

歡迎掃描下方二維碼或點擊進入立即訂閱

即可暢享電子書及精美紙質書。


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()