如今是西部時間12月26號23:34,我坐在從西雅圖前往費城的隔夜航班上。好像技術社區流行寫年終總結,我也來跟風總結下個人2017。只談技術和工做,和不相關的事。前端
2016年12月31號凌晨12點左右,我坐在居所的客廳,搗騰着本身的網站,那時好像才發現 Hexo。居所是學校附近租的公寓,條件還行,不過爲了省錢,我將本身的臥室租出去了,本身睡在客廳。那時我尚未找到工做,那時我還頂着不知何去何從的壓力。製做本身的網站也是爲了增長前端經驗,好讓簡歷更充實。程序員
忽然,居所的房門被打開了,一個帶着酒氣的彪形大漢走了進來,我先是詫異地愣了一下,而後迅速打量這個不速之客。他190左右,拉丁裔長相,比我強壯幾個數量級,看不出有沒有帶武器。他語無倫次地表達要搶劫個人意圖。我頓時感到了史無前例的壓力。這種壓力不是那些遇到考試或者面試就緊張的普通青年甚至能夠理解的,這是感到千鈞一髮,生死關頭纔會有的壓力。對,你沒有看錯,是壓力,不是恐懼。這個時候根原本不及恐懼。理智告訴我,他赤手空拳也能夠把我活活打死,因此千萬不能激怒劫匪。面試
我果斷地將一杯子硬幣和當晚點外賣剩下的雞翅給了他,還附加了一盒 Buffalo 醬。這一杯子硬幣雖然錢很少,可是很重,有種很值錢的錯覺。這個劫匪彷佛知足了,因此就直接離開了,邊走還邊啃雞翅。我見他離開了視線,趕忙關門(雖然沒什麼用),撥打了校警電話。2-3分鐘後校警到了,詢問了我劫匪的外觀衣着。我憑着記憶描述,補充了那個杯子是記念杯,上面還有一個公司的名字。3-5分鐘內他們就抓住了一個嫌疑人。算法
校警問我願不肯意去指認,說我會坐在警車後座,他們將光打在嫌疑人上,我隔着距離指認,不會被嫌疑人看見。我說Yes。我穿上外套,出門向警車走去。一方面雪夜凍人,一方面一股後怕猛地襲來,我坐在警車後排腿不聽使喚,開始發抖。警車開到了嫌疑人處,我指認出嫌疑人就是劫匪。校警進一步問我我憑什麼指認出來的,我說憑他的相貌衣着,還有那個被搜出來的公司記念碑。校警由此能夠正式確認嫌疑人沒抓錯,能夠正式將其帶走。我也跟校警到局裏去錄了筆供。數據庫
這是我第一次坐警車,第一次去局子,第一次錄筆供。以後地區檢察官還給我打電話(第一次和檢察官通話),說明庭審相關事項。不過由於庭審時我會不在學校,因此沒辦法出席。感受仍是挺惋惜的。編程
這個經歷讓我第一次感覺了美國的警察和司法系統,雖然不是深度體驗,可是感覺到了不少正面的東西:校警的迅速應變,正規的司法流程。可是也有不少負面的東西:這個劫匪目測不是慣犯或者專業劫匪,因此不可能立刻被抓。感受只是一個想碰運氣的走投無路之人。我學校所在的城市已經失去了但願,許多人沒有了正常的營生。這也是許多東部工業城市蕭條的縮影。只有將經濟搞起來,才能從根本上解決這些問題。後端
因此,當程序員容易嗎?寫代碼都要被搶劫。網絡
我的網站的製做是不了了之了,我也沒有收到任何面試。一直到5月畢業我也沒找到任何工做。併發
有的同窗認爲我執拗,由於我拒絕刷題。我至今仍保持拒絕刷題的觀點。刷算法題就是滿清的八股舉士,能訓練出看題拆題的庸才,不能訓練出解決問題的人才。固然,我是以計算機科學基礎紮實的前提來講的。而且,個人問題不在於過不了面試,而在於沒有面試。框架
7月我完成了兩件大事:一是拿了駕照,二是拿了Offer。
一年的無故碰壁以後,我終於在一家硅谷的公司謀求了一份後端職位。當電話那頭的HR告訴我這個消息時,我鬆了一口氣。掛了電話,我在椅子上癱坐了一陣。
因此,我以前種種看似冒險的決定(過濾普通公司,拒絕刷題)是自負仍是理智?我不知道。我只能說,若是我如今還在家待業,我會後悔當初,但是我目前有工做,因此能夠吹牛說我多麼敢 Take Risk。不管如何都是過後諸葛亮,因此不須要糾結這種問題,
8月去了硅谷,我像當年第一次到達大學、憧憬大學生活同樣,憧憬着我新的人生。惟一不一樣的是,我沒有18歲時那麼多的指望,更加日常心了。
我很幸運,做爲應屆生也被委以重任。我是後端工程師,接手了一個項目。代碼庫由於種種緣由,有不少不足。因此一上來就開始了優化之路。
我負責開發的項目使用:Python,Go,Docker,微服務。老代碼是 Python 寫的,可是新代碼用 Go 來寫。Python通常用來寫腳本、分析數據或者作原型。可是也要偶爾看 JavaScript 和 Ruby on Rails 的代碼。因此,接觸得仍是挺多的。
這個老問題每一年都有人討論。這個問題自己具備誤導性。由於沒有絕對必要的技術。要看你具體的狀況來定。咱們大體分兩類人來討論
學生
做爲一個學生,計算機科學的基礎和軟件工程基礎纔是須要學的。對於1-2年的學生,哪一個語言都無所謂,對概念的理解和編程習慣的培養是最重要的。對於3-4年的學生,最好開始選擇一個你喜歡的方向來專攻學習。喜歡前端就學JS,喜歡後端就,呵呵,一堆語言均可以。喜歡後端不要在意語言,花更多時間去學網絡協議(尤爲是 HTTP),網絡編程(Socket),數據庫,併發編程纔是真的。等你對這些有必定理解以後,你纔會理解爲何一個語言比另外一個語言更適合後端。
從業人員
前端我不懂,可是據說 TypeScript 大行其道,Angular 略顯頹勢,React 和 Vue 日新月異。後端:我目前很青睞 Go。原生的併發是 Go 做爲一個語言來講我最喜歡的部分。強大的標準庫和工具支持是 Go 做爲一個技術棧最讓我折服的地方。開發者工程能力廣泛比其餘語言高是 Go 做爲一個社區最讓我感到欣慰的地方。
我大概能夠理解爲何(我所見過的) Go 程序員通常比其餘程序員能力更高。由於,Go是一個純粹爲後端併發而生的語言。當一個開發者不得不考慮效率問題時,這個開發者已是高於平均了。並且,Go在我看來是一個極其不適合新手學習的語言,因此,新手Go語言開發者通常都是我這樣有好幾年其餘語言編程經驗的開發者。然而,Go語言又是極其容易學習的一門語言,由於其語言設計的異常簡單,因此有經驗的後端開發者一般會快速上手 Go。
雖然我很是喜歡也自認爲擅長 Python,可是我不得不認可 Go 是一門比 Python 更適合寫企業級後端的語言。總之,Go我新歡。
2018年會是 Go 語言,HTTP/2,RPC(多半 gRPC),GraphQL,微服務,區塊鏈等相關話題爛大街的一年。
騷年,你尚未看清嗎?先是移動瘋,再是前端瘋,而後深度學習瘋,人工智能瘋,如今又區塊鏈瘋。跟風最終是跟瘋啊!互聯網是個瘋口,豬會被吃的。
我去睡了,還有6小時到。飛機上滿是有人打屁的臭味。