一個(gè)從應(yīng)用層到IC層的嵌入式牛人學(xué)習(xí)經(jīng)歷
這些日子我一直在寫一個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核,已有小成了,等寫完我會(huì)全部公開(kāi),希望能夠?yàn)閲?guó)內(nèi)IT的發(fā)展盡自己一份微薄的力量。最近看到很多學(xué)生朋友和我當(dāng)年一樣沒(méi)有方向,所以把我的經(jīng)歷寫出來(lái)與大家共勉,希望能給剛?cè)胄械呐笥褌円稽c(diǎn)點(diǎn)幫助。
本文引用地址:http://m.butianyuan.cn/article/215670.htm一轉(zhuǎn)眼我在IT行業(yè)學(xué)習(xí)工作已經(jīng)七年多了,這期間我做過(guò)網(wǎng)頁(yè),寫過(guò)MIS、數(shù)據(jù)庫(kù),應(yīng)用程序,做過(guò)通信軟件、硬件驅(qū)動(dòng)、協(xié)議棧,到現(xiàn)在做操作系統(tǒng)內(nèi)核和IC相關(guān)開(kāi)發(fā),這中間走了很多彎路,也吃了不少苦。我上的是一個(gè)三流的高校,就連同一個(gè)城市的人多數(shù)都不知道。因?yàn)閷W(xué)校不好也就沒(méi)有指望能靠學(xué)校名氣找一個(gè)好工作。所有的希望都寄托在自己的努力上了,大一開(kāi)學(xué)前的假期我就開(kāi)始了學(xué)習(xí),記得我買的第一本書(shū)是《計(jì)算機(jī)基礎(chǔ)DOS3.0》,大家別嚇著了,其實(shí)當(dāng)時(shí)已經(jīng)普及了DOS6.22了,只是我在書(shū)店里看到了DOS4.0,5.0,6.0的書(shū),以為像英語(yǔ)那樣是第四、五、六冊(cè),記得當(dāng)時(shí)到處找DOS1.0,現(xiàn)在想想也幸好我沒(méi)有找到:)開(kāi)學(xué)前我學(xué)完了PASCAL,那時(shí)既沒(méi)有計(jì)算機(jī)也沒(méi)有人可以請(qǐng)教,我連程序是什么的概念都沒(méi)有,只好死記硬背代碼,然后拿紙寫,我一直到大三才有了一臺(tái)486,在這之前用紙寫了多少程序我也記不清楚了,只知道最長(zhǎng)的一個(gè)我拿A4大小的草稿紙寫了30多頁(yè),我的C語(yǔ)言、C++、VC都是在這樣的條件下入門的。所以說(shuō)條件是可以克服的,希望我的經(jīng)歷多少給條件艱苦的同學(xué)們一點(diǎn)信心。第一次上機(jī)是在我姐夫的機(jī)房,我的心情激動(dòng)的無(wú)與倫比,但是一上機(jī)我立刻傻了眼,他們用的是英文版的Win3.1,我的那點(diǎn)DOS知識(shí)都見(jiàn)了鬼,上機(jī)提心吊膽的一陣瞎摸,一不小心把Word弄成了全屏,怎么都還不了原,當(dāng)時(shí)真是心急如焚,我以為機(jī)器被我弄壞了。第一個(gè)C語(yǔ)言程序,就是那個(gè)經(jīng)典的HelloWorld,我調(diào)了幾個(gè)星期,上機(jī)機(jī)會(huì)非常少,也沒(méi)有書(shū)告訴我開(kāi)發(fā)環(huán)境(TC2.0)需要設(shè)置,而且開(kāi)始我都不知道有編譯器,我甚至自作聰明把寫好的程序擴(kuò)展名從.c改成.exe,結(jié)果可想而知。大一學(xué)完了C、X86的匯編、數(shù)據(jù)結(jié)構(gòu)、C++。由于精力都花在自學(xué)上了,大一下四門課掛了彩,三類學(xué)校就是這點(diǎn)好,掛上一二十門也照樣畢業(yè)。不過(guò)扯遠(yuǎn)點(diǎn)說(shuō),我那么刻苦都及不了格,可見(jiàn)我們國(guó)家的計(jì)算機(jī)教育有多死板。
大二準(zhǔn)備學(xué)VC和BC,當(dāng)時(shí)難以取舍,后來(lái)選了VC,不為別的,只為書(shū)店里兩本書(shū),VC那本便宜6塊錢。我的努力在班上無(wú)人能及,學(xué)的日夜不分,大三有了計(jì)算機(jī)后更是如此,很多次父親半夜教訓(xùn)我說(shuō)我不要命了,我一直覺(jué)得自己基礎(chǔ)差,記憶又不行,條件也不好,所以覺(jué)得只有多花點(diǎn)時(shí)間才能趕上別人。居然后來(lái)有許多朋友說(shuō)我有學(xué)計(jì)算機(jī)的天賦,讓我哭笑不得。我用的是486,16M內(nèi)存,1G硬盤,當(dāng)時(shí)同學(xué)們的配置都是P166MMX,我安裝一個(gè)WindowsNT4.0需要一個(gè)通宵,編譯一個(gè)BC5.0向?qū)傻某绦蛐枰鼉蓚€(gè)小時(shí),我的顯示器是個(gè)二手的,輻射非常大,開(kāi)機(jī)屏幕冒火花,看起來(lái)很酷的:),有一次程序?qū)懙奶?,覺(jué)得怎么白色的編輯器背景變成了紫色,以為顯示器壞了,后來(lái)才發(fā)現(xiàn)眼睛不行了,不過(guò)說(shuō)來(lái)也奇怪,到今天我的視力還能保持1.5,真是個(gè)奇跡。但是就是那臺(tái)破機(jī)器陪伴了我兩年,讓我學(xué)會(huì)了VC、Delphi、SQLServer等。后來(lái)那臺(tái)機(jī)器給我阿姨打字用,據(jù)她說(shuō)一天她正打的開(kāi)心,一股青煙夾著火苗從顯示器鉆出來(lái),之后它才壽終正寢。
大三假期找了個(gè)機(jī)會(huì)在一個(gè)計(jì)算機(jī)研究所實(shí)習(xí),與其說(shuō)實(shí)習(xí)不如說(shuō)是做義工,工作了兩個(gè)月一分錢沒(méi)有拿。但是這兩個(gè)月對(duì)我的發(fā)展幫助很大,讓我早一步了解了社會(huì),剛?cè)サ臅r(shí)候我當(dāng)然是一竅不通,在那里我熟悉了網(wǎng)絡(luò),學(xué)會(huì)了Delphi和Oracle。由于工作很認(rèn)真,得到了比較好的評(píng)價(jià),在一位長(zhǎng)者的引薦下,我開(kāi)始和他們一起做項(xiàng)目,這使我在大三大四就有了自己的收入,大四又找了兩家MIS公司兼職,雖然錢不多,但是在學(xué)生期間有1000多的收入我已經(jīng)非常滿足了,我終于用自己賺的錢把計(jì)算機(jī)換了。大四下開(kāi)始找工作,這時(shí)我的工作經(jīng)驗(yàn)已經(jīng)比較多(當(dāng)然現(xiàn)在想想非常幼稚),開(kāi)始聽(tīng)父母的想去那個(gè)研究所,實(shí)習(xí)過(guò)那個(gè)部門也希望我能去,但是不知道為什么最后不了了之,這種單位就是比較官僚,我一氣之下就到了我兼職的一個(gè)公司做MIS的TeamLeader。在大三到畢業(yè)一年的時(shí)間,做過(guò)了各種MIS,從煤氣、煙廠、公安、鐵路、飲食到高校,什么有錢做什么,工作也很辛苦,經(jīng)常加班和熬通宵,從跟客戶談需求到設(shè)計(jì)、編碼、測(cè)試、交付都要上。那時(shí)覺(jué)得很有
成就感,覺(jué)得自己還不錯(cuò),現(xiàn)在想想真是很膚淺。
剛走上工作崗位的學(xué)生很容易被誤導(dǎo),各種開(kāi)發(fā)工具讓人眼花繚亂,同時(shí)也覺(jué)得很受公司器重,但這樣工作永遠(yuǎn)是一個(gè)低層次的開(kāi)發(fā)者。不要跟我說(shuō)什么系統(tǒng)分析有多么多么重要,多么多么難。你以為自己跟用戶談需求做設(shè)計(jì)就是系統(tǒng)分析和設(shè)計(jì)了嗎,國(guó)內(nèi)又有幾個(gè)公司能夠做的很到位很規(guī)范?我是ISO9000內(nèi)審員,也在Rational公司受過(guò)多次培訓(xùn),拿了4個(gè)證書(shū),還有一個(gè)公司讓我去做CMM。這些我聽(tīng)過(guò)很多,但是很多事情到國(guó)內(nèi)就變了性質(zhì),一個(gè)公司不是通過(guò)了ISO9000或者CMM就能規(guī)范了,我現(xiàn)在在一家有幾十年歷史的外企工作,里面的管理不是一般國(guó)內(nèi)企業(yè)能及的。作為一個(gè)畢業(yè)不久以前沒(méi)有步入過(guò)社會(huì)的學(xué)生,幾乎不可能在很短的時(shí)間掌握系統(tǒng)分析和設(shè)計(jì),面向?qū)ο蟆ML只是一個(gè)工具,關(guān)鍵是人本身的思想,不是說(shuō)你熟悉了C++、Rose就能夠做出好的設(shè)計(jì),相反如果你具備了很高的素質(zhì),你可以用C寫出比別人用C++更加模塊化的程序。
話說(shuō)遠(yuǎn)一些,國(guó)內(nèi)軟件開(kāi)發(fā)行業(yè)有一個(gè)怪圈,很多人覺(jué)得VC > Delphi >VB,真是很搞笑。這幾個(gè)軟件我都做過(guò)開(kāi)發(fā),說(shuō)白了他們都是工具,應(yīng)該根據(jù)應(yīng)用的需要選擇采用哪個(gè),而不是覺(jué)得哪個(gè)上層次。如果你因?yàn)橛媚硞€(gè)開(kāi)發(fā)工具很有面子而選擇的話,只能說(shuō)明你很淺薄。如果說(shuō)層次,那么這些工具都不上層次,因?yàn)樗鼈冇脕?lái)用去都是一些系統(tǒng)的API,微軟的朋友不會(huì)因?yàn)槟阌涀∷麄兌嗌賯€(gè)API或者多少個(gè)類就會(huì)覺(jué)得你很了不起,你永遠(yuǎn)只是他們的客戶,他們看重的是你口袋里的銀子。我也做過(guò)系統(tǒng)內(nèi)核,我也封裝過(guò)很多API,同樣我也不會(huì)看重那些使用這些API做二次開(kāi)發(fā)的客戶,除非他能夠作出自己獨(dú)到的設(shè)計(jì)。
至于有人認(rèn)為C++ >C那更是讓人笑掉大牙,不妨你去打聽(tīng)一下,現(xiàn)在有幾個(gè)操作系統(tǒng)內(nèi)核是用C++寫的,又有幾個(gè)實(shí)時(shí)系統(tǒng)用的是C++,當(dāng)然我也不是說(shuō)C++不好,但是目前的內(nèi)核和實(shí)時(shí)系統(tǒng)中C++還無(wú)法與C匹敵,至于說(shuō)C++適合做應(yīng)用系統(tǒng)的開(kāi)發(fā)那是另外一回事。所以我的觀點(diǎn)是不在于你用什么工具和語(yǔ)言,而在于你干什么工作。你的設(shè)計(jì)體現(xiàn)了你的技術(shù)層次。
這樣干了一年我覺(jué)得非??鄲?,做的大多數(shù)都是熟練工種的活,個(gè)人技術(shù)上沒(méi)有太多的提高也看不到方向。所以決定離開(kāi)這個(gè)城市去上海,尋求更好的發(fā)展,并且打算放棄我以前的MIS轉(zhuǎn)到通信行業(yè)。
寫到這里不能不提到我女朋友,我們是在來(lái)上海前半年認(rèn)識(shí)的,她大四在我公司實(shí)習(xí),公司派她給我寫文檔,我們的感情發(fā)展的很快。她告訴我很多事情,她家原本是改革開(kāi)放的第一批暴發(fā)戶,她母親愛(ài)打牌,輸?shù)袅藥装偃f(wàn),還欠了很多債,她有男朋友,但是她對(duì)他沒(méi)有感情,只因?yàn)樗o了她母親兩萬(wàn)多塊錢,后來(lái)還強(qiáng)迫她寫了四萬(wàn)塊的借條,她男朋友背叛過(guò)她并且不止一次打她,現(xiàn)在逼她結(jié)婚不然就要她還錢。這人居然還是一個(gè)高校的老師!她母親把父親給她的學(xué)費(fèi)花了,因?yàn)橥锨穼W(xué)費(fèi)她沒(méi)有辦法拿到畢業(yè)證。她母親現(xiàn)在有病需要錢,我拿出了自己的一點(diǎn)積蓄并且跟朋友們接了一些,替她交了學(xué)費(fèi)并給她母親看病(后來(lái)才知道看病的錢又不知所終,就連她母親是不是有病我都不知道,但她也是沒(méi)有辦法)。這個(gè)時(shí)候我家知道了一些事情,堅(jiān)決反對(duì)我和她在一起,她原來(lái)的男朋友也極力破壞。無(wú)奈之下我們決定早一定離開(kāi)這個(gè)傷心的城市,并且瞞著我們家。由于時(shí)間倉(cāng)促,我只準(zhǔn)備了4000塊錢,她僅有的幾百塊錢也被她母親要去了,我買了三張票,一張是中午的,兩張是晚上的,中午我的家人把我送上船,他們一離開(kāi)我就下了船,我和她乘坐晚上的船離開(kāi)了這個(gè)我和她生活了很多年的城市,帶走的只是一身債務(wù)。沒(méi)有來(lái)過(guò)上海的我們兩個(gè)性倔強(qiáng),都不愿意去麻煩同學(xué)和朋友。來(lái)到上海是傍晚6點(diǎn)半,我們都不知道該去哪里,我們找了一個(gè)20塊錢的旅館,這個(gè)房間連窗戶都沒(méi)有,7月份的天氣酷熱難耐,房間里非常悶熱。第二天我們開(kāi)始租房子,因?yàn)樯砩系腻X不多,我們基本都是步行,花了一個(gè)星期時(shí)間,不知道在浦東轉(zhuǎn)了多少圈后找到了一個(gè)400塊的房子,但是我們都不了解上海是付三壓一,還要付半個(gè)月的中介費(fèi),買了一些鍋碗瓢盆后,我們身上只有800塊錢了,工作都還沒(méi)有著落,這800塊錢要支持到我們拿到第一個(gè)月工資,為了省錢我們自己做飯,每天買菜只花兩塊錢,她非常喜歡吃(也可能她在大學(xué)經(jīng)常挨餓的愿意),看到她現(xiàn)在這樣省吃儉用我真的很不忍心。她以前的男朋友也沒(méi)有放過(guò)她,經(jīng)常打電話來(lái)騷擾,并且來(lái)上??此?,還說(shuō)了不少恐嚇?biāo)脑挘^(guò)于善良,說(shuō)他以前畢竟幫助過(guò)她,叫我不要與他一般見(jiàn)識(shí)。以后的每天在家就是苦等面試通知,原本我想迅速找一家MIS公司解決眼前的困難,但是她堅(jiān)持讓我不要放棄自己的理想,終于功夫不負(fù)有心人,我找到了一家通信公司,4000塊的工資雖然趕不上MIS公司給我開(kāi)出的價(jià)位,但也夠在上海生存。她也找到了工作,第一天上班她哭了,這是她來(lái)上海第一次流淚,我心里很難受也很感動(dòng)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
c++相關(guān)文章:c++教程
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論