畢業前寫了20萬行代碼,讓我從成爲同窗眼裏的麪霸!

做者:小傅哥
博客:https://bugstack.cnhtml

沉澱、分享、成長,讓本身和他人都能有所收穫!😄

1、前言

20萬行代碼寫完,畢業了找一份工做不是問題!git

剛一畢業由於找不到工做,就得報名去參加Java培訓的大有人在。並非說參加培訓就很差,只不過以你如今這個畢業的時間點參加,就會顯得特別匆忙。由於你的壓力既來自於培訓還須要花家裏一筆不小的費用,也有同班同窗已經找到一份不錯的工做開始賺錢的比對。程序員

大學四年其實有足夠的時間讓你學會編程,也能從一個較長時間的學習中,知道本身適合不適合作程序員。就像個人同窗裏雖然都是計算機或者軟件工程專業,但畢業後並無都從事軟件開發工做,或者從事了一段時間發現並不適合這個行業而選擇到其餘領域發展。github

因此若是你是真的喜歡編程,那麼在這個行業裏工做你會很開心,若是不是那麼日後路還長,你所要面對的晉升加薪跳槽均可能成爲一道道障礙。目前可能你仍是新人不瞭解本身是否喜歡編程開發,那麼能夠在之後的學習中體會,本身是否願意爲一個運行結果調來調去,展轉不寐的研究分析,只爲最後那一個運行經過而激動!面試

當你能夠在激動和開心中寫完20萬行代碼,對於畢業後的求職找工做來講幾乎能夠叫你一聲麪霸,也可能你在實習時就被公司直接留下,這是我的才組織須要你! 算法

20萬行代碼看上去不少,但放在4年的大學學習中並不會有多難。平均天天200行,一個月是6000行,一年算10個月是6萬行,三年就有18萬行。這20萬行代碼會把你從一個編程小白,帶入到熟練使用Java相關API,也能給你帶入到初級工程師的水平。編程

初學編程你可能想把一句代碼完整敲下來都不容易,就更不用說運行出結果了。所以此時你的大腦和手還並不能迅速理解你眼睛裏看到的這一行行代碼都是啥,要幹啥。這就像新買回來的鋼琴手指頭上去摸確定是生硬的,敲出的聲音也不連貫。這個階段只能是照着例子大量的寫,度過一個熟練期才能更好的學習。設計模式

爲了可讓更多的小夥伴理解這件事,我會從個人在校培訓外包跳槽階段成長以及找什麼樣的工做分享給你們做爲參考,最後再把我整理出資料一併分享給你們。數組

2、經歷

12年10月25日,在CSDN發的一個帖子 拿到兩個offer,一個7k,一個轉正稅後4.5k。求意見! 距離如今它已通過去很久了,當時也是由於拿到了兩份offer的選擇糾結,因此發了個帖子求問。好氣的是當時居然不知道去面試面試互聯網公司,信息太閉塞了,並且培訓的地方並無說過互聯網一些公司的信息。微信

講一講我這7k的經歷;

  1. 12年07月,校企合做來北京昌平一個小縣城的地方參加中軟培訓
  2. 12年10月,培訓接近尾聲,開始找工做,月薪7k的中軟就是最後的選擇的地方,放棄了在北航院內的國家科技
  3. 12年12月,雖然拿到中軟Offer但遲遲不讓入職,電話聯繫了不少次我說能夠先去實習,但都說等通知。沒辦法,在北京也不可能就硬待着,回家的話也麻煩行李、住宿都得折騰,因此又面了一家中科軟進去實習了三個月,賺點錢養活本身
  4. 13年03月,中軟的通知終於來了,但居然是參加崗前培訓,又被培訓了一次,當時特別討厭培訓,每次都是講Java基礎,差點生氣懟老師
  5. 13年09月,在中軟正式轉正,也就是說培訓完又是實習,7月份畢業後9月份才入職爲正式員工,內心有點不爽,埋下了一個後續跳槽的種子。哪有實習這麼久的!
  6. 15年04月,第一次有跳槽準備,畢竟寫了兩年的C#寫夠了,面試了第一家互聯網公司,樂視致新,不事後來沒去,被公司留了下來
  7. 15年08月,以前談的留下來漲薪,但最後少漲了1千塊錢。因此繼續面試,還算順利面了兩家,最後在8月25日跳槽進互聯網完成。

