當前位置:學問君>人在職場>就業指導>

5年程序人生路 從新手到項目管理[1]

學問君 人氣:1.63W

本人普通院校,非計算機專業本科畢業。從畢業到現在也工作有五年了。回憶起程序人生,也頗有一翻滋味。

5年程序人生路 從新手到項目管理[1]

本人是從大三上學期開始學習計算機的,因爲那時電腦突然一下比較普及,本人家裏也有能力買臺電腦。買了電腦後,最先看的是C語言的數據結構。用電腦調試書裏面的各種程序,那時第一次看數據結構,我接近全力去看,但是沒看懂多少東西。只是把書裏面的代碼敲了一遍,執行後看看是否和書裏面說的結果是一樣。但很多時候,第一次都是沒透過調試的,發現不是這裏抄錯了,就是那裏抄錯了。透過不斷的查找,最後才能執行正確,那時心裏就會才生少許的成就感,感覺自己寫的程序調通了(雖然只是照着抄了一遍)。看完數據結構(其實有很多東西還是不懂),我去找了本計算機組成原理來看。結果看得自己更加模糊。因爲這本書裏沒有代碼,只有一些抽象概念,當時好像只記得CPU有幾個寄存器尋址,還有些補碼,反碼什麼的。那個書又厚,硬着頭皮翻了一遍後就沒看了。接着買了本操作系統原理來看。也是很難看,都是些概念的東西,又沒代碼調試。比如什麼GDT,虛擬內存分段,分頁,實模式,保護模式,中斷等等。也是硬着頭皮翻一遍,能懂多少是多少。看完後,接着就看那個編譯原理,因爲網上都說懂編譯原理的人都很牛,我也希望變成牛人所以也去搞了本回來看。結果發現,能懂編譯原理的人,確實比較牛。裏面涉及到自動機的概念。屬於用計算機來做人工自能的範疇。我也很想成爲牛人,硬着頭皮看,結果還是有心無力。經過這樣一個過程,雖說很多都不懂,但卻使我對編程從一無所知到有了一種模糊的認識。大概懂得了什麼叫做內存分配,還有程序的那些字母符號是怎麼被計算機執行的。這時回頭把原來的數據結構翻出來再讀一遍,突然發現這本書比起其他三本都容易,也很好懂。明白了什麼叫做算法,並且可以嘗試去實現自己想的`一些算法。當時的自豪感油然而生。感覺電腦可以按照我的想法去工作了,非常興奮。雖然那時我並不懂得多少C語言,對指針也只大概知道是什麼東西,實際中還是不會應用。但至少可以利用我所知道的,來實現我所想到的。在當時一股衝動之下,寫了幾個自己記憶由心的算法:

1,從1到100,每數到7的時候,把該數字提出來,剩下的數字繼續循環,問最後剩下的一個數字是多少。我記得好像是50。

2,任意輸入數字,和“+ - * / ( )”幾個符號組成一個算術表達式,計算出值是多少。

3,記得看過計算機組成原理裏面有個磁盤調度算法,用的是現在電梯常用的電梯算法。感覺這個算法很好,就去用C語言實現了一遍。

剛開始寫程序,都是一個main函數全部搞定。慢慢的,在算法實現的過程中發現,如果一個算法太大,一路寫下去,代碼會很長,並且很容易想了前面就忘後面該怎麼寫,或者寫到後面,忘了前面寫的是什麼。 這時,就產生了一種想法,就是剛開始設計算法的時候,想好哪幾步,然後每一步用一個函數代替。main函數中只是分步函數的流程控制。這樣main函數的代碼就大大的減少,邏輯變得非常清晰。然後可以像填空一樣把每個分部函數完成。接着在子函數裏面還可以分成子函數,分到後來,發現很多函數可以被其他的函數調用。達到重用的目的。記得當時發現這個方法後,也是異常的興奮。這種方法居然被自己想到了,感覺自己真是個人才。因爲自己是非計算機專業,想找編程的工作,起碼要有一個東西證明自己是學過計算機的。所以在這期間報考了那個進階程序員(高程),因爲要考試,所以學習了一些彙編之類亂七八糟的東西。考試好像分爲筆試和上機,但是現在已經忘記是哪一個沒過了。鬱悶!沒過之後,不甘心,就去報了個計算機等級考試(3級,互聯網技術),結果不出意外,將證書收入囊中(不過現在想想,一點都沒用上。拿回來後,從來都沒給人看過,現在都不知道放到哪裏去了)。

搞完這些,自己大三也差不多結束了。自己也知道到了大四要開始找工作,所以不能自己專門去研究什麼算法。那個東西當不了飯吃。所以要搞一些比較流行的東西,起碼需要混到一個工作。所以那時就搞了一本“C#入門經典”。因爲那時聽說。NET比較流行,好找工作。並且對於一個新的東西,我比較喜歡找一些名字上有“入門”兩個字的書(這樣的書裏面一般都會很詳細的告訴你如何搭建調試環境)。因爲程序這個東西,你首先要能夠搭建一個調試環境,光靠看是看不出什麼東西來的。後來感覺這本書還不錯,不枉費我100塊大洋。從中學到了一些。NET的基本用法。並且對面向對象講得比較詳細。“面向對象”那一章我也很認真的反覆看了好幾遍,因爲那時03年面向對象非常熱門,網絡上面到處是“面向對象”幾個字,感覺編程高手都是會面向對象。我也想成爲高手,所以我就抱着一種不搞懂不罷休的氣勢去看。結果,只是記住了面向對象的語法。書中和網上舉得例子也很簡單,多半是些動物是抽象類,然後,分什麼雞,鴨,鵝之類的去繼承,然後動物都有吃飯的接口,鴨子有游泳的接口, 此類等等的例子。看了半天,也沒弄明白這些對於我寫程序有多大的作用。後來,從書上抄了一份網站購物車的程序,認識到了WEB的開發流程,感覺自己也可以上路了。因爲當時才大四上學期,也沒有到處發簡歷。只是在網上留意一些招聘資訊。當時也是在CSDN裏面,看到一個本地的公司在招人的帖子,公司很小,剛起步。我想應該不會要求很多,我也就去應聘試試,希望自己能夠應聘上,這樣至少能夠證明自己有資格成爲程序員。應聘的時候,老闆問了一些問題,多半是WEB開發方面的技術問題。由於那時我對WEB只是剛剛接觸,懂的不多。好像當時有一半以上都沒回答上來。走的時候,我把我從書上抄的那份程序放到電腦裏執行出來給他看了看。大言不慚的說者是我寫的。他看了看,點了點頭,然後就回去等消息。我是星期五去面試的,星期天公司打電話讓我星期一去上班。聽到這個消息後,心裏莫名的激動。請同寢室的哥們大吃了一頓。大家也都爲我能這麼早找到工作感到高興。後來,就是白天到公司實習,晚上回寢室睡覺。工作後慢慢的,那種興奮感就消失了,取而代之的是工作壓力,由於做WEB開發,服務端的C#還好說一點,但是前臺用到很多的是HTML和JAVASCRIPT,當時對這個知道的很少,只能一邊翻書,一邊做事。要達到老闆的要求,每天都八點左右才能搞完下班。