夢想總是要有的 – 工作20年程式設計師的2021年度總結

跌宕起伏的2021年快要過去了,今年對我來說經歷的實在太多,提筆做個簡單的總結吧。

回顧目標

去年的年終總結,我給自己立了兩個flag。

第一個雖然不可量化,不是一個好的目標,但我認為完成的還是不錯的,go-zero 的工程效率已經得到了社區的廣泛認可,感謝所有使用和給我們回饋的小夥伴們!

第二個目標,雖然很調侃的用了一個「小」字,我當時覺得是很難的,但夢想真的還是要有的,萬一我們實現了呢!正如我之前影片採訪里說過的,人總要給自己製造一點困難,畢竟困難使人進步嘛。

這是 go-zero 開源一周年紀念日我發的朋友圈。

不平凡的 2021

這一年,對教育行業、對團隊、對我都是非常非常不容易的。感謝好未來,雖然我離開了,但好未來確實是一個很不錯的公司,期待它能夠渡過磨難,再次啟航!感謝曉黑板,我為之奮鬥了四年,有彼此深深信任的合伙人,有志同道合、危難時刻一起衝鋒陷陣的小夥伴。這真的是一段永生難忘的職業經歷!

有太多的感謝和不舍,但人總是要往前看的,凡是過往,皆為序章。

深度參與技術社區

我本著開源精神,將好的技術和思考帶給更多開發者,幫助更多開發者提升服務穩定性和開發效率,同時也提高技術認知,做了很多場深度技術分享,也給大家帶來了一些技術人成長和思考的分享。

作為技術人,很多時候,我們去聽一場分享,總是希望聽到實實在在的技術乾貨,回去就能落到程式碼上,這真的是沒錯的,而且也是技術人的孜孜追求。但做了很多分享之後,我逐漸發現,其實我分享的很多有深度的技術遠沒有我分享的那些技術理念和設計思想對大家的影響那麼深遠。

對我來說,分享一個有深度的技術是授人以魚,分享一個好的技術理念是授人以漁。

可能對聽眾來說,預期是來聽乾貨的,學到好的理念那算是額外的 bonus。

就技術乾貨分享來說,ArchSummit 這個分享回饋還是很不錯的。

演講影片://www.zhihu.com/zvideo/1398226082663809024

其實我做了更多關於技術理念的分享,其中之一就是講我為啥給項目取 go-zero 這個名字,我希望解決問題的時候是我們回到原點去思考,而不是遇到釘子就找鎚子。正所謂:做正確的事,正確的做事!

我們在工作中遇到很多問題都是表象,如果你深究下去,或許這個問題本身就不存在,或者問題本身就是錯的。比如最近跟老許(許式偉)做 Go+ 的時候,我們去實現了自己的 packages.Load,需要去解決 package 多次載入的快取問題,為此寫了很多程式碼,實現極其複雜。最後老許發現其實我們做的這些通過 Go 的一個命令就能解決,結果就是刪除了上千行程式碼,效率提升了近20倍,而且健壯性極大提升。

老版本:ok   github.com/goplus/gox 20.319s
新版本:ok   github.com/goplus/gox 1.142s

最近馬斯克帶火了第一性原理,我的理解大體上就是:從根本出發,剔除干擾因素和慣性思考。其實我覺得跟 go-zero 這個名字說的也是同一個道理。

再比如,我應位元組技術學院邀請在位元組做了個技術分享,分享完,大家對乾貨內容給了蠻好的評價,但過後基本就忘記了,或者落地完就結束了。但有個同學很久之後微信跟我說,當時分享到現在記得最深刻、對他影響最大的是,當時有人問做前端的同學如果轉做後端可行嗎,我說:只要熱愛,前端能做好,後端一定也能做好,技能是可以遷移的,能力是相通的。我說這些是有事實依據的,我自己做過不少前端,團隊有三個大牛後端程式設計師最早都是做移動端的。這段送給前端想轉後端又有所擔心的同學,共勉!

開源進展

go-zero 收錄於 CNCF 雲原生技術全景圖

go-zero 被 CNCF Landscape 收錄://landscape.cncf.io/?selected=go-zero

多次登頂 GitHub Go 語言趨勢榜,海外用戶期望我們能用英文維護 issues 和 PR,他們也想參與社區,目前這事我還得想辦法繼續推進。

go-zero 一年萬星後,我對其有兩方面規劃:

  1. 更多的投入到程式碼本身,讓 go-zero 更簡單易用,開發效率更高
  2. 加強生態建設,聯動微服務鏈路上下游頂級項目共建生態

期望大家多多關注、使用 go-zero,並讓我們聽到你的聲音(star, issue, PR),也可以加入 go-zero 社區,~7000人的社區可以幫你解決的不只是 go-zero 的使用問題。

除了 go-zero 一如既往的穩步發展(現在13.4k stars,100位 contributors)之外,我還開源了多個 Go 項目:

//github.com/kevwan/go-stash – 超快的輕量級 Logstash 替代方案

//github.com/zeromicro/go-queue – 基於 Kafka, Beanstalkd 的延遲任務以及 Pub/Sub 系統

//github.com/kevwan/chatbot – 超快的 pychatter 替代方案,構建自己的聊天機器人、簡易智慧客服

後續還會放出更多藏貨,需要抽時間整理,敬請關注我的 GitHub: //github.com/kevwan

工作變動

雖然我想儘力發展好曉黑板,但無奈「雙減」對行業影響過大,我還是在11月從教育行業出來了,雖然無悔,但確確實實感受到了政策對一個行業的無可比擬的影響力。

對於下一個選擇,確實讓我思考了很久。

首先,我給自己一個清晰的定位:儘可能投身技術,減少管理比重,因為這是我的熱愛,雖然我早就過了很多人顧慮的35歲轉行年齡。不管年齡多少,做自己熱愛的事情才會有激情!

其次,儘可能往toD(面向開發者)業務型的公司走,因為我覺得我還是比較喜歡跟開發者打交道的,而且我自己也做了很多的技術線,對開發者深層需求還是比較理解的。

所以,最終我選擇了七牛雲,負責基礎架構,同時我也會花不少時間去跟客戶(技術人)交流,更好地理解雲廠商客戶的各種業務場景,這樣不光對公司,對 go-zero 也是有很大好處的。同時,我也會投入不少精力來做 Go+,而開發 Go+ 又會讓我更深入的理解 Go 的各種工程化的牛逼設計,真的嘆為觀止!如果你也想對 Go 語言深入理解的話,也可以考慮參與 Go+ 開源項目。其實吧,最大的收穫是:老許(許式偉)會幫你 review 程式碼!

2022年展望

  1. 期待我能協助七牛雲的基礎架構和技術體系化建設再上一個新台階
  2. 2022年希望 go-zero 能越來越好用,希望生態建設能有階段性成果
  3. 定一個可量化的目標,2022年底到達兩萬星

致謝

  1. 感謝好未來 & 曉黑板共事過的同事對我一直的支援和幫助
  2. 感謝七牛雲同事對我新入職各項事宜的熱心協助
  3. 感謝各個技術 & 開源社區大家的一直陪伴
  4. 感謝 go-zero 社區廣大小夥伴,參與各種 go-zero 問題和設計的討論,助力 go-zero 飛速發展

項目地址

//github.com/zeromicro/go-zero

歡迎使用 go-zerostar 支援我們!

微信交流群

關注『微服務實踐』公眾號並點擊 交流群 獲取社區群二維碼。