以上整個過程就是我從學校實習找工做以及最後跳槽的一個階段性經歷,也有過在這條路上跌跌撞撞。就像;

  • 雖然我面到了中軟管培生,但錯失沒選擇要北京戶口,而是要了400塊房補
  • 在中軟9月份從實習轉正式員工,錯過了第二年的入職滿一年才漲薪的條件(但我以爲這個有點故意坑了)
  • 明明是學了那麼多Java,但卻寫了兩年C#,你們仍是要選擇本身喜歡的語言進行工做,不然會很麻煩
  • 提了離職,基本就不要想着再留下來,不管什麼條件。哪怕錢和職位知足了,內心也有隔閡以及我的對沒經歷過事情的一個期許
  • 從傳統外包跳槽的互聯網,並不那麼容易,技術使用的不一樣、開發場景的不一樣、組織關係的不一樣,一切均可能是從一個較低的位置從新開始。你須要自身技術不錯,也須要一個好人帶
  • 但當時在的傳統也有不錯的點,好比能夠5:30下班,帶個人經理人很不錯,公司也不那麼累,有時候還能夠出差溜達溜達。

3、學習

一個大學生會經歷在校、實習、就業幾個階段,其中在校學習屬於蓄力階段,要學習不少知識才能支撐起來未來的實習和平穩就業。

蓄力階段的學習,主要是對編程技術的基礎的夯實,以及多學習與數學相關的內容,好比;數據結構、算法邏輯,這些知識對未來在技術上的提高和造詣都是很是好的基石。下面就是整個大學過程當中在編程學習過程當中須要經歷的階段,如圖;

  • 熟悉工具:初學編程後你大概會接觸到一系列的研發工具,包括IDEA、Eclipse、Navicat、Maven、Git、Tortoise、SourceTree、Visio、Xmind等等,工具的熟練會讓編程更流暢。
  • 編寫代碼:此時你須要大量寫代碼,寫不少的代碼,由於你幾乎就是須要靠寫代碼把整個所學的編程語言熟練使用起來。總不能手生到寫完 public,寫不出來 class,這跟我不會彈鋼琴同樣,敲完了1,後面不知道要在哪找下一個音符♪了。
  • 功能開發:小的功能開發是綜合鍛鍊技術使用的階段,好比作一個計算器、求一個水仙數、從一篇html中摘取你要的信息等等。此段經歷會解決你以前感受學完技術沒出用的痛苦,如今你能夠想象出各類場景問題,以後用代碼去處理。還能夠幫助英語系的小師妹,把她須要背的單詞從網站中爬取下來,彙總出各種熱詞、語句、摘要等
  • 項目開發:小功能練手後,接下來你就能夠作作項目了。好比你常聽到的圖書管理系統、教師教學管理系統等等。若是以爲沒有意思,你能夠從哪裏獲取項目呢?從你用到的各種APP中,把這裏用的功能簡化,以後作一些項目開發。好比一個簡單的商城、抽獎、全物流單號查詢。另外你還能夠在github中查找一些項目,去參考學習並本身動手實踐。
  • 數據結構:可能初學編程並不會對數據結構有多少思考,也想象不到這類內容是用在哪的。但其實這類技術內容早已被你每天使用,例如:LinkedList、ArrayList、HashMap,這裏就包括了數組鏈表隊列散列表等各項數據結構,當你未來要開發一些較大型的互聯網應用程序時,你全部的邏輯設計都會考慮到數據要如何存放,數據結構如何設計才能更合理的被程序使用。
  • 算法邏輯:學完數據結構接下來要作的就是對算法邏輯的學習,這裏不只僅是簡單的刷題,而是在數據結構的上使用算法將數據更合理的存放和讀取以及作相應的操做。就像你能逐步瞭解的;排序、二分、旋轉、洗牌等等,以及未來還會在閱讀JDK源碼中會看到,擾動函數、負載因子、拉鍊尋址、開放尋址、哈希散列、除法散列法、平方散列法、斐波那契(Fibonacci)散列法等等。
  • 設計模式:當你開發了不少不少程序代碼之後,你會逐步的思考怎麼才能讓這些代碼有可複用性呢,怎麼寫才能讓更多人讀懂呢、怎麼實現才能讓再接需求時能更快的承接呢。這些都會隨着你開始實習真正接觸到公司級的代碼開始逐步的感覺到的,寫代碼不是一錘子買賣,也不是炫耀技術,當你有更寬的視野範圍時,就會思考的更多。這裏推薦閱讀《重學Java設計模式》 這是一本基於互聯網真實案例編寫的Java設計模式實踐圖書。全書以解決方案爲核心,從實際開發業務中抽離出交易、營銷、規則引擎、中間件、框架源碼等22個真實場景,對設計模式進行全面、完全的分析。幫助讀者靈活地使用各類設計模式,從容應對複雜變化的業務需求,編寫出易維護、可擴展的代碼結構。

