我聽到的一些發聲
你們賺的錢已經可以了:
我一個發小是做土木工程的,上海大學博士,參與很多著名建築的工程,但是從薪資上看,還不如一些稍微像樣的公司的6年多的進階開發。為什麼?這就是行業的紅利,個體是享受了這個紅利。是以說我們做IT的,應該感謝馬雲,雷軍等等他們。
某轉管理的程式員:
有時候我也挺迷茫的,到底走技術路線還是管理路線。技術路線吧,又沒有那麼多時間。也許是借口,有時候有時間,但人是有惰性的,就……這個年齡确實需要些管理能力了,畢竟項目不是一個人搞定的。我們在招人時确實對他們有管理能力的考慮,因為你想,一個在小公司做那麼久的技術,一定對周圍的同學有些影響力,然後一般就會帶團隊。
危機的根源
我一直相信這樣一句話:真正的危機,來源于在正确的時間做不正确的事。沒有在正确的時間,為下一步做出積累,這才是危機的根源。
比如,當你邁過了30歲這個坎,你的能力還局限于程式的範圍,也沒有積累好自己的深度以及視野。如果真是這樣,我想我一定會每天夜不能寐,每天唾罵自己,你特麼究竟每天在幹神馬。
我也一直相信這樣一句話,當你把你的眼淚流幹了,你唯一剩下的就隻有行動,隻有行動和努力了。

如果你正在這條成長路上的朋友,晚醒不如早醒,這就是我想說的。千萬别等到中年才發現自己沒有建立好自己的護城河,這個時候才知道努力。在自己努力的階段,不僅不努力反了選擇了縱容自己,這才是危機的根源。
一條正确的人生規劃路線
我就是一個土生土長的程式員,最早做的前段開發(第一代css、js程式員),然後開始轉做後端開發Java,又轉到架構師以及管理,然後再做産品…以下就是我從有限的10年左右提煉出的部分建議。這些也許對你來說不一定有用,但一定是發自我内心的建議。
23-27歲:技術積累階段
假設大學23歲畢業,那麼工作的前5年對你來說就是打基礎的階段。在這5年時間裡面,你要積累足夠的技術底子,打磨自己的技術實力,成為某一個技術細分領域的牛人。
我自己依然記得當年這樣的場景:蹲在出租房裡面每晚每晚的啃技術文檔,在公司連續打地鋪幹通宵的場景。
隻有真正經曆過貧窮,經曆過苦難的人,才會越早就懂得努力才自己這一生唯一的出路和唯一的機會。忘了誰說的了,大概就是這個理。
27-30歲:形成思維方法論和知識體系的階段
當你積累足夠的技術實力,例如超過10萬行代碼以後,你應該形成了自己的思維方法論和自己獨立的學習技巧,任何新的技術在你眼中都能迅速的看到技術的本質,快速吸收成為你的知識體系的一部分。
你隻要前一個階段打的基礎足夠牢固,這個階段你一定會開始蠶食别的領域,這是一定的。逐漸的不再滿足于純技術領域的探索,而是開始探索技術背後的事情:什麼技術在什麼樣的場合能夠發揮最大的價值;技術團隊應該怎樣建構;技術在公司未來的價值?創業公司對技術的需求?支撐技術的産品,怎樣學習做産品?支撐産品背後的營運體系是怎樣建立的?商業社會對技術、産品、營運等的是怎樣的認知,商業社會有什麼的特定規律?也許還有更多…
在這個階段,積累技術對你來說簡直是小菜一碟,你更需要磨練的是思考能力,形成自己的思維方法和知識體系,這将是你幫助你一生的武器。
30-33歲這個階段,最關鍵的是了解自己。知道自己擅長什麼,自己的優勢在哪裡,怎樣才能夠最大化自己的價值,同時也知道自己有什麼重大缺陷。未來是揚長避短還是不斷避免自己的缺陷,這些需要提前想清楚。
如何打破35歲魔咒?
古人雲:生于憂患,死于安樂。
現有崗位上玩命幹。就是要用牛逼的技術搞定别人口中的難題,就是要加班完成時間緊任務重的項目,業界不服不罷休。
跳槽。問下自己要多少錢,那些公司給得了,自己有别人要求的這些技術與管理能力沒。沒有就好好學,有就投履歷吧。
程式員常見發展路徑有兩種:管理路徑、技術路徑,以下
你适合學什麼?2.你需要學什麼?
1、閱讀源碼
閱讀、分析源碼是程式員最基本的碼代碼能力也是碼農的根本所在,學習經典源碼中所用到的經典設計思想及常用設計模式,能夠幫你了解大牛是如何寫代碼的,進而吸收大牛的代碼功力。在阿裡面試中,MyBatis,Spring等架構的底層原理是經常會被問到的
2、分布式架構
阿裡巴巴有很多大團隊,這種大團隊裡有很多小團隊,到小團隊之後,做的業務都不相同,如果想立足成為一線網際網路公司中的萬能選手,最主流的分布式架構中有很多知識都是必須要去了解與學習的。并且在阿裡面試過程中,面試官會問到實際應用場景的問題:比如微服務化、使用者量、并發量、業務複雜度以及可擴充程度等,這裡不多贅述。本屌提供一個分布式架構的學習思路也是自己目前還在學習中的體系:
3、微服務架構
微服務是現在網際網路架構技術中最火熱的話題之一,也是本屌目前正在學習研究的方向。在阿裡面試過程中,面試官很少會問到關于微服務相關的問題。但作為一名開發者,一名有技術夢想的程式員微服務架構是現在必須要去了解的主流技術,小編給自己制定了一個微服務技術的學習計劃:
4、并發程式設計
并發程式設計幾乎是所有網際網路公司面試必問問題,并發程式設計是Java程式員最重要的技能之一,也是最難掌握的一種技能。它要求程式設計者對計算機最底層的運作原理有深刻的了解,同時要求程式設計者邏輯清晰、思維缜密,這樣才能寫出高效、安全、可靠的多線程并發程式。目前網上沒有系統的全面的并發程式設計學習大綱,我搜集了很多資料總結出來一個最全面的學習大綱:
5、性能優化
性能一直是讓程式員比較頭疼的問題。當系統架構變得複雜而龐大之後,性能方面就會下降,特别是阿裡巴巴這樣的一線網際網路公司最為注重,是以想進入阿裡,性能優化一定是要去深入學習與了解的一環,本屌在性能優化這一塊雖然不能算專家,也可以自信的說是精通了
6.設計模式
設計模式(Design pattern)是一套被反複使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人了解、保證代碼可靠性。 毫無疑問,設計模式于己于他人于系統都是多赢的,設計模式使代碼編制真正工程化,設計模式是軟體工程的基石,如同大廈的一塊塊磚石一樣。
作為後端Java過來人,小編是整理了很多進階架構視訊資料、面試文檔以及PDF的學習資料,針對上面一套系統大綱小編也有對應的相關進階架構視訊資料
正逢面試跳槽季,給大家整理了大廠問到的一些面試真題,由于文章長度限制,隻給大家展示了部分題目,更多Java基礎、異常、集合、并發程式設計、JVM、Spring全家桶、MyBatis、Redis、資料庫、中間件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上傳,感興趣的朋友可以看看支援一波!
<b> </b>