計(jì)算機(jī)專業(yè):來(lái)自大四學(xué)長(zhǎng)的一些思考和總結(jié)!讓你少走一些彎路
大學(xué)四年不知不覺(jué)一晃而過(guò),在臨近畢業(yè)之際,寫(xiě)下這篇文章一方面是對(duì)自己的總結(jié),另一方面向其他同學(xué)分享我的經(jīng)驗(yàn)。

興趣是最好的老師
有兩種力量會(huì)推動(dòng)我們不斷前行,一種是興趣,一種是責(zé)任感。其實(shí)在前行的路上會(huì)發(fā)現(xiàn)這兩種力量往往會(huì)互相支持著我們前行:因?yàn)榕d趣我們開(kāi)始了我們的學(xué)習(xí)、事業(yè),遇到了困難,因?yàn)樨?zé)任而堅(jiān)持;遇到了瓶頸,忽發(fā)現(xiàn)這些正是自己的熱愛(ài)所在,又堅(jiān)持了下來(lái),就像這樣循環(huán)往復(fù)以至最后。
編程是一件很需要興趣的事情,因?yàn)樗枰粩嗟膶W(xué)習(xí),不斷的練習(xí),這其中會(huì)包含許多不解的難題、無(wú)法fix的bug、難眠的夜晚,如果你不能發(fā)現(xiàn)其中的樂(lè)趣,很難堅(jiān)持下去并且把它做好。
如果你是計(jì)算機(jī)專業(yè)的,并且喜歡編程,那么你很幸運(yùn)可以快樂(lè)地暢游在代碼的海洋中;如果你是計(jì)算機(jī)專業(yè)的,但是一點(diǎn)也不喜歡編程,而是已經(jīng)有了其他的想法,那么你也很幸運(yùn),因?yàn)槟阌辛藠^斗一生的目標(biāo)。如果你是計(jì)算機(jī)專業(yè)的,但是一點(diǎn)也不喜歡編程,但是不知道要做些什么,沒(méi)關(guān)系盡管去嘗試、去找尋,不要把時(shí)間浪費(fèi)在一點(diǎn)也不喜歡的事情上。

如果你不是計(jì)算機(jī)專業(yè),但卻喜歡編程,那么放手去編程吧,編程方面的知識(shí)通過(guò)自學(xué)完全可以,我的第一份工作所用到的知識(shí),大部分不是源于課堂,而是來(lái)自于自我學(xué)習(xí)。如果你在糾結(jié)要不要從事編程相關(guān)的工作或者想從事編程相關(guān)的公作又缺乏興趣,那么我推薦幾種培養(yǎng)興趣的方法。
(1)尋找自己的偶像
在體育明星中我們經(jīng)常會(huì)聽(tīng)到某一個(gè)成功的運(yùn)動(dòng)員被采訪時(shí)會(huì)說(shuō)我是因?yàn)榭戳四衬衬车谋荣惗_(kāi)始訓(xùn)練、比賽并且讓我一直堅(jiān)持下去的。我們也需要自己的偶像,一個(gè)能激勵(lì)我們不斷學(xué)習(xí),在困難時(shí)讓我們堅(jiān)持下去的人,“程序猿”的偶像們通常智力超群、目光堅(jiān)定、成就超凡,比如蘋(píng)果公司的喬布斯和沃茲尼亞克、微軟的比爾·蓋茨、谷歌的拉里·佩奇和謝爾蓋·布林、Facebook的扎克伯格等等,他們通常以Make The World A Better Place為己任。的確,因?yàn)樗麄儯驗(yàn)榧夹g(shù),因?yàn)椤俺绦蛟场眰儯覀兊氖澜顼w速發(fā)展,智能手機(jī)、網(wǎng)絡(luò),我們的世界的確更好了。當(dāng)你通過(guò)觀看他們的采訪、演講、紀(jì)錄片、專記等等,那幫看似無(wú)趣的“程序猿”,其實(shí)才華橫溢、極富人格魅力,讓我們也想成為他們那樣的人。

