大學(xué)畢業(yè)要寫多少行代碼,才能不用花錢培訓(xùn)就找到一份開發(fā)工作?
大學(xué)畢業(yè)要寫多少行代碼,才能不用花錢培訓(xùn)就找到一份開發(fā)工作?
作者:小傅哥
博客:https://bugstack.cn
沉淀、分享、成長,讓自己和他人都能有所收獲!
一、前言
20萬行代碼寫完,畢業(yè)了找一份工作不是問題!
剛一畢業(yè)因?yàn)檎也坏焦ぷ?,就得?bào)名去參加Java培訓(xùn)的大有人在。并不是說參加培訓(xùn)就不好,只不過以你現(xiàn)在這個(gè)畢業(yè)的時(shí)間點(diǎn)參加,就會(huì)顯得特別匆忙。因?yàn)槟愕膲毫葋碜杂谂嘤?xùn)還需要花家里一筆不小的費(fèi)用,也有同班同學(xué)已經(jīng)找到一份不錯(cuò)的工作開始賺錢的比對。
大學(xué)四年其實(shí)有足夠的時(shí)間讓你學(xué)會(huì)編程,也能從一個(gè)較長時(shí)間的學(xué)習(xí)中,知道自己適合不適合做程序員。就像我的同學(xué)里雖然都是計(jì)算機(jī)或者軟件工程專業(yè),但畢業(yè)后并沒有都從事軟件開發(fā)工作,或者從事了一段時(shí)間發(fā)現(xiàn)并不適合這個(gè)行業(yè)而選擇到其他領(lǐng)域發(fā)展。
所以如果你是真的喜歡編程,那么在這個(gè)行業(yè)里工作你會(huì)很開心,如果不是那么往后路還長,你所要面對的晉升、加薪、跳槽都可能成為一道道障礙。目前可能你還是新人不了解自己是否喜歡編程開發(fā),那么可以在以后的學(xué)習(xí)中體會(huì),自己是否愿意為一個(gè)運(yùn)行結(jié)果調(diào)來調(diào)去,輾轉(zhuǎn)不寐的研究分析,只為最后那一個(gè)運(yùn)行通過而激動(dòng)!
當(dāng)你可以在激動(dòng)和開心中寫完20萬行代碼,對于畢業(yè)后的求職找工作來說幾乎可以叫你一聲面霸,也可能你在實(shí)習(xí)時(shí)就被公司直接留下,這是個(gè)人才組織需要你!
20萬行代碼看上去很多,但放在4年的大學(xué)學(xué)習(xí)中并不會(huì)有多難。平均每天200行,一個(gè)月是6000行,一年算10個(gè)月是6萬行,三年就有18萬行。這20萬行代碼會(huì)把你從一個(gè)編程小白,帶入到熟練使用Java相關(guān)API,也能給你帶入到初級工程師的水平。
初學(xué)編程你可能想把一句代碼完整敲下來都不容易,就更不用說運(yùn)行出結(jié)果了。因此此時(shí)你的大腦和手還并不能迅速理解你眼睛里看到的這一行行代碼都是啥,要干啥。這就像新買回來的鋼琴手指頭上去摸肯定是生硬的,敲出的聲音也不連貫。這個(gè)階段只能是照著例子大量的寫,度過一個(gè)熟練期才能更好的學(xué)習(xí)。
為了可以讓更多的小伙伴理解這件事,我會(huì)從我的在校、培訓(xùn)、外包、跳槽、階段成長以及找什么樣的工作分享給大家作為參考,最后再把我整理出資料一并分享給大家。
二、經(jīng)歷
12年10月25日,在CSDN發(fā)的一個(gè)帖子 拿到兩個(gè)offer,一個(gè)7k,一個(gè)轉(zhuǎn)正稅后4.5k。求意見! 距離現(xiàn)在它已經(jīng)過去好久了,當(dāng)時(shí)也是因?yàn)槟玫搅藘煞輔ffer的選擇糾結(jié),所以發(fā)了個(gè)帖子求問。好氣的是當(dāng)時(shí)竟然不知道去面試面試互聯(lián)網(wǎng)公司,信息太閉塞了,而且培訓(xùn)的地方并沒有說過互聯(lián)網(wǎng)一些公司的信息。
講一講我這7k的經(jīng)歷;
- 12年07月,校企合作來北京昌平一個(gè)小縣城的地方參加中軟培訓(xùn)
- 12年10月,培訓(xùn)接近尾聲,開始找工作,月薪7k的中軟就是最后的選擇的地方,放棄了在北航院內(nèi)的國家科技
- 12年12月,雖然拿到中軟Offer但遲遲不讓入職,電話聯(lián)系了很多次我說可以先去實(shí)習(xí),但都說等通知。沒辦法,在北京也不可能就硬待著,回家的話也麻煩行李、住宿都得折騰,所以又面了一家中科軟進(jìn)去實(shí)習(xí)了三個(gè)月,賺點(diǎn)錢養(yǎng)活自己
- 13年03月,中軟的通知終于來了,但竟然是參加崗前培訓(xùn),又被培訓(xùn)了一次,當(dāng)時(shí)特別討厭培訓(xùn),每次都是講Java基礎(chǔ),差點(diǎn)生氣懟老師
- 13年09月,在中軟正式轉(zhuǎn)正,也就是說培訓(xùn)完又是實(shí)習(xí),7月份畢業(yè)后9月份才入職為正式員工,心里有點(diǎn)不爽,埋下了一個(gè)后續(xù)跳槽的種子。哪有實(shí)習(xí)這么久的!
- 15年04月,第一次有跳槽準(zhǔn)備,畢竟寫了兩年的C#寫夠了,面試了第一家互聯(lián)網(wǎng)公司,樂視致新,不過后來沒去,被公司留了下來
- 15年08月,之前談的留下來漲薪,但最后少漲了1千塊錢。所以繼續(xù)面試,還算順利面了兩家,最后在8月25日跳槽進(jìn)互聯(lián)網(wǎng)完成。
以上整個(gè)過程就是我從學(xué)校到實(shí)習(xí)到找工作以及最后跳槽的一個(gè)階段性經(jīng)歷,也有過在這條路上跌跌撞撞。就像;
- 雖然我面到了中軟管培生,但錯(cuò)失沒選擇要北京戶口,而是要了400塊房補(bǔ)
- 在中軟9月份從實(shí)習(xí)轉(zhuǎn)正式員工,錯(cuò)過了第二年的入職滿一年才漲薪的條件(但我覺得這個(gè)有點(diǎn)故意坑了)
- 明明是學(xué)了那么多Java,但卻寫了兩年C#,大家還是要選擇自己喜歡的語言進(jìn)行工作,否則會(huì)很麻煩
- 提了離職,基本就不要想著再留下來,無論什么條件。哪怕錢和職位滿足了,心里也有隔閡以及個(gè)人對沒經(jīng)歷過事情的一個(gè)期許
- 從傳統(tǒng)外包跳槽的互聯(lián)網(wǎng),并不那么容易,技術(shù)使用的不同、開發(fā)場景的不同、組織關(guān)系的不同,一切都可能是從一個(gè)較低的位置重新開始。你需要自身技術(shù)不錯(cuò),也需要一個(gè)好人帶
- 但當(dāng)時(shí)在的傳統(tǒng)也有不錯(cuò)的點(diǎn),比如可以5:30下班,帶我的經(jīng)理人很不錯(cuò),公司也不那么累,有時(shí)候還可以出差溜達(dá)溜達(dá)。
三、學(xué)習(xí)
一個(gè)大學(xué)生會(huì)經(jīng)歷在校、實(shí)習(xí)、就業(yè)幾個(gè)階段,其中在校學(xué)習(xí)屬于蓄力階段,要學(xué)習(xí)很多知識才能支撐起來將來的實(shí)習(xí)和平穩(wěn)就業(yè)。
蓄力階段的學(xué)習(xí),主要是對編程技術(shù)的基礎(chǔ)的夯實(shí),以及多學(xué)習(xí)與數(shù)學(xué)相關(guān)的內(nèi)容,比如;數(shù)據(jù)結(jié)構(gòu)、算法邏輯,這些知識對將來在技術(shù)上的提升和造詣都是非常好的基石。下面就是整個(gè)大學(xué)過程中在編程學(xué)習(xí)過程中需要經(jīng)歷的階段,如圖;
- 熟悉工具:初學(xué)編程后你大概會(huì)接觸到一系列的研發(fā)工具,包括IDEA、Eclipse、Navicat、Maven、Git、Tortoise、SourceTree、Visio、Xmind等等,工具的熟練會(huì)讓編程更流暢。
- 編寫代碼:此時(shí)你需要大量寫代碼,寫很多的代碼,因?yàn)槟銕缀蹙褪切枰繉懘a把整個(gè)所學(xué)的編程語言熟練使用起來??偛荒苁稚綄懲?public,寫不出來 class,這跟我不會(huì)彈鋼琴一樣,敲完了1,后面不知道要在哪找下一個(gè)音符?了。
- 功能開發(fā):小的功能開發(fā)是綜合鍛煉技術(shù)使用的階段,比如做一個(gè)計(jì)算器、求一個(gè)水仙數(shù)、從一篇html中摘取你要的信息等等。此段經(jīng)歷會(huì)解決你之前感覺學(xué)完技術(shù)沒出用的痛苦,現(xiàn)在你可以想象出各種場景問題,之后用代碼去處理。還可以幫助英語系的小師妹,把她需要背的單詞從網(wǎng)站中爬取下來,匯總出各類熱詞、語句、摘要等
- 項(xiàng)目開發(fā):小功能練手后,接下來你就可以做做項(xiàng)目了。比如你常聽到的圖書管理系統(tǒng)、教師教學(xué)管理系統(tǒng)等等。如果覺得沒有意思,你可以從哪里獲取項(xiàng)目呢?從你用到的各類APP中,把這里用的功能簡化,之后做一些項(xiàng)目開發(fā)。比如一個(gè)簡單的商城、抽獎(jiǎng)、全物流單號查詢。另外你還可以在git中查找一些項(xiàng)目,去參考學(xué)習(xí)并自己動(dòng)手實(shí)踐。
- 數(shù)據(jù)結(jié)構(gòu):可能初學(xué)編程并不會(huì)對數(shù)據(jù)結(jié)構(gòu)有多少思考,也想象不到這類內(nèi)容是用在哪的。但其實(shí)這類技術(shù)內(nèi)容早已被你天天使用,例如:LinkedList、ArrayList、HashMap,這里就包括了數(shù)組、鏈表、棧、隊(duì)列、散列表、樹、堆等各項(xiàng)數(shù)據(jù)結(jié)構(gòu),當(dāng)你將來要開發(fā)一些較大型的互聯(lián)網(wǎng)應(yīng)用程序時(shí),你所有的邏輯設(shè)計(jì)都會(huì)考慮到數(shù)據(jù)要如何存放,數(shù)據(jù)結(jié)構(gòu)如何設(shè)計(jì)才能更合理的被程序使用。
- 算法邏輯:學(xué)完數(shù)據(jù)結(jié)構(gòu)接下來要做的就是對算法邏輯的學(xué)習(xí),這里不僅僅是簡單的刷題,而是在數(shù)據(jù)結(jié)構(gòu)的上使用算法將數(shù)據(jù)更合理的存放和讀取以及做相應(yīng)的操作。就像你能逐步了解的;排序、二分、旋轉(zhuǎn)、洗牌等等,以及將來還會(huì)在閱讀JDK源碼中會(huì)看到,擾動(dòng)函數(shù)、負(fù)載因子、拉鏈尋址、開放尋址、哈希散列、除法散列法、平方散列法、斐波那契(Fibonacci)散列法等等。
- 設(shè)計(jì)模式:當(dāng)你開發(fā)了很多很多程序代碼以后,你會(huì)逐步的思考怎么才能讓這些代碼有可復(fù)用性呢,怎么寫才能讓更多人讀懂呢、怎么實(shí)現(xiàn)才能讓再接需求時(shí)能更快的承接呢。這些都會(huì)隨著你開始實(shí)習(xí)真正接觸到公司級的代碼開始逐步的感受到的,寫代碼不是一錘子買賣,也不是炫耀技術(shù),當(dāng)你有更寬的視野范圍時(shí),就會(huì)思考的更多。這里推薦閱讀《重學(xué)Java設(shè)計(jì)模式》 這是一本基于互聯(lián)網(wǎng)真實(shí)案例編寫的Java設(shè)計(jì)模式實(shí)踐圖書。全書以解決方案為核心,從實(shí)際開發(fā)業(yè)務(wù)中抽離出交易、營銷、規(guī)則引擎、中間件、框架源碼等22個(gè)真實(shí)場景,對設(shè)計(jì)模式進(jìn)行全面、徹底的分析。幫助讀者靈活地使用各種設(shè)計(jì)模式,從容應(yīng)對復(fù)雜變化的業(yè)務(wù)需求,編寫出易維護(hù)、可擴(kuò)展的代碼結(jié)構(gòu)。
以我個(gè)人經(jīng)歷和經(jīng)驗(yàn)來看,想搞定這些學(xué)習(xí)范圍和內(nèi)容,最大的動(dòng)力是來自于對編程的熱愛和折騰。就像我這樣做過很多土項(xiàng)目,如下;
- 串口通信、在線考試、考試抽題、彩禮管理、成績管理、即時(shí)聊天、計(jì)算器還有后來折騰過的仿微信聊天,這些項(xiàng)目都可以不斷的夯實(shí)個(gè)人的技術(shù)能力,每一次做新的一個(gè)項(xiàng)目都會(huì)把之前所遇到的問題,又考慮新的實(shí)現(xiàn)方式再折騰一遍。
- 編程的學(xué)習(xí)中重要的并不是結(jié)果,而是在這個(gè)過程中經(jīng)歷了什么。哪怕是犯了很多的錯(cuò)也沒關(guān)系,因?yàn)槊恳淮畏稿e(cuò)都是學(xué)習(xí)的機(jī)會(huì),都可以找到更多的資料,每一個(gè)資料里又可能教會(huì)你其他的知識。
四、就業(yè)
不只是我,可能很多在上學(xué)階段并不知道都是做Java開發(fā),就業(yè)的企業(yè)也分為傳統(tǒng)行業(yè)、國企、半國企、外包、外企、互聯(lián)網(wǎng)等這么多類型,尤其是我這樣在13年畢業(yè)的時(shí)候,既沒有所謂的就業(yè)指導(dǎo),也沒有有經(jīng)驗(yàn)的朋友了解,就只能跟著大家走。好在現(xiàn)在大家可以在互聯(lián)網(wǎng)中獲取到這些信息,也就能早早的幫助畢業(yè)同學(xué)進(jìn)行擇業(yè)。
1. 傳統(tǒng)行業(yè)
- 難度:??
- 公司:金蝶、用友
- 發(fā)展:在傳統(tǒng)行業(yè)方面有較強(qiáng)的技術(shù)積累和產(chǎn)品沉淀,一般其他公司也都有傳統(tǒng)行業(yè)研發(fā)的產(chǎn)品。另外現(xiàn)在的傳統(tǒng)行業(yè)逐步包括了互聯(lián)網(wǎng)的領(lǐng)域開發(fā)以及技術(shù)使用,只不過會(huì)比純互聯(lián)網(wǎng)少一些高并發(fā)場景,因?yàn)榇蟛糠诌@類軟件面對的并不是C端人群。所以個(gè)人進(jìn)入此類公司會(huì)相對比較穩(wěn)定,但如果后期想再跳槽比較麻煩,會(huì)出現(xiàn)技術(shù)斷層。
2. 國企&半國企
- 難度:???
- 公司:聯(lián)想、京東方、中軟國際、國家電網(wǎng)
- 發(fā)展:早前應(yīng)屆生入職國企或者半國企一般會(huì)有解決北京戶口,但現(xiàn)在可能名額不斷的減少了。像中軟有一部分自己做的東西,也有一部分是承接外包的內(nèi)容。此類公司做的工作內(nèi)容可能比較單一,有時(shí)候一個(gè)項(xiàng)目會(huì)用很多年,但同時(shí)可能不會(huì)太忙,有一些自己的時(shí)間,并且像聯(lián)想、國家電網(wǎng)福利待遇也都不錯(cuò)。
3. 外包
- 難度:???
- 公司:對日外包、企業(yè)外包
- 發(fā)展:像是在大連會(huì)有一些專門的對日外包企業(yè),還可能需要長期在日本出差。我的兩個(gè)同學(xué)上學(xué)時(shí)候日語都學(xué)的不錯(cuò),現(xiàn)在一直在日本工作,就他們來說挺習(xí)慣在外面的生活了。還有一部分外包是企業(yè)外包,比如你入職一個(gè)外包公司,可能會(huì)把你這個(gè)人外派給華為、騰訊、阿里等公司,開發(fā)他們外包出來的工作,此類工作一般相對來說短期、非核心。但干的好的也有轉(zhuǎn)正機(jī)會(huì),直接入職大廠,不過比較難。而且外包到企業(yè)里的人員,沒有正式員工的待遇
4. 外企
- 難度:????
- 公司:亞馬遜、谷歌、微軟
- 發(fā)展:外企工作還是挺香的,相對來說沒有那么強(qiáng)的加班,福利待遇也比較不錯(cuò)。例如像這類的公司會(huì)明確寫上不加班,以及各種假期和旅游。但可能是近幾年被國內(nèi)互聯(lián)網(wǎng)擠壓的,也有一些在國內(nèi)的外企有裁員的動(dòng)作。
5. 互聯(lián)網(wǎng)
- 難度:?????
- 公司:百度、阿里、騰訊、字節(jié)、京東、美團(tuán)、滴滴等等
- 發(fā)展:這類公司在北上廣就多了去了,雖然多但面試難度仍然不低,尤其是現(xiàn)在內(nèi)卷的情況下,需要你會(huì)很多知識以及數(shù)據(jù)結(jié)構(gòu)或者刷算法,才可能找到一份不錯(cuò)的工作。此類的公司的薪資待遇不錯(cuò),每年都水漲船高,可能一個(gè)剛畢業(yè)的重點(diǎn)大學(xué),大學(xué)生,入職的薪資就要倒掛各類老員工了。除了有少許的內(nèi)卷,其他的還是挺不錯(cuò)的。
6. 出國
- 難度:?????
- 公司:加拿大的 shopee、美國的臉書、谷歌、蘋果等等
- 發(fā)展:如果喜歡國外的生活,又有出去的本事,那也是一個(gè)非常好的選擇。像小傅哥熟悉的一個(gè)北大的伙伴,入職到了加拿大的 shopee,收入以及整個(gè)生活節(jié)奏對他來說還是非常滿意的。
以上就是各類公司的一個(gè)簡單介紹,每一個(gè)人就業(yè)時(shí)都會(huì)有自己的選擇,比如想安穩(wěn)些、想要戶口、想要高工資、想不那么加班等等,只要你能對自己的選擇負(fù)責(zé),合理規(guī)劃好自己的職業(yè)發(fā)展,那么就可以了。
五、資料
如果你已經(jīng)跨過了初級階段,需要做一些實(shí)踐型的項(xiàng)目,可以關(guān)注下我的Git,如下:
- 內(nèi)容:本代碼庫是作者小傅哥多年從事一線互聯(lián)網(wǎng)Java開發(fā)的學(xué)習(xí)歷程技術(shù)匯總,旨在為大家提供一個(gè)清晰詳細(xì)的學(xué)習(xí)教程,側(cè)重點(diǎn)更傾向編寫Java核心內(nèi)容。這部分資料也是我所寫博客中實(shí)踐項(xiàng)目的源碼,在這里你可以學(xué)到Netty、字節(jié)碼編程、設(shè)計(jì)模式、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、規(guī)則引擎、面試、架構(gòu)以及職場經(jīng)歷的分享。
六、總結(jié)
- 如果一個(gè)大學(xué)生不怎么關(guān)注技術(shù)博客,也不知道有哪些技術(shù)博客,那么大概率你基本不會(huì)了解到你要學(xué)什么技術(shù),也沒有渠道可以讓你拓展自己的知識面。并且尤其是在現(xiàn)在的軟件基于人群喜好推薦下,你知道的越少的東西,就越少知道這個(gè)東西。所以主動(dòng)有意識的學(xué)習(xí),幾乎是你個(gè)人成長最快的方式。
- 做一件事,就把一件事做好!認(rèn)認(rèn)真真的長期堅(jiān)持下來,你會(huì)在所走的路上收獲很多,千萬不要急于求成,否則你能獲得的只是微乎其微。當(dāng)你有一天真的要拿手里的這幾張牌,出去闖蕩的時(shí)候,會(huì)被人家炸哭。
- 另外在大學(xué)里進(jìn)來不要去做一些不會(huì)給自身帶來長久價(jià)值的兼職工作,如果你真的缺那份錢另說,否則盡可能把這些時(shí)間用在你將來要找的工作所需的知識學(xué)習(xí)上。時(shí)間不多,做有價(jià)值的事更有益?zhèn)€人成長。
- 酒香不怕巷子深,放在現(xiàn)在是幾乎就是不可能的。因?yàn)榫撇辉谑悄阋患揖屏?,誰能曝光的更多,宣傳的更足,展示的更好,誰就更有機(jī)會(huì)可能成為佼佼者。否則站在臺上那個(gè)不一定比你強(qiáng)的人,卻可能比你過的更好。