以我我的經歷和經驗來看,想搞定這些學習範圍和內容,最大的動力是來自於對編程的熱愛和折騰。就像我這樣作過不少土項目,以下;

  • 串口通訊、在線考試、考試抽題、彩禮管理、成績管理、即時聊天、計算器還有後來折騰過的仿微信聊天,這些項目均可以不斷的夯實我的的技術能力,每一次作新的一個項目都會把以前所遇到的問題,又考慮新的實現方式再折騰一遍。
  • 編程的學習中重要的並非結果,而是在這個過程當中經歷了什麼。哪怕是犯了不少的錯也不要緊,由於每一次犯錯都是學習的機會,均可以找到更多的資料,每個資料裏又可能教會你其餘的知識。

4、就業

不僅是我,可能不少在上學階段並不知道都是作Java開發,就業的企業也分爲傳統行業、國企、半國企、外包、外企、互聯網等這麼多類型,尤爲是我這樣在13年畢業的時候,既沒有所謂的就業指導,也沒有有經驗的朋友瞭解,就只能跟着你們走。好在如今你們能夠在互聯網中獲取到這些信息,也就能早早的幫助畢業同窗進行擇業。

1. 傳統行業

  • 難度:⭐⭐
  • 公司:金蝶、用友
  • 發展:在傳統行業方面有較強的技術積累和產品沉澱,通常其餘公司也都有傳統行業研發的產品。另外如今的傳統行業逐步包括了互聯網的領域開發以及技術使用,只不過會比純互聯網少一些高併發場景,由於大部分這類軟件面對的並非C端人羣。因此我的進入此類公司會相對比較穩定,但若是後期想再跳槽比較麻煩,會出現技術斷層。

2. 國企&半國企

  • 難度:⭐⭐⭐
  • 公司:聯想、京東方、中軟國際、國家電網
  • 發展:早前應屆生入職國企或者半國企通常會有解決北京戶口,但如今可能名額不斷的減小了。像中軟有一部分本身作的東西,也有一部分是承接外包的內容。此類公司作的工做內容可能比較單一,有時候一個項目會用不少年,但同時可能不會太忙,有一些本身的時間,而且像聯想、國家電網福利待遇也都不錯。

3. 外包

  • 難度:⭐⭐⭐
  • 公司:對日外包、企業外包
  • 發展:像是在大連會有一些專門的對日外包企業,還可能須要長期在日本出差。個人兩個同窗上學時候日語都學的不錯,如今一直在日本工做,就他們來講挺習慣在外面的生活了。還有一部分外包是企業外包,好比你入職一個外包公司,可能會把你這我的外派給華爲、騰訊、阿里等公司,開發他們外包出來的工做,此類工做通常相對來講短時間、非核心。但乾的好的也有轉正機會,直接入職大廠,不過比較難。並且外包到企業裏的人員,沒有正式員工的待遇

