我聽到的一些發聲
你們賺的錢已經可以了:
我一個發小是做土木工程的,上海大學博士,參與很多著名建筑的工程,但是從薪資上看,還不如一些稍微像樣的公司的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的學習資料,針對上面一套系統大綱小編也有對應的相關進階架構視頻資料
最后總結
搞定算法,面試字節再不怕,有需要文章中分享的這些二叉樹、鏈表、字符串、棧和隊列等等各大面試高頻知識點及解析,以及算法刷題LeetCode中文版的小伙伴們可以點贊后點擊這里即可免費獲取!
最后再分享一份終極手撕架構的大禮包(學習筆記):分布式+微服務+開源框架+性能優化
J1cmN1R2dB)**
最后再分享一份終極手撕架構的大禮包(學習筆記):分布式+微服務+開源框架+性能優化
[外鏈圖片轉存中…(img-ZVn4nGmM-1624514761205)]