思否有約丨@AKevin:“武林祕籍”在網咖廣為流傳,轉專業學計算機被保送北大

芒果果發表於2020-09-05

AKevin

本期訪談嘉賓:@AKevin
訪談編輯:芒果果

高中的時候 AKevin 就對程式設計有興趣了,不過那時十八線小城市的高中計算機老師似乎也教不了什麼,AKevin 就開始跑到網咖“自學”。說是自學,其實更多的還是為了打遊戲。那時候,他寫的遊戲按鍵指令碼就像武林祕籍一樣,在當地網咖的眾位“大俠”手裡廣為流傳。

不過,畢業後 AKevin 沒有繼續寫程式碼,而是進了一家科研事業單位,完美錯過了移動網際網路高速發展的那幾年,害怕丟掉手藝他才有跳回了這個圈子。

在網際網路技術圈的這些年,AKevin 做過很多不同的工作,給 App 做過 rank 和推薦,做過跨境物流,現在又成了 Python 講師。

Q:你是怎麼開始走上程式設計這條路的?

其實自己大一讀的是商學院,但是課程實在太簡單了,整天閒得沒事幹。索性轉專業到計算機,剛學計算機比較痛苦,原來課程這麼多,一門微機原理都能分成 3 門課講,還有完全聽不懂的抽象代數。轉專業的還有不少課程要補,後來咬咬牙把課程都補完也拿到資格保送到北大。

畢業後去了一家科研事業單位,感覺完美地錯過了移動網際網路最高速發展的幾年。害怕自己丟掉了程式碼手藝,趕緊跳槽到網際網路技術圈,再從百度出去後薪資漲幅就比較大了。也算找回初心,也算是對得起自己學了這麼多年的計算機。

Q:因為閒課程太簡單就轉到計算機專業了,還真是任性啊。

那你是什麼時候開始學習 Python 的呢?

以前做外賣 App 的時候工程和演算法都做,為了兼顧演算法的快速迭代學習了 Python。學了之後感覺開啟了一扇大門,原來 Python 這麼萬能,我用 Python來 算特徵,跑機器學習模型。也用 Python 寫指令碼爬資料,當時做外賣做商超時,我們從淘寶爬了很多標品資料。

Q:你有沒有嘗試過新的程式語言?一般通過什麼方式和渠道提升自己的能力?

最近嘗試了 Groovy,打算把部分單元測試、整合測試的程式碼改成 Groovy。比 Java 方便,能早點下班。喜歡反思總結,慢慢打磨屬於自己的方法論。技術層面通過 Code Review 和看優秀原始碼提高。從面試官角度偷偷告訴大家,基礎比較差的同學可以多刷題來提高“錢”途。

從事業單位到技術崗位再到上臺當講師,AKevin 做過的每一份工作可能都是某些人的“人生目標”了,更讓人羨慕的是,除了學習能力出眾,能被保送北大之外,AKevin 也不是個書呆子,在工作上也是成就滿滿。

image.png

Q:給學生講課和從事技術工作有哪些不同?這個轉變是怎麼完成的?

從小都有當老師的想法,唸書時也輔導不少同學考上名校、進入大廠。可能自己有那麼一點喜歡“好為人師”。講課和做技術都需要扣細節。講課生怕哪個細節沒弄明白誤導學生,做技術也怕沒清楚細節讓系統出錯。

Q:你的工作習慣是怎樣的,可以介紹下工作流嗎?

無論多大多小的專案,我都是先設計再開發,開發後有測試程式碼。動手之前想清楚,凡事先做框架設計。想得越清楚工作起來越順利,出錯的概率越小。我開發的系統是很少出錯的,因為在評估完需求後,我都會拿出時間專門做系統設計。怎麼設計擴充套件性更好,怎麼設計更穩健,更簡潔。想好系統設計後,我才開始動手寫程式碼,寫的過程中我喜歡用單元測試來驗證程式碼,而不是每次都要啟動系統去請求介面。設計、開發、測試的時間差不多是1:1:1. 從我的經驗看,這樣打造的系統可靠性最高,也能適應快速迭代而不出錯。

Q:工作之後有哪個瞬間最讓你有成就感?最滿意的開發專案是什麼?

每次系統上線時看迅速滾動的日誌,都能感覺到自己開發的系統服務了無數的使用者。再從網路渠道看到使用者的好評,瞬間會讓你覺得很有成就感。

最滿意的應該是模考系統,這是一個免費的系統,服務了上千萬的使用者。從微博上經常能看到使用者對它的好評,看到使用者的好評感覺自己的工作很有價值。模考系統是瞬時併發量很高的,差不多到 10w TPS,寫入的請求佔比高。為了系統的穩定,我為它開發了不少整合測試和校驗,也會有自動化執行的壓力測試隨時評估系統的穩定性。很自豪的是系統在我手裡沒崩過,每次模考都穩定服務幾十萬考生。

每週都有模考,模考過後很多人會刷微博模考話題,這時候你會看到哪個使用者裂開了覺得題目太難,哪個使用者又很開心,模考成績出得很快,自己又進步了,到處曬成績單。在社交媒體上看到很多網友在討論模考,知道自己做的技術對使用者確實產生了幫助,非常有成就感。

Q:就沒有過什麼讓你很受打擊的情況嗎?

最開始在百度是做機器學習的,經常跑模型迭代了一兩個月都沒有改進,這個時候會很氣餒。做演算法確實很難,在不確定性中探索,後來自己寫了很多自動化跑模型調參的程式,適當提高迭代速度。再後來,覺得自己工程能力還不錯,就專注於做後端架構了。

AKevin 對自己的評價是“過度謹慎”,他覺得這樣的自己顯得有點笨拙,做事情很慢,但也保證了程式碼很少出錯。不過他還補充了一句:“個人對快和慢的理解都不一樣,數理化我都拿過省一的獎,成績也是專業第二,相信自己並不是真的笨,打算繼續慢下去吧,思考清楚再行動。”

Q:過度謹慎的性格會讓你做什麼事都提前規劃好麼?生活上也這樣麼?

工作上的計劃做得不錯,生活技能卻比較低階,比如旅遊總是沒計劃,無端端地多花錢也沒玩好。我見過能力強的人工作和生活都安排的明明白白,值得思考。努力工作的同時,也要安排好生活,高質量地陪伴家人。

工作學習 AKevin 都沒落下,運動方面當然也要跟上,他很喜歡游泳,甚至不會覺得累。想要鍛鍊心肺能力時,他就加快速度,想要放下身心的時候他就慢慢遊。AKevin 說:“很多人說游泳太累,我覺得一定是姿勢不對。游泳重在放鬆,講究人與環境的平衡,順勢而為,我覺得生活也是這樣。”

Q:如果可以重新選擇是否還會選擇這個職業 ?

當然,有一臺電腦就可以創造產品,沒有比計算機更有趣的職業了。學航天的同學們,能憑一己之力在家造火箭?學材料的同學,能不顧成本做研發和實現流水生產?我學計算機,我有臺電腦就可以造App,造PC端產品,批量處理可重複性的操作,擼指令碼刷羊毛……這蘊涵著經典的經濟學原理——“完美,在於一切偉大的生意,都具有 規模效應 和 邊際成本低 的特點。”計算機兼具規模效應+低邊際成本。無數青年終於有了做夢的權利,一個鍵盤或許真的可以改變世界。

Q:對程式設計初學者和懷抱夢想的年輕人有什麼建議?

喜歡技術就去做!網際網路技術有多好找工作、薪資大概多少、全球職位缺口……隨便上網一查就有。當前的市場環境下,搞計算機漲薪還是很快的。拿二三線城市普通 70 後舉例,當了十幾年小學老師,工資從 2k 漲到現在 4k,終於實現了收入翻番。而普通的計算機從業者,從 1.5w 漲到 3w,大致只需要兩年。如果你志在科研,計算機專業無論做體系結構研究,還是偏機器學習的理論、應用研究,都是當下比較有趣又具備現實意義的課題。或許你會說計算機沒有社會資源,講真,你覺得去當個基層公務員有資源?家裡沒有醫療系統的積澱,你去當醫生就能 C 位出道?不惑之年就能當上主任醫師?這個社會制度的設計是金字塔結構,普通人能有什麼過硬的社會資源。但我學計算機,我可以結合一個我喜歡的行業去做創新,去賺相對多的、沒有原罪的錢。少年你若喜歡玩遊戲,大可學計算機去做遊戲開發;你覺得人工智慧很酷,大可以去學計算機再補點數學基礎;你覺得金融能一夜暴富,也可以學點計算機去做量化模型自動化交易,去全球金融市場感受大莊家的壕,比一天到晚聽理財經理瞎逼逼,買一些虧本的理財產品強多了。

AKevin 談思否:

一開始在思否做了一個講面試的課、後來做了一個 Python 課,收到不少好評。思否 CEO 和 CTO 線上下也多次邀請相聚,討論怎麼把課做得更好,幫助更多的開發者。思否的價值觀是很正的,不會去騷擾使用者推銷昂貴的課,我們討論得更多的是如何能幫助到開發者。我也很認可這樣的價值觀,就這樣一直在思否迭代課程,現在在更新一門 Python 課,章節很多,從基礎到實戰例子都有,價格也很低,希望對社群使用者有幫助。

小編有話說:

好羨慕這種會覺得學習太簡單的人,要是我也有這腦子豈不是也能被北大錄取了。

AKevin 老師一路從事業單位到技術崗位再到站上講臺,雖然一直沒有脫離技術圈,但也算是看過不同風景有豐富工作閱歷的人啦。上 AKevin 老師的課肯定沒錯!


歡迎有興趣參與訪談的小夥伴踴躍報名,《思否有約》將把你與程式設計有關的故事記錄下來。報名郵箱:mango@sifou.com

segmentfault 公眾號

相關文章