若是這個世界上有這樣一瓶藥水,喝下後可以立馬回到十年前,回到我剛畢業參加工做那會,我必定會絕不猶豫地喝下去。由於這十年來,我走了太多的彎路,要不也不可能成爲小夥伴們的「人生導師」哈。前端
固然了,在重走職場前,我必定會送本身 8 個錦囊,要不回去了等於白回去,對吧?咱不能把踩過的坑再踩一遍。程序員
努力決定了人生的下限,選擇才決定了人生的上限——十年前,我是不懂這點的,只知道,「蒼天不負有心人,只要肯攀登」;十年後,我明白,攀登以前,得選擇好攀什麼。面試
我是幸運的,隨了一小部分同窗的波,去了蘇州,最後找到了一份自認爲還能夠的工做。但假如讓我從新來選的話,我會選擇更大一點的城市,上海或者北京。算法
去大城市,固然不是奔着高昂的房價去的,沒人會傻到那種程度,去,只有一個目的,就是——機會。人這一生,不會平步青雲,一直走上坡路。但若是走的坡過矮,到了坡頂,很快就下來了。編程
若是坡是陡峭的,儘管衝下來的速度會很快,但坡長是足夠的。這就會應了那句話,「瘦死的駱駝比馬大」。後端
我有一個大學同窗,叫海洋。哥們上學的時候學習就是最勤奮的,和我同樣,去的也是蘇州,只不過如今還在蘇州,已經在那邊買房了,而且年薪很誘人。數組
還有一個大學同窗,叫小龍。哥們 2014 年的時候去了上海,工資直接是蘇州時的 2 倍還要多,發展前景賊好,但 2016 年的時候「衣錦還鄉」似地回了鄭州,結果呢?工資減了一多半不說,累成狗的同時,是一眼望不到頭的「只終年紀不漲薪」。緩存
我已經在洛陽生活了六七年了,過得不算差吧,常常有小夥伴羨慕我,說我生活愜意,過得美滋滋。但說內心話,仍是會後悔回洛陽得太早,沒有去更大的城市拼一把,沒有把本身的能力發揮得淋漓盡致,有點不甘心啊。網絡
有一個由於寫做認識的朋友,和我同樣,出過書,以前在長沙作技術總監,前幾天發信息給我說,「二哥,有機會來杭州啊,我安排,洗腳啥的沒問題。」我就納悶,哥們在長沙混得不差啊,怎麼下這麼大的決心,從新出發了呢?數據結構
要知道,他和我同樣,結了婚,有了孩子,家裏人都反對他去,去了就要在杭州那邊買房,從新開始。但我支持他,能作出這個決定,他就是我心目中的英雄!
人這一生,就怕的就是留有遺憾,他去杭州那邊,薪資直接翻了翻,這是廣闊無垠的天地,以他的能力,可以闖蕩出新的成績,這一點我是深信不疑的。
與其在長沙不溫不火,真不如選擇從新出發,去杭州燃燒一把。
我以前提到過,參加工做的第二年,女友放棄鄭州大學的研究生保送名額,去了上海考同濟大學的建築系研究生。雖然最後遺憾差了幾分沒有考上,但若是從新來選的話,她說,「我仍是會作出一樣的選擇。」
我佩服她的勇氣。同時,若是再給我一次機會的話,我必定會給她提供一個更好的住宿環境,讓她心無旁騖的考研,以她的學習能力,必定能考得上。她留在上海,而我也會選擇去上海打拼。
以咱們兩我的的能力,在上海必定會比在洛陽好,哪怕是在上海混得很差無可奈何最後回洛陽,也會比沒有在上海待過好不少,我是有這方面的蜜汁自信的。
退一萬步說,咱們去蘇州的這些同窗,遠比畢業後留在鄭州的過得好。每次有同窗結婚,你們聚在一塊的時候,留在鄭州的同窗就這樣感慨:「仍是大家這羣去蘇州的明智啊!」
明智啥呀,咱們只是莫名其妙作了一個選擇而已。
以前收到過一個小夥伴的私信,說,「二哥,有個領導離職了,因而領導的領導就臨時決定讓我上,但我自認爲能力還不到,有點猶豫不決,怕作很差,怎麼辦呢?」
還能怎麼辦?上唄!
機會雖然是留給有準備的人,但更是留給那些領導肯器重的人啊。想想,是否是這個道理。假如你的領導不走的話,你有機會出頭?你領導的領導能讓你上?這話雖然粗俗了點,可是真理啊。
體育場上有不少名不見經傳的小將,由於主力受傷,臨時被派上場,而後,而後就爆發出了驚人的潛力,等主力養傷回來後,發現已經沒有了位置。
小將上場前,總不能給教練說,「教練,我沒準備好,你換下一我的上吧!」假如這樣的話,這小將就永遠只能是板凳球員了,一生也沒有出頭之日。
在職場上,也是一樣的道理,領導讓你上就上。假如你在領導眼裏沒有位置的話,也不會讓你上,他必定是發現了你身上其餘同事沒有的優勢。
只有上了,纔有作事的機會,纔有機會肩負起更重要的職責。李誕知道吧?之前就是個幕後編劇,被迫走到了臺前,結果火得一塌糊塗。火的結果,就是廣告無數,賺錢賺到手軟。
有小夥伴擔憂說,萬一作很差,替領導背鍋了,不就竹籃打水一場空了。瞧瞧這前怕虎後怕狼的,領導還怕被你拉下水呢?想啥呢?遇到本身不懂的,多和領導溝通交流反饋就好了。領導不是吃素的,選擇你有他選擇的理由,這一點,咱就不替領導瞎操心了。
我以前也提到過,工做的第二年,就被提拔作了 Team Leader,比公司不少學歷高的同事都晉升得快。我那時候就特別好奇,心想,領導難道是發現了我身上某些優勢,雖然我本身都沒發現?
儘管有些擔心,但最後仍是硬着頭皮上了,給新人培訓啊(話說我仍是個新人呢),研究源碼啊,作代碼校審啊,攻堅技術難點啊,一年多時間下來,發現成長特別特別快,和我一塊來的那些同事再也沒遇上個人腳步。
我 24 歲就回洛陽了,說實話,回頭再看的話,有點過早了。考研的小夥伴可能 24 歲尚未畢業,對吧?
24 歲的年紀,正是打拼職場的青春年華啊。我有兩個好朋友,一個叫慶哥,一個叫小鹿,小夥伴們應該在留言區常常看到他們的身影。他們倆今年差很少也是 24 歲的年紀,慶哥去了杭州,小鹿去了北京。你瞧,我和他們之間是多麼大的反差。
回三線城市洛陽是有好處的,好比說房價低(不以爲),消費標準低(不以爲),生活節奏慢(不以爲)。但弊端更多,好比說工做機會少,你看我就不多提在洛陽的職場,由於乏善可陳,真的是。
做爲程序員的咱們,應該很清楚,互聯網是聯通世界各地的,咱們村的大爺大媽們都會抖音直播。可是,互聯網是有地域差異的,咱們村就沒有軟件開發的工做。
小鹿以前說,他找工做時投了幾十份簡歷。我回洛陽那會,就沒有投幾十份簡歷的機會,大概投了四五份吧,就以爲(能夠去掉)沒公司可投了。
有很多小夥伴問過我,「二哥,洛陽有沒有好的工做機會啊,想回去,在外面漂時間久了,累。」說實話,在洛陽,作 C++ 的,有一家公司待遇還不錯,我能夠內推,但作 Java 的好公司寥寥無幾。
我在洛陽過得不錯,是有緣由的。第一,我技術還過得去,也肯學習,肯輸入,沒有掉隊;第二,我會寫做,有必定的影響力,和大廠程序員有交流切磋的機會。小夥伴們能夠羨慕個人生活,但也要看到我背後付出的努力(我四點多就起來寫這篇文章了)。
我 2019 年的時候出版過一本黃皮書,名叫《Web 全棧開發進階之路》,這本書的稿子早在 2016 年就動筆寫了,只不過出版的進度比較慢。說實話,我如今不太喜歡提這件事。由於「全棧」就意味着什麼技術都會,但又什麼都不精通。
想一想是這個道理。爲何說大廠的程序員都是一顆螺絲釘,只須要負責本身擅長的就夠了?由於不須要面面俱到啊,大廠講究的是團隊的配合,前端幹前端的事,後端幹後端的事,先後端又能夠細分出不少領域,每一個人只須要把本身手上的活幹好,幹明白就完事了。
小公司沒有那麼多人力,因此一個開發要肩負起不少的職責。每每一個項目的開發,從需求溝通,到產品設計,到代碼研發,到測試,到運維,到後期維護,基本上是一肩挑。
人的時間和精力是有限的,幹得多了,就沒辦法深刻研究一個領域,作到專家的程度。與此同時,不可替代性就下降了。
關注我比較久的小夥伴應該能夠看獲得,我這一年多時間裏,一直在 Java 的領域深耕,研究得越深,就愈加現,可寫的內容愈來愈多;甚至有些話題,每研究一次,就能發現一些新的技術細節。
我第一次閱讀 HashMap 的源碼時,瞭解到 HashMap 難的不是 Map 而是 Hash;第二次閱讀的時候,瞭解到 HashMap 是經過拉鍊法解決的哈希衝突;第三次閱讀的時候,瞭解到 HashMap 裏不僅有數組和鏈表,還有紅黑樹;第四次閱讀的時候,瞭解到紅黑樹能夠提升鏈表的查詢效率。
縱深,實際上是戰略上的一個用詞,指的是軍隊做戰地域縱向的深度。深度的量決定了防護體系的堅固程度和攻擊體系的出擊強度,是近代戰爭立體化的體現。這個詞,也能夠用到職場上,那就是咱們不要一味追求技術的覆蓋面,更應該注重技術的縱深度。
尤爲是進入職場的前五六年,必定要縱得深一點,這樣才能安身立命。等到這個技術壁壘創建了之後,隨着工做經驗的累計,就能夠在廣度上花一些功夫了,由於技術是要更新迭代的。
JavaGuide, 應該有很多小夥伴認識,他早在大三的時候就維護一個叫「JavaGuide」的開源項目,截止到目前,這個項目在 GitHub 上的 star 數已經超過 88k 了,排名很是靠前。這個項目還衍生出了一分內容很是棒的 PDF,名叫《JavaGuide 面試突擊》,我前先後後看了兩遍,真的是感慨良多:要出名,趁早啊!
像 Guide 哥這樣,不只創建了影響力,還真真正正地幫助了他人,本身優秀的同時帶着他人一塊優秀,纔是真正的優秀啊。
按照往年這個時候,金九銀十,正是找工做的黃金檔期,爲了小夥伴們着想,我把這份 PDF 的下載地址放到了百度網盤,小夥伴們順帶下載一波,我也趁這個機會幫 Guide 哥宣傳一波。
連接: https://pan.baidu.com/s/1S_qZ... 密碼:369n
我在蘇州的時候,是在一家日企,但不會日語,吃了很大的虧。第一次去日本出差的機會就是由於這個泡湯的,提及來後悔死了。
當時護照都辦好了,特地從蘇州跑回戶口所在地洛寧辦的。結果領導臨時決定,讓另一個同事替我去,由於同事的日語比我好一些。
小夥伴們可能有所不知,在日企,去日本出差但是一項美差——不光這邊的工資照發,那邊還有至關高額的補貼,基本上去一趟,一年的獎金就賺回來了。
我在技術上是無法挑剔的,這個領導內心一清二楚,畢竟項目的核心代碼都是我帶着團隊寫的。可我那時候就是討厭學日語,提不起半點學日語的興趣。
因爲每一個項目組都會配備一名專職的翻譯小姐姐,因此遇到看不懂的文檔我都會找她們翻譯,何況平常工做中還有一款很是強大的翻譯軟件——靈格斯詞典。日語中有很多漢字,只要掌握一些語法,結合着翻譯詞典,基本上的意思都能看得大差不差。
因而呢,每週的日語課我也不怎麼花心思。上課的老師都是日常工做時候的翻譯小姐姐,關係很熟,每當我被提問的時候,我都會窮盡心思用蹩腳的日語造個句子調戲一下小姐姐。
後來從日企離職了,確實用不着日語了,但偶爾看一些動漫的時候仍是會後悔,要是懂日語的話,就知道他們究竟在說些什麼,不用再翻譯成中文了。
日語很差,問題還不算太大。但若是英語很差的話,對於程序員來講,就是個巨大的劣勢。由於技術上的一手資料,大多數時候來自於外文網站。
若是你想在程序員這條路上走到黑的話,抓緊時間把英語能力提上去。
不害臊地說,我就吃了不少基礎知識薄弱的虧,以致於最近一段時間,不得不瘋狂地補。《一文了解 8 種數據結構》這篇文章我寫了差很少 3 天時間,寫完後真的感受本身在這方面進步很大。
計算機基礎知識包括:算法和數據結構、計算機操做系統、計算機網絡、計算機組成原理等等。這些基礎知識,就像咱們的內功,若是在將來想要走的更遠,這些內功是必需要修煉的。
技術是層出不窮的,框架是變幻無窮的,但那些通用的底層知識是亙古不變的,掌握了這些基礎知識,不只能夠幫助咱們更快地學習一門新的語言,還能讓咱們在性能方面作出更好的優化。
算法的思惟導圖以下所示:
數據結構的思惟導圖以下所示:
計算機操做系統的思惟導圖以下所示:
計算機網絡的思惟導圖以下所示:
計算機組成原理的思惟導圖以下所示:
有些小夥伴可能還在上大學,以爲學校的計算機專業課程比較落後,比較枯燥,但這些基礎課程仍是要好好學的。也許上學的時候感受不到有多大的用處,但實際開發工做中,基礎知識的紮實程度決定了一名程序員的上限。
不少大點的互聯網公司不管校招仍是社招,就喜歡考察這些基礎知識。此外,不少平時開發中用到的技術都會涉及到這些基礎知識,好比說爲了提升查詢性能須要使用的緩存技術。
我把這些思惟導圖以及計算機基礎知識方面的資料整理到了下面這個下載地址裏:
連接: https://pan.baidu.com/s/1easO... 密碼:ombj
提起程序員,總免不了和一些段子關聯上,好比說「要變強,必變禿」,再好比說:
零基礎學編程→某編程語言入門→某編程語言進階→技術專家→頸椎病
這些段子聽上去是否是莫名有一股心酸,對於大多數程序員來講,生活沒有那麼多詩和遠方,只有加不完的班,寫不完的需求和改不完的 bug。
這篇文章,寫了差很少七八個小時,寫最後這段時真的快撐不住了,背部和頸椎這塊,特別疼。
小夥伴們日常也要抽時間鍛鍊會,真的,我們不像人家張朝陽了,張康陽了,天天只須要睡四個小時就足夠了,我以爲他們(可能)不是人。
古人有句話說得好,「身體髮膚,受之父母,不敢損傷,孝之始也。」咱們的身體不只僅是本身的,仍是父母和愛你的人的,因此若是可以回到十年前,我那時候就開始鍛鍊,決不懈怠。
我是沉默王二,一枚沉默但有趣的程序員,關注便可提高學習效率。喜歡這篇文章的,請不要忘記四聯啊,點贊、收藏、轉發、留言,你最美你最帥!