作者:小傅哥
部落格:https://bugstack.cn
Github:https://github.com/fuzhengwei/CodeGuide/wiki
沉澱、分享、成長,讓自己和他人都能有所收穫!?
一、前言
月薪30K年薪是多少?
按照月薪30K,年終獎2~3個月來算,再算上季度的績效獎金、加班費,可能也有一些大小周和節假日的三倍工資等。綜合起來的稅前年收入整體差不多在46W左右。當然如果你在年會中了個大獎也可以算進去,或者陽光普照個IPhone!
那30K月薪差不多是一個什麼級別?不知道大家有沒有看過下面這張圖,這個圖來自一個薪資統計的網站,如下:
- 以上這種圖的收入除了月薪還包括了,獎金、年終獎、股票,有些公司給的股票是比較多的。股票有一定的解禁期,並不是一次能拿完。
- 那如果想拿月薪30K,基本是拿到了一個阿里的P6以及橫向對標的級別。當然可能有些同學是在內部晉升加薪的,那樣可能會略有差別。
30K對於工作3~5年還是蠻香的,但網際網路大廠也確實不那麼容易進去,如果在傳統行業耽誤了幾年或者頭幾年做的專案單一,個人技術能力成長緩慢,過了30歲還真的挺難進去的。當然不是說30歲不要,只不過到了30歲,會要求面到更高的級別。
一般面試會從多方面進行考察,判斷求職者是否滿足招聘要求,如下圖:但也有很牛皮的求職者可能就一兩個問題的回答,就已經把面試官鎮住了!
綜上,梳理出七個方向的面試考點,包括:基本功底、常用技術、技術深度、技術經驗、學習能力、工作能力、專案經驗。
- 基本功底,是一個程式設計師的主科目語言的學習程度的一個基本考察,這部分內容需要平時大量積累和總結。否則一本簡單的Java書很難全部給你講透徹,因為Java中包括了太多的內容,遠不止API使用。
- 常用技術,聊的是你的技術廣度,和崗位技術匹配度。比如需要用到過RPC,那你用過Dubbo。如果你的公司暫時用的技術不多,或者還是處於單體服務,那麼需要自己補充。
- 技術深入,除了技術廣度接下來就是技術深入,在你常用的技術棧中,你有多瞭解他們,瞭解原始碼嗎、瞭解執行機制嗎、瞭解設計原理嗎。這部分內容常被人說是造火箭,但這部分內容非常重要,可以承上啟下的貫穿個人修為和薪資待遇。
- 技術經驗,什麼是技術經驗呢?這是落地能力,除了你可能認為上面一些是紙上談兵,是造火箭。那麼接下來這部分內容就是你是否真造過一個火箭,真完成過一個難題。所以這部分是從結果證明,不是你會什麼,而是你做過什麼。
- 學習能力,作為程式設計師你是否保持熱情,是否依舊在積極努力的關注技術,是否為自己的成長不斷添磚加瓦、是否還有好奇心和較強的求知慾。一般會從這裡看你是不是一個真正的Coder!
- 工作能力,以上的種種能力,最終要體現到工作上,要能看出你的交付能力。否則即使你再優秀,也不能把你當成一個吉祥物。工作能力的體現,才是真的為團隊、為部門、為公司,貢獻價值的。
- 專案經驗,這項內容會根據不同公司的不同業務線而不同,就像你懂交易、支付,那麼面試花唄、借唄、白條等工作崗位就會很吃香。
好! 接下來小傅哥就帶著你逐步介紹七個方向中的每一刻具體有哪些內容以及該如何學習。走起!
二、技術大綱
1. 基本功底
- 重要程度:⭐⭐⭐⭐
- 內容介紹:資料結構講的就是把資料放在不同形態的結構中,
堆疊佇列連結串列陣列
等。而演算法邏輯就是把這些存放在資料結構中的資料按照一定規則進行增刪改查,也就是二分、快排、動態規劃、搜尋等。而一門語言的核心技術就包括了對資料結構和演算法的具體實現,像是我們用到的結合框架,ArrayList、HashMap等都是具體的實現。除此之外,在Java的核心技術中還要學習多執行緒、代理、反射等技術。這不只是面試內容,更是寫好程式碼的基礎! - 學習資料:演算法圖解、大話資料結構、資料結構與演算法分析、演算法導論、演算法之美、計算機程式設計藝術
- 語重心長:學習,從來不只僅僅是為了當下工作需要。簡單的CRUD也可能真的不需要複雜的設計,但個人的年齡和能力一直要成正比!
2. 常用技術
- 重要程度:⭐⭐⭐⭐
- 內容介紹:這部分內容是一個網際網路研發中常用的技術棧內容,可能每個公司會有一些同類的其他技術,比如RPC框架就有很多種,但技術核心原理基本一致。可能以上的內容看上去比較雜,也可能有一些是你還沒有接觸過的,可以從上到下逐步瞭解。
- 學習資料:http://tutorials.jenkov.com、https://tech.meituan.com/、http://mysql.taobao.org/monthly/、《面向模式的軟體架構》、《設計原本》、《架構之美》、《Clean Architecture》
- 語重心長:如果你並不想做一個工具人,就給自己的知識架構體系建設的完整一些,也算是風險抵抗了!
3. 技術深度
- 重要程度:⭐⭐⭐⭐⭐
- 內容介紹:這一部分內容經常在面試求職過程中被稱為造火箭、八股文。因為這部分知識探索到了JVM的執行機制,甚至去翻看C++原始碼,也包括JDK原始碼,同時還有框架的實現機制。除此之外,還有的公司會擴充到你可能完全沒接觸過的位元組碼插樁、全鏈路監控等等。
- 學習資料:《java虛擬機器規範》、《Java併發程式設計實戰》、《多處理器程式設計的藝術》、《面經手冊》、《位元組碼程式設計》
- 語重心長:有人說這叫內卷,那難道高考不卷?車牌號不卷?只要有資源競爭,就一定會有爭奪。
4. 技術經驗
- 重要程度:⭐⭐⭐⭐⭐
- 內容介紹:如果你說問你原始碼、機制是造飛機,那技術的落地才是你真正的本事。這裡一部分是框架、架構的搭建,另外一部分是原始碼和核心元件的使用。也就是你的核心框架原始碼學習,是否能做到技術遷移運用到你的專案中,做出可落地的程式。學習、沉澱、積累,這更像一盤大棋!
- 學習資料:CodeGuide
- 語重心長:不造輪子?對個人來說,輪子越多,車就越穩!
5. 學習能力
- 重要程度:⭐⭐⭐⭐
- 內容介紹:學習能力主要是輸入和輸出,一遍吸納知識,一遍沉澱知識。如果只看不記錄不寫,早早晚晚也就忘沒了。這方便沉澱下來的內容都是個人的技術標籤,尤其是參與過開源專案,或者自己有一個專案得到認可。
- 學習資料:https://github.com、https://stackoverflow.com、https://www.csdn.net、https://www.cnblogs.com
- 語重心長:寫部落格真的是一種非常好的學習方式,每當你要輸出一個知識的時候,你就需要閱讀、收集、整理、彙總。日復一日的沉澱,終究會讓你有非常大的提升。
6. 工作能力
- 重要程度:⭐⭐⭐⭐
- 內容介紹:招聘人你覺得是先看能力還是先看素質?其實很多團隊招聘是先看人的,如果你不能表現出一個積極、樂觀、抗壓、不玻璃心的態度,團隊招聘是會有些抗拒的,誰也不希望招聘一個需要哄著的
碼寶男
。但工作能力同樣重要,最終是你的擔事心態和擔事能力來撐起你的工資和職位。 - 學習資料:《非暴力溝通》、《關鍵對話-如何高效能溝通》、《逆商:我們該如何應對壞事件》、《人月神話》
- 語重心長:溝通是解決雙方或多方的認知偏差問題最終達成共識,情商是溝通的潤滑劑,無論對誰都應該保持自己為追求更好而有的格局。
7. 專案經驗
- 重要程度:⭐⭐⭐⭐
- 內容介紹:專案經驗來自於各個不同行業的技術範圍,比如:社交、電商、外賣、出行、視訊、音樂、汽車、支付、短視訊等等,都會在各自的領域有一定的技術壁壘和相同之處。所以一般做遊戲開發的可能跳槽到交易支付,還是會有很多不瞭解的。所以儘可能是在自己的行業內跳槽,或者你可以做到知識的擴充,自己多學習。
- 語重心長:不要守著自己的一畝三分地,多看看、多瞭解。
三、30歲程式設計師佔比
本週在群裡做了一次簡單的《2020年網際網路程式設計師年齡分佈統計》,因為人群的關係可能資料是有一些不準。但這份資料可以作為參考,也可以參與投票。
選項 | 票數 | 佔比 |
---|---|---|
未滿 18 歲 - 19 歲 | 11 | 3.9 % |
20-25 歲 | 108 | 38.6 % |
26-30 歲 | 111 | 39.6 % |
31-35 歲 | 27 | 9.6 % |
36-40 歲 | 11 | 3.9 % |
41-45 歲 | 9 | 3.2 % |
46歲及以上 | 3 | 1.1 % |
- 主力程式設計師集中在25~30歲,也就是剛畢業到工作7年左右。
- 30以後的程式設計師呢?是不寫程式碼了嗎?其實,其實從這資料可以看出30以後的程式可能是晉升做管理,幾乎不怎麼參與到各種技術群的學習了。但也有另外一個現實,就是30歲以後基本都已經結婚生子,上有老、下有小。基本是沒有自己的時間,也就沒有了學習新知識的時間,也沒有參與到各種技術群的時間。
統計資料
參與投票
四、總結
- 與抵抗網際網路風險相比能做的,只能是多學習、多沉澱、多積累。讓30歲有30歲的能力,35歲有35歲的經歷。因為沒有所謂的安全,只有擁有留下的本事和走出去的能力才是安全的。
- 30歲以後面臨的不只是學習技術,還有很多原因是沒有時間。有家庭、有父母、有妻子,有生活的雜事,有工作的佔據,很難拿出一個時間給自己。哪怕是健身、學習,也得要擠時間。
- 大部分程式設計師的願望是什麼?做過一次5年後的願望收集,大部分希望升官發財、家庭美好、買車買房,也有希望一屋兩人三餐四季,平平淡淡。其實大家在這個行業都很累,我的願望可能是以後蝸居在天津,有個大書房、寫寫書、開車逛逛,有自由的時間。來自:程式設計師的願望