從入門到放棄: 在技術概念的大爆發中何以自處?

2021-02-23 InfoQ

大咖說是InfoQ推出的視頻直播節目,每周四晚八點半和您見面!

回覆:理想,獲得直播完整版視頻。

戳閱讀原文,獲得簡訊提醒,不錯過下次直播!

關注美女主播66的微博:非著名鼓勵師66,各種福利等著你~

本視頻時長36分,建議在Wifi環境下觀看。

黃希彤,騰訊雲技術專家。

1999年四川大學畢業後從事醫療影像系統開發,2001年創業,2003年創業失敗後移民澳大利亞,2004年放棄移民身份回國,2005年加入騰訊,負責QQ空間等產品的前端技術和用戶體驗優化,2015年加入騰訊雲。

目前騰訊Web前端技術級別最高的程式設計師。技術公益倡導者,中國信息無障礙聯盟發起人,中國信息技術公益聯盟發起人。

我從1988年開始學習編程,中學期間一直參加計算機競賽,一開始用Basic語言,後來改用Pascal語言。大學的第一志願本來填的是物理相關的專業,但是陰差陽錯的,卻被調配到第二志願,計算機軟體專業了。大學期間比較不務正業,畢業的時候因為重修了51個學分,沒有獲得學位。

99年大學畢業後進入了一家研究所,參與一些醫療影像系統的開發工作。一開始使用delphi,後來改用VB。兩年後換了一份工作,進入了一個電子政務項目,從那時開始用java編程。

後來和高中同學一起創業,做辦公自動化系統,創業一年後,沒有資金了,就散夥了。

創業失敗後我去了一個外企工作了一段時間,做一個香港政府的外包項目,隨後有一個技術移民的機會,27歲那年,我去了澳大利亞,在墨爾本呆了大半年,沒有找到合適的技術性的工作,倒是做了一些鉗工木工之類的活兒。新移民一般前兩年不能隨意離開澳洲,俗稱「移民監」,算一算人生其實沒有太多個兩年的,我不想把時間都花在那裡,28歲那年我回國了。

回國後繼續去了一家外企,做醫療信息系統,還是做Java。直到一年後遇到騰訊招聘,於是2005年我來到騰訊,轉正後就30歲了。

從2005年到2015年,我做了將近10年的QQ空間,從一開始的負責所有前端的交互邏輯開發,到後來有了前端團隊,再後來把關注重點放到了性能優化和用戶體驗優化上。

今年前端圈子裡面很流行一篇文章《在2016年學習JavaScript是一種怎樣的體驗》,我看完也暈菜了,裡面大部分的新技術概念我都沒有聽說過或者只聽說過名字。

這讓我想起了十多年前,我還是個Java程式設計師的時候,也是碰上了一個技術概念大爆發的時期,每天面對著層出不窮的新技術概念、新框架、新工具。當時我過得很焦慮,學不完的新技術,每個都看起很有用,不學習,不實踐,又沒有辦法確認它是不是真的那麼有用。

最後我做了逃兵,我想Java這個技術方向是適合那些更聰明的人繼續發展的方向,那你們慢慢玩兒吧,我走了。2005年我放棄Java,走上了Web前端這個新方向,一下就解脫了。所以我們今天的話題有個「從入門到放棄」的噱頭。我在這之前確實是經歷過客戶端開發和後端開發從入門到放棄的過程的。

那麼十年後再次看到這樣的困境,讓我意識到這樣的問題其實會一直發生,所以我們也不能一直做逃兵啊,還是要換一個角度來重新審視這個問題。我們的身份是軟體工程師,工程師的天職是「解決問題」,我們要關心的是新的技術是否賦予另了我們新的解決問題的能力,讓我們能夠解決以前不能解決的問題。

