大家好,我是 @洛竹
本文首發於 洛竹的官方網站
本文同步於公眾號洛竹早茶館,轉載請聯絡作者。
創作不易,養成習慣,素質三連!
感謝掘金&Zoe
首先感謝掘金這個幫助開發者成長的社群,從 2020 年開始寫部落格至今,不僅沉澱(水)了近 80 篇部落格,還完成了職業生涯的小突破。最重要的在優弧大大發掘我之後,藉由掘金這個平臺認識了很多好朋友和大佬。其中大聖和言哥對我的影響最多,在我多次迷茫或者瞎搞的時候給出建議或者直接敲打我。
話說回此次由 Zoe 同學主辦的 3 月闖關活動開啟,等你來戰! 活動,一開始我是拒絕的,畢竟我沒有換工作的打算。Zoe 同學告訴我不求職,總是有升職加薪的追求的吧,順手就把 闖關路線二:升職加薪 推薦給我,甚至拿出我欠優弧文章的事情來壓我。嗯!我就是在 Zoe 同學不斷約稿和不斷催稿的情況下完成了闖關活動,直到活動快結束的時候我才知道還有導師職業規劃指導的環節(p≧w≦q)。向我們勤勞又負責的 Zoe 同學致敬,您辛苦啦!以前是我錯了,現在我想做個好人。
活動歷程
技術點評
- 使用 Jest 和 Enzyme 進行 React Native 單元測試|技術點評
- 「譯」2021 Flutter 和 React Native 如何選|技術點評
- 當我們在聊 RN 時,我們在聊什麼 | 技術點評
其中第三篇獲得了 優秀文章獎,獎品是掘金周邊大禮包!
專案覆盤
由於在臨安買房的事耽擱,這個階段只輸出了一篇文章,很榮幸再次獲得 優秀專案覆盤文章獎,獎品還是掘金周邊大禮包!我物件說我都可以賣掘金周邊了,看我這三個缸子,一個泡茶,一個泡咖啡,一個白開水,還有兩個在家躺屍:
成長計劃
- 在跨端領域繼續深耕,一年內達到公司技術專家級別
- 目前處於廣泛涉獵技術,構建個人知識和技能體系的階段。垂直領域的精深和知識體系的架...
- 不斷調整優化自己的目標,並嚴格要求自己:#網頁連結#。虛心聽取別人的建議和批評。
- 肖老師,經驗豐富,一個字穩
- 不管什麼事,我都有整理和記錄的習慣。所以我經手的東西都有詳細文件。離職的時候,領...
肖老師是誰?肖老師是我老東家一起奮鬥過的兄弟,一起寫過程式碼,一起泡過澡,現在是晞格瑪雲技術總監,有合適的小夥伴我可以幫忙投遞簡歷。
感謝宗心大佬
當我知道還有導師指導職業規劃這個事之後,我就拜託 Zoe 同學幫忙聯絡宗心大佬選我,一是很早就關注了閒魚在 Flutter 方面的實踐,二是宗心大佬帶領的團隊正是我所從事的跨端方向(具體聊了之後發現跨端只是閒魚的一部分,後面會展開說)。感謝宗心大佬給了我這次機會,下面是宗心大佬的簡介:
跨端問與答
問題是我提前準備的,都是現階段令我焦慮和困惑的點。宗心大佬人真的很隨和很 nice,也極其耐心地針對我的問題給出了答疑,真的就是撥雲見日,令我茅塞頓開(此處非玩笑話)。可惜的是我這個憨憨雖然錄了屏,但是沒有聲音,記憶它不完整,也不能完全複述大佬的意思!希望大家見諒,放上視訊合照以紀念此次指導:
大佬側顏 | 大佬正臉 |
---|---|
Flutter 真的會幹掉 React Native 嗎?
問題背景
前一段 Flutter 2.0 出來的時候,一片唱衰 React Native,Flutter 完爆 RN 的聲音讓我很焦慮。在我的認知裡,這兩者並不存在你死我活的問題呀,而且早起兩個同隊都給出宣告說不存在直接競爭關係,那麼作為國內最早且使用 Flutter 最多的團隊,宗心大佬是怎麼思考這兩者的呢?
大佬解答
Flutter 和 React Native 所適用的業務場景是不一樣的,Flutter 更多地可以替代原生開發作為 App 開發的新模式,閒魚目前的基礎鏈路就在用 Flutter 做歸一的架構。而 React Native 可以做動態化的事情,比如手淘的活動引導頁這類需要高度動態化的場景。
React Native 更多的是讓前端可以寫客戶端,對前端更友好。而 Flutter 偏向於原生,對原生同學比較友好。
我的感悟
技術存在即合理,站在宗心大佬的高度,一切技術的選型和架構一定是跟隨業務場景走的。脫離業務去談技術和架構,就是流氓行為,不負責任的,純屬製造焦慮的。
國內有沒有可能出現比肩 Flutter 和 React Native 的框架?
問題背景
作為國內一線大廠,阿里是否有野心做出比肩甚至超越 Flutter 和 React Native 的框架呢?
大佬解答
大佬對 Flutter 和 React Native 的理解很透徹,把問題一分為二。首先是 React Native,列舉了 Weex 這個框架,RN的架構比較好實現。而 Flutter 的實現就是一個龐大的工程,需要對作業系統和瀏覽器引擎有深厚研究的團隊才有希望做出。大佬列舉了 UC、鴻蒙這類公司。
我的感悟
看似是單一的框架,但背後是整個生態。難實現的不是框架,而是大環境和生態的建設。相信國家的精英們遲早會有屬於我們自己的作業系統,自己的生態,自己的跨端框架。
閒魚是否放棄 Flutter?
問題背景
因為上份工作是有機會在阿里園區呆過,聽聞 Weex 已經被放棄了,所以問了一下宗心大佬進展。由於不是一個團隊,大佬不方便代表 Weex 團隊,但是對大家比較關心的閒魚是否放棄 Flutter 做出瞭解答。
大佬解答
前面我們提到,宗心大佬是閒魚基礎鏈路負責人,大佬也解答了 Flutter 的應用場景是可以替代原生開發的一些事情。那麼閒魚是否會放棄 Flutter 呢?答案是否定的,宗心大佬描述了閒魚基礎鏈路架構的方向:Flutter 作為基礎鏈路的核心,輔以原生、H5 等容器,最終做到基礎鏈路的歸一。也就是說閒魚並不是要放棄 Flutter,而是基於 Flutter 在做更大更深的事情。
目前跨端處於比較混亂的局面,RN 容器、H5 容器、原生殼、各廠封閉生態的小程式以及 Flutter 共存於一個 App 的情況屢見不鮮。這帶來的不只是管理成本,還有效能問題。此時急需一個能夠統一基礎鏈路的技術,閒魚基於多年的經驗選擇了 Flutter。
宗心大佬也透露了內部十分活躍的 Flutter 開源團隊建設,相信不久就會為 Flutter 生態輸入優質的開源專案。希望彼時在座的各位有機會能參與進去。
我的感悟
其實,在塗鴉也有相應的小組在做同樣的事情,在我們的溝通裡叫一碼多端。也是基於 Flutter 實現一套程式碼多端執行。這在跨端領域可以說是炙手可熱的話題了。
在跨端領域達到專家水平需要具備哪些指標?
問題背景
嗯,技術專家是洛竹目前努力的方向,也制定了一系列的目標和計劃。但是我並不知道這些目標和計劃是否正確!
大佬解答
大佬將專家分為技術向專家和業務向專家。技術向專家比較少見,需要對某一個領域或某一個問題有很專精的研究,比如 Flutter 渲染引擎的優化、音視訊方向的編碼研究等等。而更常見的是業務向專家,這裡的業務並不是具體的 ERP 或者電商。而是要有產品意識,需要在缺少產品的緊急情況下能頂上去的能力。
到 P7 有的是解決了行業解決不了的問題;有的是首創了一個架構並可以長期沿用;有的是在原有架構上做了創新性工作;有的是在某一個技術領域達到專家級別;有的是對某一類業務問題的技術實現非常精通。有的是憑藉自身對技術整體把控。
大佬也表示了對方法論的肯定,建議我不要太過於執著於技術追求。以自己的經驗告戒我還年輕,早些讀一讀經管類、管理類、心理類方面的書籍開闊思路,為以後的發展做準備。
宗心大佬最後還是勸誡我不要只在意技術方面的進步,能走的更遠需要的不只是你的技術能力,更多的是綜合能力,甚至是平衡生活和家庭的能力。
我的感悟
每個人選擇和適合的是不一樣的,這受限於個人學識、經歷、經驗、精力以及家庭因素。我們無法通過簡單地模仿他人達到目的。我們要做的是學習大佬的習慣、學習方法、對於技術框架的架構以及技術的前瞻性。
您對於全棧開發的理解是什麼樣呢?
問題背景
去年年底由於焦慮和迷茫,瘋狂入手各種後端語言,其中包括 Deno、Go、甚至 Rust。大聖老師曾告誡我多看看前端框架原始碼,我卻在廣度上瘋狂擴充。直到把自己搞的很疲憊,達到極限才開始反思我所認為的全棧是否是一個錯誤的概念。
大佬解答
每個人的職業發展道路是不一樣的,每個人的立身之本也不一樣。洛竹你思考一下你作為一個前端真的需要精通後端嗎?你需要的不是精通那麼多後端細枝末節,而是培養自己解決問題的通用能力。你精通了前端的載入優化、分包、非同步程式設計、效能優化、引擎執行原理與調優等等這些深度問題。同樣的經驗放在後端是一樣通用的。
大佬還以自己作為客戶端起家最後能帶領服務端的經驗教導我,洛竹你有一天能帶服務端的時候,不是說你就要後端程式碼寫的很溜。但是你要有大局觀,遇到問題知道問題是什麼還不夠,還需要知道解決的方向以及安排可以解決這個問題的人去做。
我問大佬這些能力我不實際去學習如何獲取?大佬說 Hello World 對你來說不難吧?整體的對一個技術的瞭解不難吧。在你不需要實際在工作中用到時這些就夠了。你要做的首先還是把你安身立命的東西做到足夠好,前後端只是職責劃分,工程化和底層的本質是一樣的。
現在雲原生技術發展的這麼迅速,作為前端,你也可以更多地關注雲開發。這些也能讓你自己做出一個專案出來。沒必要說精通後端自己介面這樣子。
我的感悟
宗心大佬一番話點醒了夢中人,我的計劃中放入過多的後端技能學習。這樣並沒有讓我緩解焦慮,反倒是越來越焦慮。雖然還是很不捨,但我不得不逼自己暫時放棄 Deno、Rust 的學習。之所以要堅持 Go 的學習是因為我需要一個編譯語言來解 JS 的毒,而 Go 足夠簡單不會對我造成太大的負擔。
我是在大前端方向突破還是專精跨端領域呢?
問題背景
我從 18 年開始做 React Native 開發,積澱了很多業務開發知識和架構工程化方面的能力。一直在我心裡過不去的坎是原生開發能力的欠缺。我很迷惑我到底是往大前端方向努力,還是悶頭在跨端領域深挖。我指的不是 RN 和 Flutter,我指的是要不要把原生開發學一學。
大佬解答
我建議你去學一下 iOS 和 安卓開發,起 Demo 玩一玩知道怎麼執行的,如何開發的。大佬 12 年進阿里實習的時候也是不懂客戶端開發的,當年資料更少。但是也就用一兩週上手開始做專案。
但是宗心大佬還是告誡我一定要知道自己安身立命的東西是什麼,不要忘記初心。不管是就業形勢還是職業發展我更希望你能做一個懂客戶端的大前端,而不是放棄前端往客戶端突破。
我的感悟
這和上一個全棧的問題類似,也是導致我越來越焦慮的問題之一。聽了大佬的教導,我更加堅定了接下來的道路。原生開發我是要懂,而不是要什麼都會。跨端和客戶端還是不一樣的。我的優勢是在前端的積累,為什麼要跟客戶端轉前端的同學搶飯碗呢?
感悟
聊完之後我最大的感受是掘金的活動質量真的太高了,之前對宗心大佬不夠了解,這一番聊下來,簡直就是偶像級別的。以上所有的問題在沒有聊之前幾乎都沒有自己的答案的,全部是迷茫的點。大佬不僅耐心的解惑,還以自身的實際經歷為我的職業發展給出了清晰和明確的建議。再次感謝掘金和宗心大佬。
最後祝掘友們 2021 升職加薪,走向職業巔峰。