4. 外企

  • 難度:⭐⭐⭐⭐
  • 公司:亞馬遜、谷歌、微軟
  • 發展:外企工做仍是挺香的,相對來講沒有那麼強的加班,福利待遇也比較不錯。例如像這類的公司會明確寫上不加班,以及各類假期和旅遊。但多是近幾年被國內互聯網擠壓的,也有一些在國內的外企有裁人的動做。

5. 互聯網

  • 難度:⭐⭐⭐⭐⭐
  • 公司:百度、阿里、騰訊、字節、京東、美團、滴滴等等
  • 發展:這類公司在北上廣就多了去了,雖然多但面試難度仍然不低,尤爲是如今內卷的狀況下,須要你會不少知識以及數據結構或者刷算法,纔可能找到一份不錯的工做。此類的公司的薪資待遇不錯,每一年都水漲船高,可能一個剛畢業的重點大學,大學生,入職的薪資就要倒掛各種老員工了。除了有少量的內卷,其餘的仍是挺不錯的。

6. 出國

  • 難度:⭐⭐⭐⭐⭐
  • 公司:加拿大的 shopee、美國的臉書、谷歌、蘋果等等
  • 發展:若是喜歡國外的生活,又有出去的本事,那也是一個很是好的選擇。像小傅哥熟悉的一個北大的夥伴,入職到了加拿大的 shopee,收入以及整個生活節奏對他來講仍是很是滿意的。

以上就是各種公司的一個簡單介紹,每個人就業時都會有本身的選擇,好比想安穩些、想要戶口、想要高工資、想不那麼加班等等,只要你能對本身的選擇負責,合理規劃好本身的職業發展,那麼就能夠了。

5、資料

1. 技術內容

其實如今互聯網的文檔、資料、書籍、視頻都已經不少了,但也可能正由於太多了,讓初學編程的人找不到所處階段,大1、大2、大3、大四以及畢業了工做了幾年後,都應該找什麼樣的資料學習。

因此我這裏把各種資料進行整合,按照不一樣階段的學習範圍把資料分到不一樣的文件夾去,方便所處不一樣階段的讀者能夠有一個相對準確的學習範圍。

2. 實戰內容

若是你已經跨過了初級階段,須要作一些實踐型的項目,能夠關注下個人Github,以下:

  • 內容:本代碼庫是做者小傅哥多年從事一線互聯網Java開發的學習歷程技術彙總,旨在爲你們提供一個清晰詳細的學習教程,側重點更傾向編寫Java核心內容。這部分資料也是我所寫博客中實踐項目的源碼,在這裏你能夠學到Netty、字節碼編程、設計模式、領域驅動設計、規則引擎、面試、架構以及職場經歷的分享。
  • 地址https://github.com/fuzhengwei/CodeGuide/wiki

6、總結

  • 若是一個大學生不怎麼關注技術博客,也不知道有哪些技術博客,那麼大機率你基本不會了解到你要學什麼技術,也沒有渠道可讓你拓展本身的知識面。而且尤爲是在如今的軟件基於人羣喜愛推薦下,你知道的越少的東西,就越少知道這個東西。因此主動有意識的學習,幾乎是你我的成長最快的方式。
  • 作一件事,就把一件事作好!認認真真的長期堅持下來,你會在所走的路上收穫不少,千萬不要急於求成,不然你能得到的只是微乎其微。當你有一天真的要拿手裏的這幾張牌,出去闖蕩的時候,會被人家炸哭。
  • 另外在大學裏進來不要去作一些不會給自身帶來長久價值的兼職工做,若是你真的缺那份錢另說,不然儘量把這些時間用在你未來要找的工做所需的知識學習上。時間很少,作有價值的事更有益我的成長。
  • 酒香不怕巷子深,放在如今是幾乎就是不可能的。由於酒不在是你一家酒了,誰能曝光的更多,宣傳的更足,展現的更好,誰就更有機會可能成爲佼佼者。不然站在臺上那個不必定比你強的人,卻可能比你過的更好。

7、系列推薦

相關文章
相關標籤/搜索