我們看到很多新技術概念和框架,只是賦予了我們一種用新方式解決老問題的能力,比如有個網站叫做「你可能不需要jQuery」(http://youmightnotneedjquery.com)裡面列出了很多我們常用的jQuery的功能如果不用它應該怎麼做,也就是說,其實jQuery並沒有讓我們解決原來解決不了的問題,只是給了我們一種新的方便的代碼寫法。其他很多框架也有類似的問題,甚至現在很多人用ES6編程,再用Babel轉成ES5,那實質上我們也是在解決原來用ES5就能解決的問題。

所以我以前負責QQ空間前端的時候,有好些年我都不希望團隊使用外部的前端框架,我對團隊說:如果你自己連個jQuery都寫不出來,那你怎麼能理解你寫的調用jQuery的代碼實際上是怎麼運行的呢?所以看到很多曇花一現的前端技術過氣了以後,我都會有點慶幸還好沒有花時間精力去追逐它們。

所以如果你希望追求更漂亮的寫法,沒問題,這個社會也需要代碼藝術家,有很多人喜歡代碼藝術家。如果你想我一樣缺乏藝術細胞,那我們還可以當一個好工程師,在掌握了基礎的編程能力的基礎上,更加專注於有哪些問題是前人沒解決的。

新的網際網路時代已經到來,但是我還是看到大量的前端開發者並沒有具備這個時代應該有的新的編程思想和能力,很多人還在用老的方式搭建系統。

比如我們有了一個好的想法,需要後臺開發,但是我自己不熟悉後臺技術,然後就必須要拉一個後臺開發來加入,如果找不到一個靠譜的後臺開發,我們的創新想法可能就擱淺了。

但是其實現在國內已經有很多所謂「後端即服務」(Backend as a Service, BaaS)這樣的平臺,可以用通用一致化的後臺服務來支撐我們前端開發者的創新,比如我們騰訊雲就有移動開發工具TAB(https://www.qcloud.com/product/TAB)這樣的BaaS平臺,我們就很容易很低成本的把我們的創新想法開發出來,快速試錯。

又比如現在有很多人是全棧工程師,所以後端開發也不是問題,然後創意開發上線了,萬一真的特別靠譜,比如我們突然想到了一個類似於圍住神經貓這樣的爆款創意,突然一炮而紅,那我們的系統架構能力能不能支撐起怎樣一夜爆紅的壓力呢?我們的很多開發者其實並沒有準備好去迎接這樣的的系統壓力的,所以機會來了你也很容易抓不住。

但是在雲時代要通過有限的成本快速提供這樣的抗壓能力其實是比較方便的,只是系統需要有一些面向雲的架構意識的體現,比如數據是否動靜分離,是否充分利用了CDN網絡的分發能力,是否使用了負載均衡服務,動態數據服務是否儘量採用了服務性存儲,而不是本地硬碟和本地資料庫存儲,會話狀態是否從伺服器上分離到獨立的緩存服務上等等。

做到伺服器的無狀態化以後,你的伺服器就很容易具備伸縮能力,在遇到良好的發展機會的時候可以很容易的複製新的後臺服務添加到集群中來線性的提升負載能力,甚至在訪問高峰期過後還可以很容易快速的釋放資源節省資源浪費,而且這樣的伸縮活動還很容易自動化,像在騰訊雲上你可以使用彈性伸縮服務,設定一定的帶寬或者CPU閾值來觸發伺服器的縮擴容,這只要在網頁界面上做簡單的點擊配置就可以了。

這些做法其實很多都不需要額外掌握什麼新的技能,甚至可以比傳統的做法節省很多開發量,只是需要把資料庫的主機地址改成遠程的IP,把會話配置文件改成指向遠程伺服器,使用對象存儲SDK來代替自己開發文件上傳下載等等。

像這樣基於雲去思考和架構系統的方式,現在我們也常常稱為「雲原生」,這樣的思考方式會極大提升我們前端工程師和全棧工程師解決問題的能力。

我一直相信一句話,看一個社會好不好,不是看這個社會上過得最好的人過得多好,而是要看這個社會上過得最不好的人過得有多不好。

這些年因為個人興趣的關係,接觸公益圈比較多。正好看到社會企業這個概念的興起,很多公益圈的朋友要麼去加入了一個社會企業,要麼去創辦了一個社會企業,用各種方式嘗試通過商業手段來實現改善社會的目的。

我覺得自己和他們一樣有社會理想,但是卻又不像他們具備那麼好的商業能力,我更多具備的還是技術能力。那當具備商業能力的人去做社會企業的時候,具備技術能力的人要怎兌現社會理想呢?所以去年我提出了「社會程式設計師」這個概念,大家可以類比一下「企業」和「社會企業」的區別。社會程式設計師也一樣的,我們重視社會價值,嘗試通過自己的技術手段來實現社會價值,幫助社會進步。

我最早進行的相關實踐是信息無障礙,這是一個很典型的領域。如果我關注商業價值的話,我們的產品應該面向全國的幾億或者全球的幾十億網際網路用戶去優化產品,實現商業價值的最大化。

但是如果我們看過的最不好的那些人,那些使用網際網路產品最困難的用戶,比如中國的一千多萬盲人,那麼我們就不能過度的期望在他們身上挖掘出商業價值,而要看我們隊產品做什麼樣的改造可以更好的幫助他們。

後來我還嘗試了尋親領域,前天剛好是我們騰訊尋親項目上線4周年。4年前我們瞞著公司悄悄改造了數千臺伺服器上線了這個項目,現在已經影響了騰訊的一系列海量產品,比如手機QQ、微信、電腦管家、手機管家、廣點通這樣的項目加入,甚至還有數千家外部的公司和網站也加入了我們。

我們還嘗試過通過把IT能力輸出給公益組織,推動他們進步,讓他們更好的的幫助受助者。

今年8月,我們還發起成立了中國信息技術公益聯盟(citpu.cn),聯合更多的志同道合者一起用專業能力改變社會。

我們使用的很多技術將來都會被淘汰,我們做的很多產品將來都會過時,真正能讓我們牛的,應該是那些可以經得起時間考驗的技術實踐。

今天大家基本公認,計算機界的諾貝爾獎就是圖靈獎。我們去看歷史上的圖靈獎獲得者也都是這樣的,並沒有某一個語言的高手,而是發明了一種語言,發明了一種算法,發明了一種編程模式,這樣的人。

我有的時候會想,圖靈如果生活在今天,他會寫JavaScript寫得特別好嗎?我覺得基本上是小概率事件。不是說圖靈不夠聰明,不能把JavaScript寫得比我們好,而是說圖靈之所以是圖靈,是因為他做了那些經得起時間考驗的事情。

我覺得技術圈的很多人,往往會覺得程序寫得好最牛。現在一些很高深的技術研究,能在技術圈引起討論、關注,能讓大家認識到你的技術很厲害,所以很多人認為吧程序寫得特別好的程式設計師很牛,但是我們的編程技術很多將來都會被淘汰,這樣的牛是一時的。我以前在社區裡也認識過很多很厲害的人,但是今天的開發者不一定還知道他們。所以很多開發者也難以理解馮大輝作為一個CTO怎麼能不寫代碼。

但是如果我們通過專業能力,能對社會做出一點實際的推動和改變,讓我們今天生活的這個世界變得有一些不同,這樣的程式設計師,他們留下的改變可以不隨著技術的升級換代而被遺忘,這樣的牛,也許才是可以經得起時間考驗的。

所以我們應該多關注那些將來我們90歲的時候還可以回憶的成就,多想想我們打算跟自己的孫子吹什麼牛。

下周二(12月20日)晚八點半,新一期大咖說登場!

這次,我們來聊一聊程式設計師的健身之道:

沒有健身基礎的程式設計師,如何增肌和減脂?

掃描下方二維碼報名,不錯過下期直播!


相關焦點

  • 從《何以笙簫默》中何以玫的愛情經歷,你學到了什麼
    暗戀與執著何以玫與何以琛從小一起長大。可謂是青梅竹馬兩小無猜。而何以琛又那麼優秀,喜歡他自是情理之中。但在愛情世界裡面沒有什麼是固定的。喜歡就是喜歡,不喜歡就是不喜歡就像何以琛對何以玫所說的那樣,如果有一個人曾經出現過,那麼其他人都是將就,而我不想將就。是這句話讓何以沒徹底認識到了。
  • 能臣良將何以自處——讀秦史有感
    其與家屬徙處蜀!」呂不韋自度稍侵,恐誅,乃飲酖而死。可以這樣說,沒有呂不韋嬴政就不可能為秦王,更別說當始皇帝了。最後不得不服毒自殺,豈不悲乎? 自馳如頻陽,見謝王翦曰:「寡人以不用將軍計,李信果辱秦軍。今聞荊兵日進而西,將軍雖病,獨忍棄寡人乎!」王翦謝曰:「老臣罷病悖亂,唯大王更擇賢將。」始皇謝曰:「已矣,將軍勿復言!」王翦曰:「大王必不得已用臣,非六十萬人不可。」始皇曰:「為聽將軍計耳。」於是王翦將兵六十萬人,始皇自送至灞上。是不是很無禮,甚至傲慢,他為什麼能得以善終呢?
  • Dagger2這次入門就不用放棄了
    但是感覺對於入門來說那些文章都沒有說到點子上,具體怎麼用?應該怎麼寫代碼?為什麼這樣寫?並沒有很明確的說明。我來回看了幾遍代碼之後,總結出了一點經驗,不知道說的對不對。*沒有了解過 Android MVP 結構可能不利於閱讀。
  • 編程入門(轉載自知乎 @蕭井陌專欄)
    申明:文章轉自知乎@蕭井陌專欄 請轉載時加上署名 如果你喜歡編程,喜歡計算機,我想下面的編程入門應該能帶給你極大的幫助,希望您能耐心看完。磁與電之間的差別只是「觀察角度」的問題,我猛然醒悟,此後我不再僅僅追求怎麼做(How),我開始問為什麼(why),開始回過頭來,拾起那些最基礎的部分,學習那些我之前我本該好好學的知識。這個回頭的過程是痛苦的,希望你們能就此警醒,永遠不要做這種傻事。
  • 推送,從入門到放棄
    圈圈包教包會,絕對不會讓你放棄。 叮鈴鈴,小圈圈推送課堂開課啦~ 要想徵服一座大山,在上它之前,必須要搞清楚它的土質、傾斜度、植被情況以及能不能讓別人背你上去。 推送同理。 這個冒著打擾用戶的風險做的推送,遠沒有看起來那麼簡單。
  • CEPC-SppC加速器——從概念設計到技術設計
    粒子物理標準模型是人類迄今為止構建的最為成功的物理模型之一,它以簡潔優美的數學形式和令人驚嘆的精確水平預言和詮釋了幾乎所有在對撞機實驗中觀測到的現象(圖2)。自20世紀後半葉起,粒子物理發展的主旋律就是標準模型的建立和驗證;希格斯玻色子的發現無疑把標準模型的成功推向了高潮。
  • 《何以笙簫默》原著:何以玫放棄以琛的原因,是自知等不過他
    何以玫看著五光十色的都市夜晚,愈發覺得眼前的以琛寂寥。其實何必等以後,何以玫一直都明白,她永遠也等不過何以琛。只不過那時的她也很倔強,在這個人群滿滿的偌大都市,她和何以琛一樣,都在固執的孤單著罷了。一、何以玫的固執何以玫一直覺得,趙默笙配不上何以琛。她不漂亮、學習不好、性格也大大咧咧,還總是愛闖禍,這樣的人,能給以琛帶來什麼?
  • DIY從入門到放棄:CPU買盒裝還是散片?
    (沒有答對的請重新回答一次)顧名思義,盒裝就是在包裝盒中進行銷售的版本,而散片則是沒有官方包裝的產品。如果你糾結選擇盒裝還是散片,那你就來對地方了。首先來要了解一下盒裝和散片的區別。被海關查獲的散片CPU(圖片源自百度貼吧)散片則是CPU廠商將其作為元件供應給OEM廠商的,基本上都是從OEM廠商流出,也就沒有包裝盒和散熱器,雖然價格更便宜,但是廠商不給散片提供質保,一般只有店鋪提供1-3月的質保。
  • LiveMe FE 李承均:RTC 技術的入門和實踐
    疫情之後,各種在線項目迎來一個發展高峰,其中在線教育、在線診療、在線辦公、在線直播四大行業,都需要 RTC(實時音視頻)技術」,有消息稱「 RTC 技術將迎來高速普及的拐點」。本期【藍湖大咖訪談】有幸邀請到 LiveMe 的工程師李承均老師,為大家分享 WebRTC 的實踐經驗。
  • 「夜空中的星星」自媒體社會領域排名,自媒體新手該怎麼入門?
    「夜空中的星星」自媒體社會領域排名,自媒體新手該怎麼入門?夜空中的星星是當前百家號中的普通號,目前帳號百家號權重為2,綜合排名位列769552名,社會分類排名位列79170名,領先了30.8%的百家號。
  • 「小馬說券」自媒體財經領域排名,自媒體新手該怎麼入門?
    「小馬說券」自媒體財經領域排名,自媒體新手該怎麼入門? 備註:本文數據來自站長之家移動傳媒平臺,文章涉及的數據依託平臺大數據計算所得,非百度官方數據,僅供參考。
  • 美軍放棄「空海一體戰」概念:自己人不滿 更惹惱解放軍
    擴大以海軍和空軍為重的作戰概念的努力始於2014年秋天。當時,參謀長聯席會議成員向主席馬丁·登普西建議,將其他軍種納入這一作戰概念。五角大樓空海作戰部副主任特裡·莫裡斯說,這個名為「全球公域介入與機動聯合概念」(JAM-GC)的新計劃,並不尋求以介入與機動取代空海作戰,也不是拋棄空海作戰概念而重新制定作戰概念。
  • 39歲正處,稿費4100萬,這位斜槓青年何以成為人生贏家?(中)
    這位斜槓青年何以成為人生贏家?(上)發出後,受到朋友們跟評。平時忙,疏於回應,現在挑選有代表性的與大家交流。01 此石悅非彼石悅?有網友說:此石悅非彼石悅!當年明月原籍湖北宜昌,海關總署工作,曾到廣東順德基層海關鍛鍊。
  • 吉他手從入門到放棄
    開始我們並不是一個寢室,在迎新晚會上我彈唱一曲《可愛女人》成為系裡的紅人,一說到我大家就會說:「你說老範啊,就是403會彈吉他的那個醜逼是吧!」A君為了跟我學吉他,用幾包煙換到了403跟我這個醜逼學吉他。
  • 《科幻概念設計知識與素材資料入門》- E01
    哈嘍大家好,本期請來了新晉 Concept Artist  斯基 - Marksanwel 來給大家講解一下《科幻概念設計知識與素材資料入門》,
  • 零基礎看得懂的C語言入門教程
    現在回過頭查看當時自己編寫的教程,由於當時技術的淺薄,編寫的教程還是存在很多的不足,故有了一個重新編寫C語言教程的想法。此次編寫計劃編寫一個快速入門的系列以及另一個全方面學習C語言的系列。
  • 「彩月當空照」自媒體健康養生領域排名,自媒體新手該怎麼入門?
    「彩月當空照」自媒體健康養生領域排名,自媒體新手該怎麼入門? 備註:本文數據來自站長之家移動傳媒平臺,文章涉及的數據依託平臺大數據計算所得,非百度官方數據,僅供參考。
  • 微軟研究院書單:計算機圖形學從入門到精通必讀的10本書
    作為計算機圖形學入門基礎最佳教程,該書內容涵蓋非常廣泛,從最基礎的rasterization algorithm到現代GPU設計及並行計算應有盡有。這本書之所以有名一方面是因為其全面地介紹了計算機圖形學的基本概念和經典算法,另一方面也來自於這本書的歷史地位。該書第一版出版於1982年,可以說這本教材見證了計算機圖形學界的發展,當然,本書也多次改版增添了大量內容以適應計算機圖形學的飛速發展。
  • 放棄SM跳槽到Big Hit的閔希珍新女團選秀概念
    放棄SM跳槽到Big Hit的閔希珍新女團選秀概念這也將是閔希珍放棄在800+的討論中,,「f(x)真的是把概念都消化好了,而Red Velvet更有一種匹配到了合適的概念的感覺。」,「新女團就是這個風格嗎...?要是的話真的是我的取向狙擊。」
  • 新手入門:如何炒股票?新手學炒股快速入門
    如何炒股票新手如何炒股票?前者需要帶上身份證和銀行卡親自到證券公司營業部櫃檯進行辦理。如何網際網路技術發達,現在大部分證券公司都支持網上開戶,你可以選擇手機開戶或者電腦開戶。開戶完了之後,需要在電腦或手機上安裝炒股軟體。一般在那個券商開戶,就安裝該券商的股票軟體。當然,一些第三方平臺現在也支持登陸使用,比如同花順、大智慧、通達信軟體等。安裝完軟體之後就需要熟悉一下軟體的使用方法了。