一個程式設計師 && 作者 && 設計師的 2018 年終總結

Phodal發表於2019-01-02

有人經常問我,什麼每年能做這麼多東西。我的答案一直、總是、老是:不加班。

不加班,錢少,多了點 x 生活。人生總是要做很多的抉擇,如我這一般窮的人做的抉擇,便更加有限了。上一年裡的收入幫家裡還了錢,這一年下來賺得不多,攢下的錢也就十一二萬,勉勉強強算是自己的所有金錢財富。儘管又借給朋友買房了,可大抵自己總算留下了幾塊錢。雖然遠不如一個自媒體一個月的收入,遠不如別人一套房的漲跌,遠不如比爾·蓋茨/貝佐斯彎個腰,但還是攢了錢,還算蠻開心的。

這樣一看,有些人可能會說:“混得這麼差,還寫一篇這麼長的文章,那得是有多驕傲”。若是你覺得不好,倒是也不必要往下看,時間於你和我都是相當的寶貴。於我而言,記錄過去,記錄過去的好的、壞的、困惑,對我的幫助都相當的大。於你,道理也相似,除非你已經過得相當的好。

每年固定的時間,它總會提醒我,哪些地方在變好。雖遠遠趕不上別人的水平,也沒有必要和力氣去追趕。而很多事情都在持續不斷地變好,又或者是不幸地在變差——如不斷增長地年齡。活著,需要活在自己的感覺裡。

程式設計:Think Big

工作:MOVE BIG

ONE。 年初,我先是在一個 Android 專案裡,努力 “奮鬥” 了一個多月。雖說在我看來有點划水的味道,可真真實實地還是在寫編寫精力程式碼、完成需求。說是混,那到底還是對不住自己的學習;說是貢獻吧,也沒有什麼優異的表現。除卻更熟悉 Android、Java、Kotlin 之外,唯一做的可圈可點的事,裁剪了預定的 Android 與 JavaScript Bridge 的複雜設計,轉成用 URL Scheme 喚醒的方式,降低了不必要的技術成本。

TWO。過完農曆新年,我變身成為了一個 Tech Lead——事隔 2 年多之後,重新回到了這個坑位上。兩年多的漫長日子裡,我的提升都在技術上;在技術管理上,還是沒有多少的長進——在專案最初的節點上,缺乏與關鍵利益者的溝通。可也說不上缺乏吧,溝通還是相當的多,可能是不得要點。好在這個問題,在後來的專案裡,多多少少有了一些改進。它也充分說服了持證上崗的重要性。在快結束這個專案的時候,終於又被培訓了(持證),培訓的主題是:Team Lead。同樣是 TL,差別還是蠻大的,雖然不一樣,多多少少還能學到點東西。

再回到專案上來說,我終於算是完完完完整整整整地經歷一個專案,Inception、Interation 0、交付、收尾。除此,還 GET 了微前端的技能——我在 2017 年裡,心心念念想實踐的架構,勉勉強強得到了充分的施展。此刻,按我司的 Tech Lead 的維度,我大抵可以算得上是一個 Tech SME(Subject Matter Expert)。

THREE。而在年底的專案裡,我則是經歷了售前、Inception、Iteration 0 的階段。在 Google Play 上上架了七八個混合應用的我,成為了一個混合應用框架的建立者,而不再是使用者;與此同時,進一步地思考了大前端相關的內容,從頭建立前端相關的元件庫、腳手架等一系列的工具。按我司的 Tech Lead 的維度,大抵在這樣的專案裡,可以朝向 System Architecture 的方式發展。幾次不同的經歷,讓我重新思考了角色的定義,不免在下一個專案裡,我需要在開始時重新定位自己——需要以怎樣的角色存在。

經歷了一系列的原生應用、混合應用、半混合應用、RN 應用的開發之後,對於如何整合再有應用,有了更深的經驗。與此同時,對於內部的政治還是深有體會,只是尚不能理解原因。與過去相比,我覺得做底層框架支援很有意思,但是長時間的投入之後,發現還是業務程式碼更有成就感一些——有穩定的上線計劃。

幾個不同梯度的專案,考慮問題時的方式,都各有所不同。過去,只關注於團隊內部的能力成長,相關的架構實踐。在第 2 個和第 3 個專案裡,則關注於更高維度的架構事宜,致力於提升總體的開發效率。所需理解的非技術因素更多,並且面向的受眾更廣。不遠的將來,也需要從更高、更寬的角度,來考慮整個系統。

業餘程式設計:FOR LIFE

