本期對話嘉賓:@張京
訪談編輯:芒果果vue
本想學醫的張京誤打誤撞進入清華大學學了計算機,又機緣巧合的遇上了信息技術「騰飛」的那幾年,他的「前半生」彷佛就是一個教科書般的模板。程序員
從小就是「別人家」孩子的張京順利考入了清華,在行業風口找到了體面的工做,一切都那麼順利。但生活卻不老是盡如人意,37 歲時張京被裁人了,通過很長一段時間才調整好心態,但從那之後他彷佛開啓了人生下半場的大門,變得更加坦然了。面試
現在已過不惑之年的張京對於當初的選擇只淡淡的說了一句:「沒什麼後悔的。」編程
內容提要:segmentfault
1.行業中有經驗的工程師愈來愈多,而程序語言對於從業人員的約束愈來愈少,編程自己帶來的樂趣愈來愈多。服務器
2.編程會改變一我的的思惟習慣,若是想要改變世界,先要從改變自身作起,編程培養的就是這樣的思惟方式。markdown
3.要有意識:這是個人代碼,我要對此負責。框架
Q:何時開始接觸編程的,契機是什麼?編程語言
我運氣略好,初中就開始接觸編程了,那時候咱們用的仍是一款叫做Laser310的機器,在上面寫Basic。編輯器
Q:計算機是你最初的夢想嗎?
其實我小時候的夢想是當個化學家,高考報志願的時候第一次填的是想報北醫,想當醫生,開刀動手術,後來班主任說你這個成績徹底能夠考清華啊,爲何要報北醫?我看了看清華的科系都是工科的啊,什麼機械電力的我都不感興趣,只有一個計算機,可能和我初中時摸過的有關,我知道這東西能夠用來玩遊戲,就這麼着稀裏糊塗地上了計算機系。正好遇上了信息技術的紅利期吧,沒什麼後悔的。不過想一想,其實若是當初選擇了學醫,可能也不錯哦。
Q:若是能夠從新選擇是否還會選擇這個職業
若是能夠從新選擇,大機率仍是會選擇目前這個職業,比較宅,又總能接觸到新技術,這兩點比較符合個人性格。惟一的指望是但願本身年輕時能夠更努力一些,鑽研技術更深刻一些,若是 vue 是我寫的就行了,哈哈。
Q:您說若是 vue 是您寫的就行了,那麼這方面您作過哪些嘗試嗎?
我以爲編程從本質上來說是一種寫做,沒有哪一個程序員不但願本身寫做的做品可以獲得更多人的承認,因此開源社區爲廣大程序員提供了這樣的一種可使你的做品廣爲人知的機會。
若是你真的想寫一個框架的話,網上有不少這樣的教程,從 0 到 1,從 hello world 開始寫做本身的第一個框架,學習 AST 樹,學習編譯原理,假以時日,逐漸就會變成一套符合你認知的全新的框架,在這個過程當中你會學到不少東西。可是光把框架寫出來是不夠的,若是想讓它流行的話,還須要有社區建設,市場推廣等等非技術要素,而個人時間常常不夠,因此經常是拿起來又放下,最後時間長了就束之高閣了。等之後有時間吧,再本身從頭認真地寫點東西,多是組件,多是框架,不爲了流行,只是爲了提升和挑戰一下本身。
Q:選擇目前就任公司的緣由?
沒有什麼特別的緣由吧,只是一份技術崗的工做而已,我始終把本身定位爲一個普通的程序員,經歷的年頭長一些,略有些經驗,喜歡鑽研解決你們搞不定的問題,這麼些年一直是這麼過來的。
Q:目前主要使用的編程語言是?最近有沒有嘗試新的編程語言?
目前主要使用的編程語言是Javascript和Python,偶爾也會用Go和Java。最近不怎麼嘗試新的編程語言,我我的感受語言這條路大約在十年前就已經走到頭了,萬變不離其宗,不論什麼語言無非都是 if/for 這種結構,也並沒什麼很差,夠用就好了。
Q:目前爲止最滿意的開發項目是什麼?
最滿意的項目已經下線了,那是 2000 年的時候用 Java 寫的一個網頁遊戲,名字叫作「戰神」,是一個策略型遊戲,玩家選擇本身國家的發展路徑,生產糧食,鍊鐵,兵器什麼的,經過打仗掠奪土地,有點相似於文明的文字版吧,不過簡單的多。大概只用了一個月時間就完成了主幹的開發,後面兩個月改改bug就上線了,結果一會兒註冊了一百多萬用戶,同時在線的有一萬多人,服務器只有兩臺,也沒有集羣的概念,很快就抗不住了,可是光有用戶沒用,廣告收入上不來,買不起服務器,那時候也沒有阿里雲之類的,只能就這麼湊合着,玩家來了一批又走了一批,耗了兩年多吧,最後就關停了。
那時候公司在一個酒吧的樓上,天天下午五點多的時候樓底下就開始有客人了,有時候咱們會下去買點啤酒喝喝,喝完了再上樓去寫代碼或者開會,基本上就是在這種狀態下完成的開發,雖然好像加班的時間挺多,但挺快樂的。
Q:掌握哪些語言?有哪些學習工具?
我從業比較早吧,不少語言都狗熊掰棒子,當時用的時候熟悉,後來逐漸扔掉了。我用過的語言包括:彙編、C、C++、C#、VB、Perl、Java、PHP、Javascript、Python、go 等等,我以爲最有用的學習工具就是:英語。無論什麼語言,直接動手寫 hello 就是最快的方法,遇到問題用 google 搜索 stackoverflow 總能在第一時間找到答案,因此無論別人如何說,做爲軟件工程師,第一應該學好的就是英語。只有學好英語,你才能在技術的海洋裏無障礙地遨遊。
Q:有什麼我的的特別的工做習慣麼?
特別的工做習慣大約就是代碼潔癖吧,不管是誰的代碼,不管是我寫的仍是別人寫的,拿到手的第一件事是先按照代碼規範給它格式化掉,必須弄成徹底一致的格式,哪怕花再多的代價也要先弄整齊了,而後才能思考,不然看着就彆扭,腦子徹底不能動了呢。
Q:進入這個行業已經多少個年頭了?您以爲行業發生了哪些變化?
基本上從畢業以後就從沒離開過這個行業,算起來到如今有25年多了。我能切身感覺到的變化是在這個行業中有經驗的工程師愈來愈多,而程序語言對於從業人員的約束愈來愈少,編程自己帶來的樂趣愈來愈多。我記得剛參加工做的時候,老專家老前輩很是少很是可貴,基本上公司裏全都是20歲出頭的毛頭小夥子,那時候正是中國IT產業高速發展的時期,機會太多而人才太少,那時候也是年輕人的我最大的苦惱是出了問題沒有人能幫你,互聯網上的技術論壇也遠沒有如今這樣發達,出了問題只能本身一我的琢磨,前路徹底是未知的,也不知道作法到底對不對。
如今的技術信息比之前要多不少,一方面你們尋找問題的答案再也不像之前那麼困難,另外一方面若是出問題,也有更多的經驗豐富的專家能夠幫助你們。編程語言方面的進化是大量簡潔語言變得愈來愈流行,無論是JS仍是Python以及Go都有這個趨勢,追求的方向是:無論什麼類型,變量抓起來就能用,不要跟我談類型,別講什麼private/public,聽不懂也不想聽,Go甚至已經簡化到你連import都不用寫了,隨便抓起個第三方函數來就用,它會自動給你補足頭部的import庫。在這樣一片徹底自由徹底隨意的世界裏,編程再也不是一件苦惱的工做,而是充滿樂趣的探索,因此我以爲如今的年輕人生活在一個很是幸福的年代,對你們的要求就是必定要大膽大膽再大膽,只要你敢想,沒有什麼是作不到的。
Q:從業至今經歷過什麼難忘的事情嗎?心裏發生了什麼變化?
2009年的時候我被裁人了,那一年我37歲。那時候尚未如今這樣人人都知道的程序員35歲危機,如今回想起來,我是真真正正地體驗過了,因此做爲過來人能夠給年青人講講。
我以爲裁人對人心理上最大的打擊是否認你的價值,儘管那並非你的錯,但你老是會情不自禁地去和別人比較:爲何被裁的是我,爲何不是他?是否是我哪裏作的很差?是否是我選錯了道路?其實什麼都不是,只是由於2008年美國次級貸危機影響了全球經濟而已,就像今年的新冠疫情影響了就業同樣。
我清楚地記得簽完離職補償書出來的那天是三月的一個晴天,我走出公司大門,忽然以爲內心空空的一片,不知道該到哪裏去,工做十五年了,歷來都是我辭公司的職,除了請假之外沒有一天是在工做的日子一我的走在大街上無所事事,感受本身就像一個曠課的小學生同樣。一開始的時候還很自信,以爲憑着本身的學歷,經驗,很快就能找到工做,可是隨着面試一次次碰壁,自我價值一每天被否認,我以爲這多是最難過的心理關。
一開始的時候你會想,怎麼着我也得找個和原來工資差很少的吧,過不了多久,你就開始下降標準,但你下降標準以後依然找不到工做,這時候你開始恐慌,直到最後基本完全放棄但願,開始認清現實:高薪的職位原本就少,經濟危機下機會就更少,不可能輪獲得你;你說你退而求其次,我就當個普通職員,掙個普通工資不行嗎?不行,由於若是要掙普通工資的話,社會上比你年輕的人有的是,普通崗位是留給年輕人的,任你經驗,任你努力,都是沒有用的,你發現你處在一個尷尬的境地,而且這種狀態可能要持續好久,不知道有多久。
最後的轉變是在你心態完全發生轉變以後纔來的,當你能夠坦然接受一切,再也不和本身較勁以後,不僅是薪資職位高低,而是坦然接受一切,不論有沒有工做你都能接受,哪怕一我的流浪街頭,你都只是努力地無怨無悔地生活,這時候人生的下半場才真正開始。
Q:這份職業收入如何?有什麼理財竅門?
收入主要就是靠工薪吧,錢不要亂花,業餘時間學習學習如何理財,努力使本身的年化收益率達到10%左右是比較適合程序員的,自己你從事這個職業就是圖穩,若是不是的話,直接去創業不是更合適,因此不要去追求太高的收益,風險不適合工程師。
Q:生活中有什麼愛好?如何緩解工做壓力?
小愛好看電影,大愛好旅遊吧。每週看幾部電影能夠適度舒緩壓力,每一年和家人一塊兒旅個遊基本就滿血復活了(不過今年可可以嗆了,暑假準備呆在家裏刷劇吧)。
Q:您都玩過哪些社區?
我一直比較喜歡回答問題,最先時是在一個叫experts-exchange的網站上回答問題,攢了很多積分,後來這網站出於營利目的開始收費,我就不怎麼上去了。後來就在stackoverflow上混,常想着中國怎麼就沒有一個這樣的技術問答網站呢,後來就發現了segmentfault,先開始是回答問題,後來以爲思否這個markdown編輯器不錯,就開始用這個來寫文章,到如今仍是養成了用思否寫文章的習慣,用其它的全部的markdown都很差使,就思否這個好用,特別是這個從剪貼板粘貼圖片的功能很是實用,不管是本身建站仍是用別人家的都沒有思否這個好用,須要任意圖片,只要截屏粘貼就夠了,很是便捷。
Q:您是如何與思否相遇的呢?
我特地查了一下,我在思否社區回答的第一個問題是在2015年2月春節前的一天,具體緣由想不起來了,多是在網上搜索答案時發現思否社區的吧。當時也正好是在一個職業的轉換期,因此開始在思否上記錄平時工做中遇到的以及解決過的技術問題,由於有些技術問題解決步驟較多,若是不及時記錄,時間長了就會忘記,同時這種記錄對於有相似問題的同行也會有所幫助,因而就開始常常逛思否了。我以爲思否對我最大的吸引力是交互,有問有答,它不像其餘論壇類的社區,以博客爲主,底下一堆人點贊或者評論,我以爲思否最大的價值是以問題爲中心,有人遇到了技術上難以解決的問題,來這裏求幫助,同時回答問題的人可能剛好也遇到過或者解決過相似問題,或者雖然沒有遇到過這個問題,可是在解決問題的過程當中本身也學到很多東西,技術工做的實質就是不斷解決各類問題,因此這種以問題爲中心的技術社區是比較適合技術人羣的。
Q:對思否有什麼建議?
建議的話,我以爲付費問答這塊的邏輯可能與咱們理解的不太同樣,應該是提問者發出懸賞,回答者揭榜的方式,若是這樣的話可能熱度會更高一些,也不必定是物質獎勵,或者以聲望值懸賞也是能夠的。另外還應該提倡鼓勵你們對問題和答案養成順手點讚的習慣,有時候看到一個答案或者問題中的代碼對你有幫助,教你學到了一些東西,隨手就應該點一下贊,這樣會更多地鼓勵你們積極提問和積極回答。
Q:愈來愈多的年輕人進入這個行業,您以爲會帶來什麼改變?行業又該作出什麼改變呢?
有一個說法是:編程會改變一我的的思惟習慣。我以爲這不是一件壞事。不管程序如何多樣,最基本的要求是你必需要講邏輯。因此愈來愈多的年輕人加入這個行業,哪怕只是呆一兩年最後又離開,但這個過程對你思惟方式的塑造是永久的,它會使咱們整個國家的年輕一代愈來愈理性,可以更加客觀公正地看待這個世界。若是程序出了問題,是程序的錯仍是你的錯?一般來說,確定是你的錯,因此你在看待這個世界的時候也會情不自禁地代入這樣的邏輯,若是想要改變世界,先要從改變自身作起,編程培養的就是這樣的思惟方式。
但這並非說將來咱們只能適應這個行業的各類明規則潛規則而不能改造它,偏偏相反,行業是由一個一個血肉鮮活的我的組成的,不存在脫離了人的行業,因此咱們在從業過程當中所作的任何貢獻,或者哪怕是從業這件事自己其實就已經在改變這個行業,包括 35 歲歧視,包括 996,若是你相信它,願意遵照它,那最終你就將成爲它其中的一分子,但若是你不相信,而且用腳投票去反對它,那它最終就沒法成爲規則。行業塑造咱們,而咱們也在改變行業,歷史就是在這樣的雙向碰撞中滾滾向前的。
Q:從您這 25 年的經驗中,能夠總結一些給年輕人的忠告嗎?
我以爲這是一個很好的職業,但願你可以像我同樣或者比我還甚地熱愛這個職業,惟其熱愛,才能狂熱,這是一個永遠有未知數永遠值得攀登的行業,它不僅是通信,它的本質是人類如何思考,代碼反映的是人的思想,正如做家雖然死了,可是他的思想留在書中,咱們的思想留在了本身寫下的一行行代碼當中,因此從落筆的第一刻起,要有意識:這是個人代碼,我要對此負責。
我有酒你有故事麼?
歡迎有興趣參與訪談的小夥伴踊躍報名,《思否有約》將把你與編程有關的故事記錄下來。
報名郵箱:mango@sifou.com