一位放棄上大學(xué),毅然決然走上IT人生路的工程師自述
抉擇
接觸編程也不過才兩年。2014年高考結(jié)束,拿到成績(jī)那一刻,我沒有任何感觸,因?yàn)橐磺卸荚谝饬现?差兩分二本,嗯,考不好是在我意料之中,可考這么差卻是我意料之外的。三年來過著按部就班,沒有目標(biāo),沒有奮斗的生活,靠著自己愚蠢的天賦,在高考這場(chǎng)戰(zhàn)爭(zhēng)中盡量讓自己敗得不那么難堪!不可否認(rèn),最后還是很難堪!但這是在別人看來,在我眼中,這次失敗無關(guān)痛癢!畢竟還是了解自己的實(shí)力,可是沒辦法,別人的眼光,別人的思想我也沒法控制!
后來填報(bào)志愿的時(shí)候,很隨便,填了個(gè)??圃盒?,專業(yè)并不感興趣!再后來,得知一位朋友在聯(lián)系學(xué)軟件編程的,我一想,這個(gè)好像是個(gè)不錯(cuò)的選擇,一是我對(duì)電腦程序比較感興趣,二來我覺得自己本身就適合編程,思維靈活,邏輯清晰!所以大學(xué)通知書我都沒看幾眼,寫的什么我也忘記了,毫不猶豫的放棄了上大學(xué)的機(jī)會(huì),開始了編程的學(xué)習(xí)之路。
開始
接觸的第一門編程語言是Java,當(dāng)時(shí)對(duì)編程是毫無概念的,不過在老師的幫助下,開發(fā)工具,開發(fā)環(huán)境都弄好了,然后有基本教材(我想這大概就是老師唯一的作用了)。大概記得寫的第一句代碼:
可能當(dāng)時(shí)連控制臺(tái)是什么都不知道,過了幾天,還是在這控制臺(tái)學(xué)習(xí)!這和我想像的編程太不一樣了,有點(diǎn)失望!后來,學(xué)習(xí)了if,swicth,while,for等流程控制語句,發(fā)現(xiàn)能做的事還是挺多的!過了大概一個(gè)月,Java基本知識(shí)學(xué)了,可能是基礎(chǔ)的緣故,學(xué)起來毫無壓力,但是學(xué)完過后會(huì)些什么呢?好像當(dāng)時(shí)就學(xué)會(huì)了在控制臺(tái)打印倒三角,菱形圖案,做些什么人機(jī)猜拳的游戲之類的!不過好歹也有點(diǎn)點(diǎn)編程基礎(chǔ)了!
接下來又去學(xué)習(xí)同樣是面向?qū)ο蟮恼Z言C#,這個(gè)就稍微帶點(diǎn)勁了!首先,Visual studio這個(gè)工具竟然是中文的,這就方便多了,其次C#學(xué)習(xí)是從窗體開始的,這給人的感覺就比較高大上了!由于在Java學(xué)習(xí)上已經(jīng)了解了基本的數(shù)據(jù)類型,流程控制語句等,C#也類似,所以有些東西學(xué)期來就比較快,主要就學(xué)習(xí)窗體的一些控件的使用,還是非常簡(jiǎn)單,學(xué)習(xí)起來依舊沒有壓力!俗話說,沒有壓力就沒用動(dòng)力,所以自然我也就沒有動(dòng)力了!管他的,反正靠自己的天賦還能應(yīng)付得了,該玩還是玩。
C#窗體學(xué)完了過后,又開始學(xué)習(xí)數(shù)據(jù)庫(kù),當(dāng)然就是SQL Server嘍。Sql語句只需要學(xué)習(xí)增刪改查,建庫(kù)建表都用數(shù)據(jù)庫(kù)引擎來做,所以也沒什么難度!
后來又開始學(xué)HTML5/CSS3,標(biāo)簽靠背吧,剛開始接觸,可能對(duì)于一般人來說table、tr、td、li、ol、ul的使用要花點(diǎn)功夫,但是這自然難不倒我!秒懂,還是沒什么難度!選擇器也很簡(jiǎn)單。“。”對(duì)應(yīng)class,“#”對(duì)應(yīng)id,然后背一些常用的樣式就行了!我記得當(dāng)時(shí)學(xué)完這些,老師讓我們模仿一個(gè)購(gòu)物網(wǎng)站,寫一個(gè)靜態(tài)頁(yè)面,我做出來簡(jiǎn)直和原版沒什么區(qū)別!還是有點(diǎn)自豪的!
以上這些,大概就是編程的基礎(chǔ)了!前面我為什么說老師的作用大概就只是給你一本教材,裝裝開發(fā)工具,搭建開發(fā)環(huán)境!因?yàn)榍懊鎸W(xué)得這些,基本在老師還沒講的時(shí)候,我自學(xué)都已經(jīng)會(huì)了!
學(xué)完這些,大概用了半年時(shí)間!我依然沒有感覺到編程有什么難度,當(dāng)然,這點(diǎn)皮毛什么也做不了!后來又出現(xiàn)了一些陌生的名詞:jQuery、JavaScript、JSP、Servlet、ODBC,挺多的,聽說學(xué)了這些就可以開發(fā)動(dòng)態(tài)網(wǎng)站了!由于前面學(xué)的這么簡(jiǎn)單,所以我也沒怎么重視,后來發(fā)現(xiàn),這JSP、JavaScript、jQuery還有點(diǎn)難度呀。一下子沒反應(yīng)過來,半年又過去了,這三種技術(shù)也學(xué)得模模糊糊,不清不楚的!然后我逐漸意識(shí)到,自己的天賦已經(jīng)不夠用了,還是得踏踏實(shí)實(shí)的學(xué)習(xí)。
重新開始
由于自己的大意,JSP學(xué)得太差,所以我只好放棄Java,選擇專修C#!并且深刻意識(shí)到,編程的道路還很長(zhǎng),學(xué)習(xí)的都僅僅只是皮毛!于是,對(duì)于C#方面的學(xué)習(xí),我的態(tài)度就要好很多了!首先接觸到C#開發(fā)動(dòng)態(tài)網(wǎng)站的技術(shù)ASP.NET,沒錯(cuò),和JSP類似,用來開發(fā)動(dòng)態(tài)網(wǎng)站,基于控件技術(shù),開發(fā)起來十分方便!當(dāng)然,這門技術(shù)局限性很多!后來又學(xué)習(xí)了ASP.NET MVC框架!是目前比較流行的框架,視圖、模型、控制器分離!這兩樣技術(shù)都是需要掌握的基本技術(shù),當(dāng)然這種基本技術(shù)我怎么可能再次落下!而且在學(xué)習(xí)這些之余,還把JavaScript補(bǔ)了起來!這兩樣技術(shù)等于是我從新開始學(xué)習(xí)編程,也認(rèn)真的學(xué)了!
自學(xué)之路
當(dāng)然,我很清楚,光靠這些基礎(chǔ)知識(shí),也沒法找到一份好工作!于是我開始了我的自學(xué)之路!開始接觸C#高級(jí)的一些技術(shù),比如泛型、委托、索引器、lambda表達(dá)式、Linq等,這些學(xué)起來還是比較費(fèi)勁,好在我腦子比較好用,也很快掌握!后來了解到Ajax、Json、XML、BootStrap等技術(shù)也是比較主流必備的,我都在網(wǎng)上自學(xué)!為了擴(kuò)展知識(shí),我又去學(xué)習(xí)了一些框架,如Entity Framework、Spring.Net等,還學(xué)了設(shè)計(jì)模式,比如單例模式、簡(jiǎn)單工廠、抽象工廠等,后來又自學(xué)了數(shù)據(jù)結(jié)構(gòu),隊(duì)列、堆、棧、樹等,雖然學(xué)得不是很精,不過大概也能理解。那段時(shí)間我電腦瀏覽器的書簽大概就是傳智博客、麥子學(xué)院、極客學(xué)院、慕課網(wǎng)、BootStrap中文網(wǎng)等學(xué)習(xí)網(wǎng)站!
準(zhǔn)備簡(jiǎn)歷
大概花了一年半的時(shí)間,我掌握了C#包括泛型、委托、Linq等高級(jí)語法,Sql Server存儲(chǔ)過程、視圖、內(nèi)置函數(shù)等的使用,EF、Spring.Net、BootStrap、Jquery等框架的使用,Ajax、XML、Json、WebServiec等Web技術(shù),當(dāng)然還有基本的HTML5、CSS3、JavaScript等!自然而然的將這些技術(shù)寫上去!在學(xué)習(xí)期間,也和小伙伴們做過幾個(gè)項(xiàng)目,一個(gè)論壇網(wǎng)站、一個(gè)電影網(wǎng)站,也都還算成功,簡(jiǎn)歷上自然也不會(huì)空缺,唯獨(dú)缺少的就是工作經(jīng)驗(yàn)!
工作開始
由于簡(jiǎn)歷寫得好(當(dāng)然實(shí)力還是有的),所以很多面試通知!我面試的第二家公司就成功了,整個(gè)找工作的時(shí)間不超過1周,還是比較順利的!朝九晚五,雙休,該有的福利還是有!到如今,大概工作了四五個(gè)月了,轉(zhuǎn)正也一個(gè)多月了,公司里的一切任務(wù)我還是基本能完成!
經(jīng)過這幾個(gè)月的工作,我更加意識(shí)到這只是個(gè)開始!未來的路還很長(zhǎng)!還需要更多的付出!