在這一年裡,因為過去的幾年裡翻譯、查閱了大量 IoT 相關的內容,相關的資源相當地 “匱乏”——要麼重複,要麼質量低。我停止了玩點什麼的文章翻譯計劃以及相應的 Play 應用開發,但是它仍然有著一絲絲的訪問量——每天有 100 次左右的點選量。在可見的未來幾年,這個網站仍然相當有前途。只是在網際網路巨頭們,各自推廣自己開發社群的這幾年,大抵會慢慢下滑。

在這一年裡,關於 Serverless 的投入倒是有些變少了,但仍還是使用了 Serverless 架構 + 微信小程式 + AI 寫了一些(個)應用,如 CODE 應用。使用者量還是上了 8k 左右,這樣一看,倒也是一個不錯的嘗試。在下一年裡,或許可以在這一方面有更多的探索,能面向普通的使用者,而非程式設計師——想從程式設計師身上賺錢太難了。諸如小遊戲的開發,這樣一看倒也是難得可貴,到了這個年紀,還有探索計算機的好奇心。以致於那些上年紀的程式設計師,想的也都只能割割知識付費的韭菜。

上一年裡,我制定了一個粗略的計劃,用於替換日常工作的一些軟體。如去年年底編寫的 ADR (架構決策記錄)工具,已經成為了我日常管理開源專案需求的一部分,而不僅僅是架構決策相關的內容。在這一年裡,又有了兩個新的小夥伴加入了:

Mifa Design。設計的初衷是面向我的開源專案的設計系統,最開始的形式是 UI 框架(CSS 架構)。就目前而言,它已經是我預設的 GitHub Pages 的主題,預設的 GitHub 電子書主題,預設的開源專案的 CSS 框架。我可以毫無顧忌地說,它達到了廣泛的驗證,hiahia~。

Phodit 編輯器。它滿足了我日常的寫作需求,如在我寫本文時,還作為了新書(TBD)的編輯器。儘管過程中,充滿了相當數量的 bug,如重新命名檔案的時候,不會替換當前視窗的檔案——需求小的 bug,都懶得改。

在未來的一年裡,仍然想的是繼續創造自己的工具。諸如,隨著輿論的不斷收緊,對於隱私問題的擔憂。關於隱私,我有了一些更多的想法:

  • 輸入法,是一個相當危險的工具,它可能會隨時出賣你。要麼接入原生開源,要麼使用雲的方式。
  • 物理密碼生成器,做了一些瞭解,諸如 Raspberry Pi Zero,只是需要保證便攜性。
  • iOS 還是 Android?可惜 Ubuntu Touch 還是半死不活,支援不了主流的裝置。

倒也不是擔心自己說了什麼,怕被追責——天生就不喜歡一種被監視感。要麼屈服,要麼天性自由,這是一個值得考慮的問題。國內的聊天工具,無時無刻不在被審視著,於我的感覺就好似 “達摩克利斯之劍”。倘若能做一個物理上的輸入法,倒是會更加的方便。

寫作:HIGH QUALITY -> 非技術寫作

依舊地,我仍然在為 Packt 幹著廉價的技術審閱工作,它們又出版了兩本印有帶上我名字的書《Mastering Angular Components - Second Edition》和《Angular 6 by Example - Third Edition》。即可以免費地看技術書籍,又可以練習英語,有時還有收入,倒算是不錯的買賣。

原先打算在這一年寫完的書,終究還是沒有寫完,兩年了。倒是《自己動手設計物聯網》繁體版——《物聯網原來這麼近:立即手動實作一個》,能為平淡的生活新增幾多的色彩。從國內到到港澳臺地區,倒也是個不錯的進步。哪天要是在馬來西亞、新加坡這樣的國家裡,看到自己的書,倒可以自詡說走向了國際化。未來,倘若有本書,要是能寫作出版到西方國家,那便是個更大的突破,就這麼放個心願吧。

在 2017 年,我寫了一系列的熱點文章,在年底總結的時候,我開始意識到了這些文章的問題——它們不能幫助我成為一個更好的程式設計師。與此同時,依賴於熱度的文章,在熱度散去的時間,也就沒有不存在的價值。於是,2018 年,我調整了寫作的策略——嘗試在閱讀量與質量之間平衡,不再去追求更高的閱讀量,轉而是我眼中的 “高質量文章”。

高質量的文章,大抵也是有好有壞,一來,一篇文章要花費一天的時間編寫,文章的長度往往太長了,不適合所有的人閱讀。二來,高質量的文章,並不一定帶來好的閱讀量,但是對於自己來說,內心是滿足的——寫的是給自己看的文章,對自己的幫助更大。

