本期對話嘉賓:@夏磊
訪談編輯:芒果果前端
英國倫敦泰晤士河旁的威斯敏斯特大教堂裏有一座無名墓碑,上面刻着一段流傳甚廣,關於改變世界,關於夢想與現實的文字。大意是「最初想改變世界發現目標太宏大而難以實現,若是從小事作起也許真的能改變世界」。程序員
夏磊目前是一家知名互聯網公司的高級後端開發工程師,與他聊天的時候,我真切地感覺到了他仍像當初那個少年,仍然對寫代碼充滿熱情。編程
從高中起夏磊就堅決了學習計算機的目標,把編程看做極具創造力的事。如今,28 歲的夏磊說:「只要你有好的點子、想法,均可以藉助計算機實現,這是多麼美好的一件事情!」segmentfault
Q:嘗試用兩種不一樣的方式介紹一下本身吧後端
程序員中最會講段子的,段子手中最會編程的。用三個詞來形容的話就是:樂觀、幽默風趣、好奇心強。前端工程化
姓名和性別的話相信經過個人 ID 應該能發現了:夏磊,年齡28,在現階段仍是能夠說一下的,可能日後就沒那麼好意思說了,哈哈。服務器
Q:您以爲 28 歲對一個程序員來講應該是職業的什麼階段,有什麼規劃嗎?微信
28歲是一個具體的年齡,實際上每一個人進入行業工做的年齡不盡相同。架構
工做的第一個五年是個分水嶺,五年以內能夠根據興趣換語言、換技術棧甚至是換行業等等,用五年的時間去熟悉業界的技術、語言,根據本身的興趣去選擇一個方向深刻鑽研,構建起屬於本身的知識體系和技術棧。另外,就是要有一點點上進心,拒絕只會「複製-粘貼」的程序員。框架
Q:何時開始接觸編程的,契機是什麼?
大學吧,高考志願填報的計算機系。說到契機,應該仍是興趣吧,可以經過本身的雙手實現那麼多有創造力的事情。
Q:掌握的技術棧?目前主要使用的編程語言是?
參加工做這麼多年,主旨就是一個「用合理的語言解決需求」。
常言道:「沒有程序員不會的,只有程序員沒學的」,因爲工做需求,在前端、服務端、App 端均有涉獵,服務端語言主要是 Go+Java,偶爾寫寫 PHP和 Node.js。前端的話主要是Typescript+Node.js,對Vue/React/Angular 三大框架均有使用,目前傾向於 Vue 和 React 框架。App 端的話主要是 React Native,若是對性能要求不高而對審覈敏感的話通常是 Cordova+Vue 組合。
Q:您在前端、服務端、App 端都有涉獵,哪種您以爲更駕輕就熟?
駕輕就熟的話目前談不上,具體問題具體分析吧,隨着前端工程化和 App 框架的興起,相對來講,前端和 App 是比服務端簡單一點的。根據不一樣的業務場景,可能會有差異,目前主要仍是以服務端爲主。
Q:工做中最常使用的幾個工具是什麼?好用的插件推薦?
工做中主要仍是 Jetbrains 全家桶吧,要說推薦的插件的話,插件那麼多,我只推一個:PlantUML,對於我這種寫代碼以前會把架構理清楚的人來講,UML 必不可少。而經過純文本的方式就能編寫 UML,節省了大部分排版、美化的時間。
Q:不一樣工做階段會學習不一樣的語言嗎?是處於什麼緣由呢?
學習語言的目的應該說是爲了彌補短板,好比使用 PHP 幾年以後發現性能瓶頸確實很差解決,所以學習了 Node.js 去開發一些高性能、實時性強的程序,而 Node.js 的弊端應該算是工程方面,沒有全棧框架,這一點 Java 作的很是好,因此逐步去學習 Java 了,而 Java 雖然開發效率、運行效率都不差,可是挺佔用服務器資源,隨着微服務的興起,就去學習 Go了,學習語言的時間都不算太長,更多的時候應該花在了生態上,語言提供的功能都不會差太多,畢竟不能讓語言成爲門檻。
Q:最近有沒有嘗試新的編程語言?
嘗試過 Kotlin和 C#,可是對於語言這個東西,我仍是以爲內功最重要,語言只不過是武器罷了,而內功部分包括的東西比較多,可是我以爲最重要的是發現問題與解決問題的能力,這是核心競爭力。
編碼以前、設計先行、流程圖/UML 圖先行。早前喜歡邊想邊寫,後面遇到複雜的業務邏輯時常常須要推到重來,浪費時間,因此後面養成了畫圖的習慣,有什麼問題在編碼以前就可以暴露出來解決掉,能夠極大地提升生產力。
Q:嘗試 Kotlin和 C# 的緣由是什麼?
Kotlin 算是工做須要吧,公司的 App 須要進行迭代,剛開始用的 Java 開發安卓 App,因爲語言的侷限性,確實會有必定的效率損失,因此嘗試了 Kotlin。至於 C# 的話是我的興趣,有段時間比較喜歡搗鼓 GUI程序,這一塊作的比較好的應該仍是非微軟莫屬,基於 C#+WinForm 開發了一些工具。
Q:通常經過什麼方式和渠道提高本身的能力?
通常經過系統性地學習,消化以後,經過博客的形式發佈出來,和社區成員進行討論,收穫頗多。
Q:分享一下你的工做流,有什麼我的的特別的工做習慣麼?
工做中比較喜歡畫圖,而畫圖是競爭力的體現,就比如「畫一條線 1 美圓,知道在哪裏畫 9999 美圓」同樣。設計或者說是架構能力是很是重要的內功之一。我的的習慣就是對代碼有潔癖,甚至於到了對齊方式上。
Q:工做以後有哪一個瞬間讓你以爲頗有成就感?又有哪一個瞬間讓你「懷疑人生」?
有成就感的事情應該算是支付平臺流水達到千萬而沒有出現事故的狀況,畢竟本身也擔憂這快。
「懷疑人生」的事情通常是花了很長時長去處理 Bug,到頭來發現是個低級錯誤。又或者說是硬件故障致使的一些奇葩問題,這一塊確實須要比較強的搜索能力。
Q:目前爲止最滿意的開發項目是什麼?
在前公司開發的一個通用支付平臺,基於微信支付開發,整合了 App、H五、掃碼等渠道,業務端可以在很是短的時間內接入微信支付,而不用理會微信支付的文檔。開發時解決了很是多的疑難雜症,包括促銷活動期間下單邊界條件問題、對帳問題等等。對一個公司來講,涉及到錢的東西是不容許任何差錯的,所謂「失之毫釐,謬以千里」,在業務量很是大的狀況下,哪怕是小數點級的偏差也會帶來很是大的影響。
Q:如何看待國內社區的環境和氛圍?
國內社區大致上內容重複率偏高,不少炒冷飯的現象,固然,不能否認,每一個人都有成長期,因此發表的內容有重複是正常的,可是對於社區建設來講,咱們須要更多的有我的看法的人來,而不是發一堆說明書。
Q:講講與思否的故事吧
註冊地比較早,是 2015 年,當初是查問題搜到了思否,發現了這個神奇的網站,接下來就是利用本身的所學知識解決社區中的問題了,成就了別人,也成就了本身。
近兩年發現光回答問題彷佛幫助不了多少人,所以開始寫專題文章,用最簡單的話解釋一些難以理解的知識,這一塊在前端部分收到了大量好評。
思否在國內問答平臺這塊,我的以爲幫助了很是多的開發者解決了他們的問題,其中不乏一些其餘國家或地區的人,思否是一個很是有活力的平臺,一樣也是一個對於新人很是友好的平臺。
Q:對社區有哪些建議和意見?
目前仍是應該對文章和提問中的廣告採起高壓態勢,早年混跡的號稱國內第一的 PHP 論壇,因爲運營問題,大量廣告得不處處理而沒落了。
這是一個很現實的問題,樹大招風的道理咱們都懂。
Q:生活中有什麼愛好?
工做之餘也會打遊戲,畢竟暫時凡人,不是學習或者工做機器,天氣好的時候會帶上相機出去攝影,記錄一下本身的生活。
Q:若是能夠從新選擇是否還會選擇這個職業 ?
應該仍是會選擇,無他,興趣使然,興趣是最好的老師,而計算機這塊能夠說」開局一臺機,人生全靠擼「,只要你有好的點子、想法等等均可以藉助計算機計算實現出來,這是多麼美好的一件事情!
Q:你會在何時「退休」?
興趣使然,估計不會有所謂的退休。
Q:對編程初學者和懷抱夢想對年輕人有什麼建議?
必定要培養髮現問題和解決問題的能力,混跡過不少社區,大部分的問題實際上是很是簡單的,有些初學者可能看到報錯就內心懼怕,其實不必,都沒上線你怕啥?藉助於翻譯工具,80%的問題均可以直接翻譯出來,從而解決。剩下的20%複製錯誤消息以後丟到搜索引擎基本也能解決的差很少,而對於初學者來講最難的部分是「報錯消息究竟是啥?」,這個大部分的報錯消息找第1個 Error 或者Fatal 之類的字眼便可發現。
第二個事情就是多看書,多練手,「眼過千遍,不如手寫一遍」,寫過的東西記性仍是牢一點。
我有酒你有故事麼?
歡迎有興趣參與訪談的小夥伴踊躍報名,《思否有約》將把你與編程有關的故事記錄下來。
報名郵箱:mango@sifou.com