(2)書(shū)籍與影視作品
這和上一點(diǎn)有點(diǎn)像,隨著對(duì)編程的了解、對(duì)編程的人的了解、對(duì)他們生活的了解,很可能會(huì)產(chǎn)生加入他們的興趣。我收集了一些作品列表,程序員閱讀手冊(cè)(不斷更新中)、程序員觀影手冊(cè)(不斷更新中)。記得我看完一部講述一群獨(dú)立游戲開(kāi)發(fā)者的紀(jì)錄片《獨(dú)立游戲大電影》之后,立刻下載了游戲引擎搗鼓起來(lái),在后來(lái)的多門(mén)課的課程設(shè)計(jì)中我都做了小游戲。
(3)最重要的,現(xiàn)在就開(kāi)始編程
記得大一的時(shí)候,我對(duì)編程并沒(méi)有興趣,我覺(jué)得編程只是我大學(xué)生涯的作業(yè)、任務(wù),我學(xué)習(xí)的很被動(dòng),只能勉強(qiáng)能夠應(yīng)付課程和考試。但是在那些被動(dòng)嘗試的過(guò)程中,我卻感受到了程序輸出正確時(shí)那種成功的喜悅,bug不能解決時(shí)想放棄的無(wú)助以及經(jīng)過(guò)不懈努力解決bug時(shí)的柳暗花明。正是這些嘗試、體驗(yàn),然我了解到編程其實(shí)是樂(lè)趣橫生的。如果你喜歡挑戰(zhàn),喜歡新鮮事物,編程一定能給你帶來(lái)樂(lè)趣。我們會(huì)有很多機(jī)會(huì)能把興趣和編程聯(lián)系起來(lái),各種課程會(huì)有各種課程設(shè)計(jì),老師的要求通常是,使用Java語(yǔ)言(或是某某其他語(yǔ)言)、使用與課程相關(guān)的知識(shí),做一個(gè)作品。這時(shí)我們可以做些自己想做的課題,做些有意思的,自己會(huì)使用的東西。

速成的謊言,堅(jiān)持才是不二法門(mén)
經(jīng)常在書(shū)店里看到這樣一類(lèi)書(shū),《21天學(xué)會(huì)XXX》系列,《7天學(xué)會(huì)做網(wǎng)站》,我買(mǎi)過(guò)、也看過(guò),這類(lèi)書(shū)無(wú)非是抓住人們渴望“速成”的心態(tài),一本書(shū)一般就說(shuō)了一個(gè)例子,演示了一個(gè)例子的過(guò)程,而對(duì)細(xì)節(jié)的解釋遠(yuǎn)遠(yuǎn)不夠,看完之后只會(huì)有大概的了解,離學(xué)會(huì)、熟練掌握還相去甚遠(yuǎn)。
Peter Norvig 寫(xiě)過(guò),計(jì)算機(jī)博士徐宥翻譯過(guò)一篇文章——《十年學(xué)會(huì)程序設(shè)計(jì)》里提到編程像所有其他的技藝一樣,遵循一萬(wàn)小時(shí)理論,即不斷的練習(xí)才會(huì)真正的掌握編程這門(mén)技藝,編程既是技術(shù)、也是藝術(shù),要成為編程大師,我們需要靈感、天賦、反復(fù)的練習(xí)、在挫折中進(jìn)步。來(lái)不得半點(diǎn)馬虎,速成是不可能實(shí)現(xiàn)的,堅(jiān)持才能。

