20年的老程序員對新入行的朋友的一些建議
從事編程這一行也已經(jīng)20年了,到今天為止,有關(guān)編程方面的知識我也寫了六七門課程了,教授課程的時(shí)間也已超過了1000小時(shí),下面我所說的全部是我多年來的實(shí)踐的經(jīng)驗(yàn)之談。
不管你多喜歡或是多會編程,在學(xué)習(xí)和解決問題上總會碰到障礙。工作的時(shí)間越久就越能明白這個(gè)道理。不過這倒是一個(gè)讓人進(jìn)步的機(jī)會,因?yàn)槟阋恢辈粩嗟膶W(xué)習(xí)才能很好的解決你面前的難題。如果你已不有了進(jìn)取心,那么當(dāng)遇到難道無法解決時(shí)你就會想要放棄。
正常的編程過程都是這樣的:嘗試、失敗、學(xué)習(xí)、思考、靈感、成功。在這個(gè)漫長的過程中,常有人會感到沮喪也是很正常的事,如果最終成功了,那么接下來你會想挑戰(zhàn)更難的項(xiàng)目,當(dāng)然,之前的沮喪就會從新而來,又是一個(gè)從新學(xué)習(xí)的機(jī)會,在這個(gè)過程中,我們要懂得調(diào)整好心態(tài),從新從發(fā)。
經(jīng)過不斷的學(xué)習(xí),我們的編程技術(shù)會越來越強(qiáng),對自己也會更加自信。每個(gè)人小時(shí)候都會有大大小小的闖禍經(jīng)歷,但隨著我們的成長和能力的增強(qiáng),我們很少再去辦錯(cuò)事情了。而如今我們也有辦法解決我們所犯的錯(cuò)。
經(jīng)過我們的努力,學(xué)習(xí)好編程的各種技能,當(dāng)你做出來的各種編程代碼,讓別人操作起來輕而易舉的就能得到他們想要的效果時(shí),他們就會覺得我們像魔法師一樣,因?yàn)槲覀兯峁┑倪@些功能可以讓他們更輕松,他們也更需要我們的這種技能。
當(dāng)你剛開始學(xué)習(xí)編程時(shí),如果遇到難道,你可以很好的利用網(wǎng)絡(luò)來搜索你想要的東西,因?yàn)樵谀阒耙欢ㄓ泻芏嗳讼衲阋粯佑龅竭^類似的問題,所以你一定要盡快的掌握如何有效的網(wǎng)上搜索技能,這樣你會更快的得到有效學(xué)習(xí)。
工具箱里的功能是程序員不可缺少的,這些工具將伴隨我們每一天,隨著我們經(jīng)驗(yàn)的增長,我們還會學(xué)習(xí)到更高級的工具,有些工具雖然不是很常用,但他們更擅長解決一些特定的問題(例如,二叉樹數(shù)據(jù)結(jié)構(gòu)、A*、Valgrind、調(diào)試器等等)。大多數(shù)編程領(lǐng)域(游戲開發(fā)、Web開發(fā)、數(shù)據(jù)庫)都有自己特有的一系列解決問題的模式。所以掌握的工具越多對你越有利。
在這個(gè)行業(yè)里有成就的老程序員早已寫下了很多可供我們參考的代碼,所以,為什么不去多看看呢?當(dāng)然,自己的實(shí)踐也是不可缺少的,好好練習(xí)寫代碼吧,努力總是有收獲的不是嗎?
編程中的知識你永遠(yuǎn)都學(xué)不完,他就像一個(gè)大集會一樣,總是有新的難道需要我們?nèi)ソ鉀Q。所以我們也應(yīng)該要學(xué)習(xí)新的知識來解決面前的難題。只有你能做到這一點(diǎn),你將永遠(yuǎn)不必?fù)?dān)心自己的飯碗。