在本文裏,將圍繞兩方面來寫:linux
第一,年入50萬的人須要有哪些技能程序員
第二,如何把這些技能真正轉換成50萬的年收入。數據庫
這裏僅限於軟件行業。緩存
年入50萬,那麼平均月薪得53k+,這樣扣去稅,交金等,平均月入能作到40+。tomcat
至於用哪一種形式?好比是純工資,仍是工資加年終獎,或者工資加獎金加股權等,本文不在意。性能優化
若是某人達到了這個水平,那麼公司天然會給出這個身價,如何給法,這個可能就是數學遊戲了。服務器
通常來講,初級開發(3年內)月薪在12k到20k之間。高級開發(5年左右)高的就能夠有25k,資深架構或資深項目經理(6年+),能夠達到35k,能管20人以內團隊的架構或項目經理,能夠達到45k,而帶50+團隊的部門經理(通常工做經驗在10年以上),哪怕是低點的話,就能達到50k+了,就能達到本文提到的收入水平了。架構
還有一種是走技術加成的路線,好比最近比較流行的AI,大數據或區塊鏈等,這類資深人才若是有5年+相關資深經驗,就能達到這個水平。併發
或者,到小公司或創業公司裏去作技術總監,至少也是這個價,可是否能持久?我就不敢妄加評論了。oracle
除了在上文裏提到的工做收入外,我還見過以下的一些創收方式。
1 作軟件產品賣,或者幫人兼職作軟件。若是全職上班的話,一年估計能增收的額度估計在10萬之內。 2 作培訓,若是是講基礎內容,每週末去講一次的話,估計每一年能增收8到10萬,若是講熱點知識,好比區塊鏈等,那麼年入能夠到10萬到15萬,若是成了某個領域的大牛,去作高端企業培訓的話,每場的行情至少2萬,平均每個月就講一場,那麼估計年入能20萬+。 3 像本人那樣寫書,按目前的圖書市場行情,每本書的收入估計在1.5w,一年估計3本,那麼在5萬左右,但若是算上寫書給本身帶來的無形價值,(好比靠出書積攢名氣,再去講課) 一年估計能增收10萬。 4 作各類技術諮詢,好比出方案,這個我接觸得很少,但若是能保證長久有活的話,每一年估計也能增長10萬。 5 適當作些投資,好比買些基金或者理財產品,目前市面上大約是年收益5%。其實這樣算,若是有1千萬,每一年保守的理財收益也能有50萬了。
1 小A,某外企部門經理,管理50多號人。
天天早上大約9點半到公司,天天估計開會(電話會議和現場會議)時間有6個小時,和領導和客戶溝通時間估計2個小時,剩下的就是寫ppt,郵件和跟進度了。通常來講,週末若是能有一天閒下來就不錯了。
2 小B,某大廠架構師,技術牛人,分佈式架構5年+經驗,對於分佈式系統裏的反向代理,mq,數據庫集羣等組件有資深的實踐經驗。
天天平均開會時間+解決問題的時間,估計有6個小時,通常是下班後纔有時間幹本身的活,平時不怎麼寫代碼,而是出方案,具體來講就是根據業務系統的現狀設計組件,開發組件時遇到問題,得及時解決。並且須要手機一直開機,有問題得及時解決。
須要說明的是小B是資深架構,還沒作到技術總監級別,若是能作到負責某個產品的首席架構或技術總監,年入估計要70萬+了。
3 小C,有本身的公司,平時幫人出解決方案,賣本身公司的產品,順帶作監理,培訓等等,反正什麼活都幹,平時常常在飛機上,不定時須要和別人去談項目。並且,從談客戶到實施到問題解決到後繼維護,大多都是本身解決。
4 小D,作培訓的,培訓內容涵蓋PMP,數據庫,AI等,作大班培訓和企業培訓,在行業內也比較有名氣了,也是有本身的公司,並且作得時間比較長,有穩定的客戶源,算下來,一年有100萬+了。但天天也有見不完的客戶和幹不完的事。
5 小E,某創業公司(規模通常)的技術總監,年入55萬+,老闆的要求是,得解決任何技術問題,從帶人開發到測試到上線部署到性能優化,全都得管,大到租服務器上線項目,中有選用分佈式組件開發項目,小到代碼review測試,沒有不涉及到的。並且整天得提心吊膽,由於創業難。
概括一個字,年入50萬,忙。
但相比那些混吃等死無所事事的,這些人能用忙來換錢,也算是有本事了,至少本人願意往這方面努力。
先概括下技術方面的要求。
1 至少得有架構師的能力,並且得能在項目裏搭建各類組件,這些包括但不侷限於:反向代理集羣,消息中間件集羣,微服務集羣組件,緩存實現方式,日誌管理組件,數據庫集羣,數據庫分庫分表集羣等。
2 項目裏的架構組件遇到問題時,能經過debug查看源代碼的方式解決實際問題。
3 能編寫linux發佈腳本,能在linux搭建基於Spring boot或tomcat等的項目,一樣,一旦項目運行出現問題,能經過查看日誌快速定位和分析問題。
4 得至少是一個領域的專家,好比在數據庫方面,知道oracle調優,或知道如何搭建集羣,總之精通數據庫方面的部署調優排查問題等方面的問題。這樣能作到在團隊裏,這個領域方面,你是無可替代的。事實上,真正大牛不會僅侷限於一個方面,每每同時是多個領域的專家。
5 在當前某個熱門領域(AI大數據或區塊鏈)有解決實際問題的能力,而不是僅僅能搭建一個腳手架項目。
總之,技術上得綜合全面,並且精通一個或多個領域,並且最好能緊跟熱點。但一些高收入人羣的能力還不只限於此,下面說下我看到的這些大牛在在非技術領域方面的技能。
1 能帶團隊,能把本身設計的方案平穩地讓手下的人實現,其中就包含了團隊協做,溝通,進度把控,風險把控等能力。
2 能和其它團隊的人溝通甚至扯皮的能力,畢竟最終出一個方案,得兼顧多方利益,有時候技術得向進度成本等因素妥協。
3 不斷學習的能力,包括能認識到哪些該學以及該怎麼學,這提及來很是簡單,但根據本人的實踐,難。
4 能和各類各樣的人打交道的能力。這每每是從事軟件開發的程序員比較欠缺的能力。
5 更爲重要的是,能意識到當前的熱點,同時知道本身該往哪一個方向發展,同時或者經過學習,或者經過和別人協做,不斷讓本身進步。
好比我就見到一我的,他看到區塊鏈當時比較火,因此一方面就挖礦,另外一方面就學這塊,目前就從事這方面的開發,收入比以前就高了很多。
我目前看到的是,在上海,一些能力比較強的人(大約10%),在具備5年工做經驗後,就達到了這個水準,在具備8年經驗的人羣裏,大約三成到一半人能達到這個水平。因此你們的目標應當是,8年內把本身的收入提高到這個水平。下面我提些可執行的措施。
1 給本身制定一個目標,好比我當前是高級開發,但兩年後,我得具有架構實踐方面的能力,能勝任架構師的角色。這還不算,而後得給本身列個學習和實踐的清單,好比該學哪些,該操練哪些。
人無遠慮必有近憂,目標雖然能夠是虛無縹緲的,但沒目標,必定是一事無成。
2 不只得了解架構組件的實現和配置方式,還得了解該組件的部署和配置方式,並且出了問題還得知道如何調試和排查問題。就拿kafka組件舉例,不能僅僅瞭解怎麼用,並且還能編寫部署集羣的腳本,一旦出了問題,還得知道經過日誌甚至debug底層代碼排查問題。
3 在第2點的要求,儘量多地掌握高併發場景下的技術點,好比數據庫分庫分表,消息緩存等。
4 目前很多系統是部署在Linux上的,因此Linux技能也是必備項,不只會經過linux命令部署應用,並且還得編寫部署腳本,最好還能在Linux配置各種集羣。
如上是技術方面的需求,其實提及來很是簡單,要達到上述要求不容易。下面列些實踐中的經驗。
1 積累上述技能時,得靠踩坑來積累經驗,尤爲是高級開發往架構方面升的階段。這時可能會發現本身欠的債太多,或者工做壓力自己就大,出了問題又很難排查,每每這個時候就得靠咬牙堅持了。(本人目前就處於這個階段)
2 最好進一個大廠,好比BAT或互聯網企業,不是說外企等其它公司就沒法提高本身了,但畢竟互聯網公司提高本身的效率更高。若是發如今當前公司雖然溫馨,但沒法給本身更好的發展前景時,那可能就得爲本身多加考慮了。
這裏也說個笑話,一我的的提高速度和1 踩坑率(踩坑數量除以天數)2 平均加班時間 3 身邊牛人的數量 這三點成正比,哪些公司能同時知足上述三點呢?
3 不斷總結積累,至少把在工做中用到的技能點吃透,好比最近我在用線程,那麼就得把諸如volatile等的細節搞明白。又如,最近我會在linux部署和排查項目,那麼就得不斷掌握linux各類相關的命令。
4 先作學徒再作師傅,剛開始老是不可能有實踐機會,老是會跟在架構師後面打零工,這時就得多琢磨架構師是如何分析和解決問題的。
好比我最近在跟着一些大牛在作數據庫分庫分表,當程序調通後,我沒有就事論事,而是再進一步去了解相關組件的底層細節以及集羣配置方式,因此最近我感受在架構層面,進步很多。
5 同時鍛鍊本身分享,和別人溝通,執行力和時間管理等方面的領導方面的能力。
6 平時不能光埋頭幹,得定時到外面找些活,好比寫書作軟件作培訓等等,這樣掙錢是一方面,另外能見識到更多的人,這樣本身視角就更普遍了。 當本身人脈廣了之後,小到找活,大到換工做,都有幫助。