我的編程學(xué)習(xí)經(jīng)驗(yàn)
前面扯了那么多閑話,下面干貨來(lái)了~ 分享一點(diǎn)我自己學(xué)習(xí)的經(jīng)驗(yàn)。
(1)學(xué)校學(xué)習(xí)
我覺(jué)得學(xué)校的課程中,有幾類(lèi)課是十分重要的。一類(lèi)是語(yǔ)言基礎(chǔ)課,尤其是你大學(xué)乃至人生的第一門(mén)編程語(yǔ)言課是十分重要的,因?yàn)樗鼤?huì)培養(yǎng)你最初編程感,培養(yǎng)你編程的基本功,以后上手其他語(yǔ)言,就會(huì)容易很多。
還有一類(lèi)是計(jì)算機(jī)基礎(chǔ)和總體知識(shí)的課程,比如操作系統(tǒng)、編譯原理、計(jì)算機(jī)網(wǎng)絡(luò)等等,它們會(huì)教給你宏觀的計(jì)算機(jī)知識(shí),讓你了解計(jì)算機(jī)是如何運(yùn)作的。
對(duì)于以上兩類(lèi)課程,我的建議是除了認(rèn)真聽(tīng)課、完成作業(yè),課后也多查閱資料,多練習(xí),多實(shí)踐。
(2)自我學(xué)習(xí)
技術(shù)書(shū)籍的選擇
要選擇“著”而不是“編著”,“著”的書(shū)往往包含了作者自身長(zhǎng)年積累的經(jīng)驗(yàn)和知識(shí)、見(jiàn)解。而“編著”往往只是簡(jiǎn)單的知識(shí)的整理收集,缺乏對(duì)知識(shí)的梳理、講解。國(guó)外的書(shū)往往質(zhì)量更高,能直接閱讀英文原文著作當(dāng)然是做好的,翻譯的作品也是不錯(cuò)的。
在線編程學(xué)習(xí)網(wǎng)站
網(wǎng)上有各類(lèi)論壇、博客包含信息,不時(shí)逛逛,收獲良多。
問(wèn)答社區(qū)
在自學(xué)的過(guò)程中,經(jīng)常會(huì)遇到各種各樣的問(wèn)題,一般可以去百度、谷歌等搜索引擎進(jìn)行搜索,也可以去IT類(lèi)的問(wèn)答社區(qū)。比如著名的stackoverflow,上面的答案可信度非常高;還有國(guó)內(nèi)的segmentfault 等等。
英語(yǔ)
從我上面推薦的資料看來(lái),很多資料都是英文的,這就需要英語(yǔ)的能力。英語(yǔ)能力或許計(jì)算機(jī)從業(yè)者們是除了專業(yè)技能之外最重要的技能了。因?yàn)樽钚碌募夹g(shù)往往來(lái)自于大洋彼岸說(shuō)著英語(yǔ)的國(guó)家,一手的資料往往都是英文的。而且英語(yǔ)是全世界的開(kāi)發(fā)者的通用語(yǔ)言,和其他開(kāi)發(fā)者交流心得體會(huì)也需要英語(yǔ)??傊瑢W(xué)好英語(yǔ)有百利而無(wú)一害。

關(guān)于工作
(1)選方向
計(jì)算機(jī)類(lèi)的技術(shù)工作分為好多方向比如Java、C++、Android、iOS、前端、數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘等等。確定好自己的方向,沿著某一個(gè)方向前進(jìn)是明智之舉。同時(shí)可以關(guān)注各個(gè)公司招聘的職位發(fā)布,找到自己的心儀職位并且按照職位的要求來(lái)學(xué)習(xí)。
(2)boss們真正需要的是什么?
作為一名初出茅廬的大學(xué)生,老板們當(dāng)然不認(rèn)為你有“兩年以上工作經(jīng)驗(yàn)”、或是“熟練掌握XXX框架、XXX技術(shù)”,他們知道你很多東西都沒(méi)有接觸過(guò),他們往往需要兩點(diǎn),態(tài)度和學(xué)習(xí)能力。態(tài)度不用多說(shuō),學(xué)習(xí)能力即學(xué)習(xí)掌握新事物的能力,就是你多久能融入工作團(tuán)隊(duì),面對(duì)新的任務(wù)能否及時(shí)完成。
要培養(yǎng)學(xué)習(xí)能力,最好的方法就是在平時(shí)多看多學(xué)新技術(shù),技術(shù)之間都是有同性的,接觸的多了,自然有了套路,知道該如何下手。
如果你想更好的提升你的編程能力,好好學(xué)習(xí)C/C++編程知識(shí),以后努力成為高薪軟件開(kāi)發(fā)工程師的話!那么你很幸運(yùn)~

UP在主頁(yè)上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對(duì)你有幫助的~
分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門(mén)教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!
編程學(xué)習(xí)書(shū)籍:

編程學(xué)習(xí)視頻:
