訪談嘉賓:@卡頌
訪談編輯:芒果果前端
項目流產的緣由有不少種,但涉及國家政變的你見過嗎?程序員
卡頌差點成爲總統的御用項目中的一員,卻忽然被通知對方軍方發動政變,總統內閣被推翻,項目取消了……面試
他的生活充滿了戲劇性,自從孩提時代偶然看了一場街頭魔術表演,用 100 元向大師「求得」祕籍後,他就完全沉迷到了魔術的世界之中。編程
多年後,長大的卡頌說:「魔術和作技術的共同點就是,基本功很重要,要從頭學,不要一會兒翻到最後學最難的。」segmentfault
Q:先向你們介紹一下本身吧。前端框架
我是卡頌,是一名魔術師、機械工程師、前端工程師。同時也對產品、運營、自媒體感興趣,喜歡用興趣驅動工做。前端工程師
不少朋友認識我是由於我寫的《React技術揭祕》。React 頗有趣,你以爲呢?架構
Q:從何時開始學習 React 源碼的?框架
今年年初疫情期間在家無聊的時候忽然想探究下最流行的前端框架之一是如何運行的,就開始啃源碼。學習
Q:疫情期間開始學習 React 源碼,這個過程當中有遇到什麼本身難以解決的難題麼?
一個字形容,難。
兩個字形容,懵逼。
三個字形容,看不懂。
這裏的難並非」看不懂代碼想表達什麼「,而是「不懂這段代碼到底是幹嗎的」。畢竟每段代碼都是爲了整個架構的運行服務的。
解決辦法很樸素:我把React核心團隊成員的推、油管、Gayhub都關注了,把他們關於React理念層面的探討都看過一遍後。
有了總體理念層面的概念,再去看具體實現就輕鬆不少了。
Q:啃源碼對一個程序員來講有什麼幫助?
小時候你們都鄙視抄做業的同窗。啃源碼就像把學霸的做業擺在你面前,就看你看不看得懂,抄不抄的下來了。
抄了學霸的做業,下次遇到相似題型也能照貓畫虎模仿學霸的解法,不是麼?
Q:您是怎麼開始對魔術感興趣的?魔術和作技術有什麼共通之處嗎?
遙想那仍是孩提時代,逛街時被街頭魔術吸引。
待表演結束人羣散去後,表演者掏出一本泛黃的《魔術大全》,和我吹噓學完此書後就能掌握魔法的奧義。
心動的我花100大洋求得祕籍。
在他離開以前還不忘教誨我:魔術基本功很重要,要從頭學,不要一下就翻到最後學最難的。
直到2年後,終於練到最後一頁的我發現,上面寫着「標價:19元」。
魔術和作技術的共同點就是:基本功很重要,要從頭學,不要一下就翻到最後學最難的(認真臉)。
卡頌一直在嘗試新鮮事物,他能從小數十年如一日的對魔術傾注熱情也是由於這件事一直在給他帶來不一樣的驚喜。就像他的職業之路同樣,從國企員工到程序員,他的工資直接翻了 6 倍。
Q:何時開始接觸編程的,契機是什麼?
本科畢業後在國企從事「機械工程師」的工做,上班太無聊,又不能玩遊戲。相信每一個男生從小都有本身作一個遊戲的理想,因而上班摸魚學了編程,本身寫了一個遊戲引擎,開發了射擊遊戲本身玩。
既然編程這麼好玩,當程序員每天能編程還有工資拿,爲何不呢?因而就轉行了。
PS:第一份前端工做的工資是我以前在國企工資的6倍以上,真是萬萬沒想到。
Q:工做中有哪一個瞬間讓你「懷疑人生」?
在上一份工做中,當時有個項目甲方是萊索托王國的總統。他的內閣打算傾舉國之力建造一座水力發電站,因而找到我當時的公司。
公司及市政府以極高的規格接待了他們,項目洽談的也很順利。然而在此期間,萊索托軍方發動政變,總統內閣被推翻了,總統也連夜逃往南非。
當公司通知咱們這個項目取消時,個人心裏是極度懵逼的。
從國企員工到程序員再到講師,卡頌一直在尋找本身喜歡的東西。好比魔術,好比編程,再好比拍視頻。
Q:從事技術工做和給學生講課有哪些不一樣,這個轉變大麼?是怎麼完成的?
二者有很大類似性 —— 都是儘快實現「最小可用品」。
平常開發我會注意在保持「擴展性」前提下不過分封裝,實現功能的「最小可用品」。授課時也是如此。
就React源碼課程來講,每一章只關注「源碼運行流程」的一個功能點,屏蔽其餘功能的影響。
舉個例子,別的課程講解「this.setState的完整流程」恐怕須要20分鐘不止。而在我這裏,這一節只花了2分鐘,並且很好懂。
Q:您是何時開始本身作視頻的呢?這個方式有什麼不一樣?
我初中就開始在街頭變魔術而後錄視頻了。若是說前端的視頻教學,這半年作的比較多。
視頻相比文字信息密度更大,更容易造成我的風格。就像公衆號的slogan:再小的個體,也有本身的品牌。
Q:有什麼我的的特別的工做習慣麼?
將長期目標想象成遊戲裏的技能樹,不斷拆解,最終落實到每日TODO。
拖延症的根源在於目標與現實的巨大鴻溝令人心生畏懼。天天給 TODO 打勾能夠及時提供正反饋,就像打遊戲升級同樣。
Q:若是能夠從新選擇是否還會選擇這個職業 ?
我選擇職業的標準是:有趣、承認我的努力、重視創意、高回報。
嚴格的說,這已是我從新選擇後的職業了。若是再作選擇,並非由於程序員很差,而是由於我發現了更有趣的職業,好比 UP主 ?
Q:對編程初學者和懷抱夢想的年輕人有什麼建議?
警戒落入負循環的陷阱:
加班 —> 沒有時間學習 —> 水平沒法提升 —> 沒法獲得更好的offer —> 加班
Q:如何看待國內社區的環境和氛圍?
可能不少同窗詬病社區充斥着面試題文章,但這是行業進入成熟期的必然結果。我相信十年前通信行業的社區也是一樣的氛圍。
我相信還有不少行業卷得比互聯網行業更嚴重(好比土木),但這些行業在網上的聲量沒有互聯網行業高。因此你們以爲互聯網行業最內卷。
從這個角度看,國內技術社區的氛圍能夠描述爲 —— 熱火朝天。
小編有話說:
卡頌不能接受本身的生活變得「無趣」,因此他從小開始鑽研魔術,在疫情期間本身研究源碼。爲了讓本身的工做更有趣,也讓經過他學習 React 源碼的人以爲更有趣,他又開始拍視頻,如今在 b 站已經有了很多忠實粉絲。
卡頌天天都在打怪升級的路上,不管是破解一個新的魔術,仍是攻克一個技術難題,又或者是找到了一個更好的授課方式。
他就是本身生活裏的大魔術師,和這樣的老師學習應該很快樂吧。