我嘗試以 《架構拾集》作為標題,作為其中的一個方向,用於記錄我在使用架構方面的所見所聞,並將其作為我的知識庫來儲備。練習它們,然後記錄其中的關鍵部分,相關的核心思想。要是說成長吧,那還有一點相關的不錯,吐槽一些 “不好” 的架構實施。往往,我們一直講的是某個架構中的好處,而一直刻意忽略其中的一些缺點。在使用的過程中,因為一些使用的不當,反而帶來更多的問題。諸如《微 “害” 架構》和《前後端分離的資源浪費問題》,便是在講述其中的一些問題。若是直接放大缺點,吐槽一番,那倒是相當的不錯。

只是寫多了技術文章之後,寫一般的文章有了些許的不合適。技術文章,特性是簡潔、幹煉,少了些許廢話,也就沒有人情味。濃縮了精華,便也意味著需要一遍一遍的深思熟慮,刪刪減減,時間也就過去了——沒有了愉快地寫作感。漸漸變得沒有自己的風格,千篇一律,也就失去了自己的個性。

每晚的睡前,都在閱讀技術之外的文學類書籍,想尋找一些新的寫作手法。這些日子下來,還沒有太大的突破,或許是量變還不夠,又或者是需要多練習,寫寫非技術文章。

設計:PRACTISE -> MORE PRACTISE

為了響應 2017 年留下的遺憾,在這一年裡,我練習了很多設計相關的工作。

設計上最大的長進,莫過於結合程式設計相關的知識,設計(複製)出了 Mifa Design。推廣在了開源專案上,公號的排版上,自己的部落格上……。就目前而言,倒也只是普普通通的排版和樣式,論不上豐富的個人風格,倒是應用得有點廣泛。起初呢,打算作為 Design System 來使用的,但關於 Design System 相關的設計、技術,倒也沒有落到實踐上。這樣一推論,倒也是頗為遺憾的,只用在了術上,卻沒有掌握道。

我開始手繪文章中的流程圖,倒也是蠻有趣的,卻又稍微顯得有些麻煩。先將流程圖繪製在 Wacom Folio 的裝置上,再同步到雲上,便可以在電腦上、平板上,進行編輯和上色。好用(貴)的 Wacom裝置,可以直接在上面繪製、上色、匯出,省去了轉換過程稍許的麻煩。而設計的最先步驟,還是得先在紙上繪製相應的草稿。

心情好的時候,又或者是閒暇時間,便會畫上點東西,作為封面。雖只能算上塗鴉,作為封面,卻有了一點個性——不再是千篇一律。偶然間,也和 @花仲馬 一起參加了公司的週末活動,嘗試了畫一張油畫,儘管畫出了水墨畫的感覺。多多少少,還是有了點信心,未來在時機合適的時候,但是會發揮更大的價值。只是於自己而言,還是相當的缺乏練習。在未來的一年裡,寫累程式碼的時候,倒可以投入部分的精力,以放鬆一下神經。掌握了門道,多加練習,快速地畫上一張畫,倒也是蠻興奮的。也許還可以結合一些 AI 影像相關的內容,完善相關的個人風格化影像。

除此,和 @花仲馬 的馬來西亞之遊裡,我還 GET 了一個攝影相關的技能:連拍——一千張圖裡,總有一張是合適的。攝影、漫畫和電影,存在相仿的地方,對於鏡頭的把握,便也是一個值得掌握的技巧。日常多加了解,多加註意,便是也會 GET 到新功能。

總得嘗試新的方式,突破渴望,才能知道自己會什麼。

其它

這一年下來,看了幾本關於人生的文學、人說書籍。也算領悟了一個基本的道理,想在某一個行業裡幹下去,靠的不是年輕時候的熬夜、學習,而是持續保持穩定的投入以及穩定的輸出,也就是長期的職業生涯。做喜歡做的事情,尋找提高點,不斷突破自己。如此一看,關於程式設計-設計-寫作,都有了各自的場景、應用、規則和計劃。時間一長,問題倒也是不大,都有各自發揮的空間。

可生活和工作,不止是這些個人興趣,還得花些時間在其它的方方面面,如各種各樣的軟技能。

比如說,溝通,如何達到令人信服的溝通能力。

比如說,成為一個栽培者、Coach、導師。

比如說,影響力,面向更高 title 人級的技術和非技術影響力。

若是要考慮未來,便總會想著成為自由的職業者,而不是成為螺絲釘。

Hello, 2019

2019 大抵會是一個艱苦的開始。

相關文章