大家好,我是若川,最近組織了源碼共讀活動《1個月,200+人,一起讀了4周源碼》,已經有超50+人提交了筆記,群里已經有超1200人,感興趣的可以加我微信?ruochuan12?參與。
前言
寫這篇文章的初衷是因為看到很多剛入職的同學迷茫,沒有目標感,看到了一些工作 1~2 年的同學疲于業務開發而沒有很大的成長, 也看到了一些同學 2~3 年工作時間變成了框架熟練的“打工人”卻沒有很好的沉淀和亮點,導致無法進入大廠實現薪資的大幅提升。希望這篇文章能夠給這些初中級工程師一些啟發。
挑選適合的平臺
選擇大于努力
如果你拿到下面兩個公司的 Offer ,你會如何選擇?
A 公司 | B 公司 | |
---|---|---|
規模 | 400 人 | 1000 人 |
行業 | 互聯網 | 軟件服務 |
薪資 | 10 K | 13 K |
前端人數 | 40 人 | 80+ 人 |
前端職能 | 獨立前端部門 | 跟項目走 |
匯報老板 | 專職前端 | 后端 |
我相信大部分人都會選擇 A 公司,因為你會認同 A 公司更有成長空間,會積累更多的沉淀。
從哪幾方面做選擇
1.看行業,2010 年以前的電商,這兩年教育,社區團購等。
2.看公司,公司是否大廠,行業內影響力,公司文化是否吻合,和一群靠譜的人工作,結果肯定不會太差。
3.看崗位,否是職能部門,是否是職能部門主要就是看組織架構中是否有前端部門。很多公司前端開發很多,但是是分散在不同部門里面,匯報老板是后端研發。
從哪里獲取到真實信息
1.找人咨詢。現在網絡那么發達,多逛逛社區,很容易就能得到行業大佬聯系方式,讓他們給你一些建議。基本上能夠給你判斷的七七八八,比如社區較活躍的 Scott。
2.網絡搜索是下策。網上提問,百度搜索,脈脈等信息繁雜也不一定客觀公正,而且回答你的人不一定是和你同一工種。
不要在意那兩千塊
有多個選擇的時候,很多人都會說選錢多的就沒錯。但是職業初期一定要看重成長空間而不能為了多那兩千塊錢而選擇不適合你的平臺。大部分人薪資漲幅最多的是 3~5 年的那段時間跳槽,前面基礎打好了,有足夠的積累,后面就是你挑平臺的時候,這個時候的回報遠遠大于之前的那點錢,甚至是能夠影響你職業生涯的選擇。
融入團隊-活下來
進入新的團隊,首先要融入進去,如果你不能快速融入團隊,那么必然會被淘汰出局,最嚴重的是還會浪費你至少一年時間,前期每一年都很重要(下文會說到這點)。怎么判斷你有沒有融入到團隊呢,不是看你是不是每天和他們嬉笑喝酒打游戲,有些天生內向不愛說話難道就不能融入團隊嗎?而是看團隊所有人的言行舉止是不是一致,文化價值觀是不是一致。那么怎么快速融入團隊呢?
1.和你的團隊待在一起。最常見的就是職場新人喜歡和校友或者一起進來的小伙伴同吃同行,卻疏遠自己的團隊。“相處”,如果不時常“處”在一起,總是游離在團隊之外,會比較難融于到團隊中。
2.積極主動。成熟的團隊 Leader 或者師兄肯定會給你提供一些鍛煉機會,一般都不會是命令式安排,而是問這個事情 XX 感興趣?這個時候要敢于承擔,敢于發言,獲得鍛煉機會的同時也會獲得被直接指導的機會,不要怕給事情搞砸,干就完了。做了不一定有回報,不做永遠沒有收獲。
3.做個靠譜的人。被人認為靠譜是一個很高的評價,那么怎么做才算靠譜呢?我的理解是事事有反饋,事事有結果,凡事到我為止。不屬于我負責的事告訴對方誰誰負責,當場不確定的事給出明確反饋時間并及時主動反饋和同步其他,而不是別人催著問你。所有自己負責的事要有明確結果,過程及時同步,風險及時反饋到對應人,并推動落地解決。
快速成長
在選擇到合適平臺并融入到團隊之后,我們就有了快速成長的土壤,那么我們如何才能快速成長呢?我理解的成長包括兩方面,技術能力的成長和職業能力的成長。
如何快速提升技術能力
堅持:積少成多,重在堅持,構建自己的知識體系,我現在每天也都能保持至少一篇技術文章閱讀。
多寫多練多思考:收藏了、看過了、點贊了不等于學到了,前面幾年要多寫多練,直到看到需求腦海中代碼就已經寫完了為止。拒絕無意義的模仿代碼,要去思考為什么這么寫?背后的設計方案思考?還有沒有更好的方案。
謙虛并敢于質疑:要有一個謙虛的態度,高高在上,老子最牛 X 的態度,會很快被拍死,要善于發現別人的優點和長處。謙虛不代表不發聲,討論階段敢于去挑戰別人,有想法敢于表達,別人考慮的不完善敢于質疑,事前多發聲,對事不對人,事后不瞎比比。
把事做精:養成優秀的習慣,每個任務不要因為做完就沾沾自喜,做完是基本要求,是你拿工資該做的事,做好做精是你成長的體現,當優秀成為一種習慣,成長就會很快。
敢于實踐:有些技術文章看完了不等于會了,有些好的最佳實踐和技術方案要敢于用到項目中,被業務驗證過的方案才是好的好方案,同時也能讓你快速掌握這些相關技術。當然在實施之前好的做法是先分享并組內討論下。
適當高調:這個是最簡單也是最難的,太多的程序員有個好的 Idea 不敢說或者只和個別人說;做了一個好工具好插件只給自己用或者身邊一個人安利下。適當的場合要敢于表達自己看到的問題并給出建議,好的工具積極的宣傳推廣到大團隊或者整個研發團隊。適當的高調可以讓更多人看到你,后面有相關機會別人也會第一時間找到你。一個工具當使用的人多了就會更多的問題暴露出來,會促進你解決更為復雜問題的能力。當積極主動優秀成為你的標簽之后會給你帶來更多的成就感、自信心、動力、挑戰和機會。
如何快速提升職業能力
什么是職業能力,職業能力是人們從事其職業的多種能力的綜合能力,對于研發開發來說通常指除技術能力之外的綜合能力。職場中比較重要的職業能力我認為包括溝通能力、業務能力、協作能力、反饋能力、規劃能力、總結能力。
這些能力如何提升沒有標準答案,天賦不同性格不同提升的方式也不同,我這里總結一些個人經驗供大家參考
溝通能力
語言一致性:面對不同工種比如測試、后端、產品和業務方首先要語言一致,你的語言表達要使對方能聽懂,如果你一直說專業技能語言,別人是聽不懂的,要將專業詞匯轉化成別人能聽懂的語言。你和老板說 Vue/React 的數據驅動他們大概率聽不懂,如果你和老板說 Vue/React 是業界主流開發選型,能夠比傳統開發提升 XX% 效率,節省多少人力效果就會不一樣。
理解一致性:你在說 A,對方聽成了 B,你以為對方也在說 A,那么永遠只有“溝”而不會“通”,甚至不歡而散。我碰過多次這種溝通半天不能達成一致來找我協調,最后發現倆人不在一個頻道上,造成無效溝通。我一般都是先聽完,然后給我的理解給對方復述一次,問對方我理解的是不是對的,而不是急于表達我的觀點。
多動手少說話:語言在傳達過程中會很容易被錯誤理解,比如我描述一個人的長相,一千個人會畫出一千個樣子,如果我拿出一張照片,就能夠準確的進行信息傳遞。溝通過程中多畫圖,多演示,多用白板能夠提高溝通效率。少說話除了用動手代替之外,還有就是說的過程中要說重點,先說結論再解釋,也許有些人不 Care 解釋只需要你給結論即可。當有太多的解釋而沒有引出結論時,可能會被認為很啰嗦說不到重點。
業務能力
給自己當“傻子”:一個好的產品是應該學習成本比較低的,給自己當“傻子”去使用自己負責的業務產品,就會發現太多可優化的點。
多換位思考:不要用技術的角度去看業務,要思考產品的用戶是誰,核心是解決用戶什么問題,有沒有解決,反饋如何?
用公司視角:你負責的業務上下游依賴業務是哪些?在部門中處于什么角色?在公司層面處于什么地位?站在不同視角看待業務就會獲得不同的看法。
關注行業競品:行業趨勢是什么樣的,競品的優勢在哪里,我們的優勢在哪,對行業要保持一定的敏感性。
協作能力
找到共同目標:通過良好的溝通能力,尋找到共同目標,放大共同價值會很容易達成合作。
多換位思考:多站在別人的角度考慮問題,多問對方的難點是什么,多問對方需要我如何協助,了解訴求之后再針對性提出解決辦法,而不是上來就說我要做什么,而是我可以給你帶來什么。
反饋能力
提高意識:事事有反饋是非常非常非常重要的意識,想象一下 1.你負責的開發任務如果需要負責人每天都問你一次到什么進展了,有沒有做完,不問你也不說;2.群里有人反饋你負責的頁面出了問題,而你已讀未回,其實你可能已經在排查了,或者有更要緊的事去處理。但是你沒有回,別人就會覺得你不負責任,甚至認為整個團隊沒有 Owner 意識。如果當時回一個 “在看”,“開會中,5 分鐘后看”效果就會不一樣。
規劃能力
定目標:沒有目標就沒有堅持的動力,做之前要先定好目標。目標可以有長期目標,中期目標和短期目標。
定周期:所有的目標都要有明確的時間節點,沒有時間節點,很難進展下去。
做拆解:目標拆解的粒度越細,執行的效果就會越好,一直拆解到不能拆解為止。
總結能力
多練:很多開發人員會做不會說,會說不會寫。我的經驗就是多練,練的多了就會有感覺。上學那會作文都寫不到 600 字,現在一口氣寫上幾千字停不下來。平時多寫業務文檔,技術文章總結,也能鍛煉你的總結能力。
逼自己:總結不是記流水賬,要化繁為簡,很多人會說不能再精簡了。我的經驗就是逼自己,比如 5 分鐘總結一下上半年的工作亮點、只選擇一件事你認為是最需要給老板說的、總結字數不超過 100 字等,慢慢就會清楚如何做總結。
如何尋求突破
技術能力的持續提升、職業能力越來越強,那么我們怎么才能突破到下一階段呢?
技術反哺業務
從場景找方案:技術能力一定要能反哺業務,才能體現技術的價值,學到的新技術新知識如果不能運用到項目中,那么永遠就只是個 Demo 樣品。所以不要為技術尋找場景,而是應該從場景中找解決方案(技術方案)。
聰明的“偷懶”:可以試著問自己,如何既能少干活又能滿足業務場景,這就需要你在理解業務的前提下,提出更合理的技術方案,將技術合理的運用到業務中,既能提高自己的技術設計能力又能更好的支撐業務發展。當然這里少干活不一定是說這次少干活,而是長遠的角度去考慮易擴展性和如何節省人力。
尋找機會并快速落地
有些人一直抱怨自己懷才不遇,做的事情沒有空間沒有機會,好的機會都被別人霸占著插不上手。其實不是機會少,而是你缺少發現機會的眼睛。
找難受點:讓人難受都是機會,多留意抱怨,多留意你覺得很爛的地方,多問協作方他們哪里難受,只要是難受的點就是機會。比如團隊腳手架工具好不好用、有沒有監控系統、有沒有需要所有人肉去升級或者排查的事情、測試是不是需要自動化工具、產品需不需要業務報表系統、運維是不是需要部署管理系統,留意身邊的不滿,碰到不滿不是躲避而是留意是不是機會來了。
如何判斷你成長了
如何判斷自己是否成長了呢?
是開發了多少組件、實現了多少頁面、發了多少版本、加了多少天的班?
我的邏輯是你改變了什么,因為你協助更順暢了,因為你線上故障少了 50%,因為你開發效率提高了 30%,因為你團隊氛圍更好了,因為你身邊人也成長了。你帶來了哪些改變,自然就在某些方面獲得了成長。
常見誤區
一年一跳:頻繁跳槽,到哪都「懷才不遇」。五年四跳或者一年一跳會導致新的用人單位覺得你穩定性差,在我這里是不是也最多待一年,一年一跳能夠沉淀積累的可能性也不大。所以慎重選擇你的平臺,清楚自己要什么,不要為了當時多兩三千而沖動。
業務成果當成自己成果:這個是最常見的誤區,業務 KPI 年年達成,年年是明星業務,誤認為是自己的成果,造成自己年年成長的錯覺。試著問下自己你在里面起的作用是什么?如果只是給交互實現完成,是不是可以認為你這兩年一直在機械性的做執行。還是要回到上面說的,問下自己改變了什么。
依賴平臺:有些人離了平臺就搞不定事,要做平臺無關的人,在不同階段可以自由選擇大廠或者中小廠,可以選擇縱向發展,也可以選擇橫向操盤空間。
總結
成長就像爬山一樣,一開始大家都在同一起跑線,有說有笑并肩出發,過程中有人堅持下來到達了山頂,有人停在了半山腰看著別人陸陸續續超過自己,有人選擇了錯誤道路也許永遠到不了山頂,有人選擇了適合的道路很快就到達了山頂。成長的過程中肯定存在很多坎坷,但是每一次突破自身所帶來的的成就感會成為你堅持下去的動力。堅持加上選擇再需要一點運氣,回報自然就會水到渠成,加油吧,打工人。
最近組建了一個江西人的前端交流群,如果你是江西人可以加我微信?ruochuan12?私信 江西?拉你進群。
推薦閱讀
1個月,200+人,一起讀了4周源碼
我讀源碼的經歷
老姚淺談:怎么學JavaScript?
我在阿里招前端,該怎么幫你(可進面試群)
·················?若川簡介?·················
你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》多篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經寫了7篇,點擊查看年度總結。
同時,活躍在知乎@若川,掘金@若川。致力于分享前端開發經驗,愿景:幫助5年內前端人走向前列。
識別上方二維碼加我微信、拉你進源碼共讀群
今日話題
略。歡迎分享、收藏、點贊、在看我的公眾號文章~