根據(jù)某招聘網(wǎng)站關(guān)于互聯(lián)網(wǎng)各類職位需求情況的調(diào)查表明,在互聯(lián)網(wǎng)的各個(gè)相關(guān)行業(yè)中,各種公式對技術(shù)類職位的需求量是最大的,當(dāng)然,這里需要的是能立即到崗干活的人,而無需企業(yè)在進(jìn)行一段時(shí)間的相關(guān)培訓(xùn)。
越來越多的年輕人投入到程序員的行業(yè)里,隨著近2年大數(shù)據(jù)熱度不下,持續(xù)走俏,Java又重新回到了人們的視野中,那么一個(gè)成功的Java程序員是怎樣養(yǎng)成的呢?
1. 學(xué)會(huì)學(xué)習(xí)
就算是你有10年以上的Java程序員經(jīng)歷,也需要不斷地學(xué)習(xí),因?yàn)樵谟?jì)算機(jī)這個(gè)充滿一創(chuàng)造力的領(lǐng)域,每天都會(huì)有很多很多的新事物出現(xiàn)。你需要跟上時(shí)代的步伐。你需要去了解新的程序語言,以及了解正在發(fā)展中的程序語言,以及一些編程框架。還需要去閱讀一些業(yè)內(nèi)的新聞,并到一些熱門的社區(qū)去參與在線的討論,這樣你才能明白和了解整個(gè)軟件開發(fā)的趨勢。
2. 理性面對不同的操作系統(tǒng)或技術(shù)
Java程序員們總是有自己心目中無可比擬的技術(shù)和操作系統(tǒng)。只有一部分優(yōu)秀的Java程序員明白不同操作系統(tǒng)的優(yōu)勢和長處和短處,這樣,在系統(tǒng)選型的時(shí)候,才能做到真正的客觀和公正,而不會(huì)讓情緒影響到自己。優(yōu)秀的Java程序員能夠理性的分析和理心地面對,從而客觀地做出正確的選擇。
3. 別把自己框在單一的開發(fā)環(huán)境中
程序員在使用什么樣的工具上的爭論還少嗎?到處都是啊。使用什么樣的工具本來無所謂,只要你能更好更快地達(dá)到你的目的。但是有一點(diǎn)是優(yōu)秀程序員都應(yīng)該了解的——那就是應(yīng)該去嘗試一下別的工作環(huán)境。沒有比較,你永遠(yuǎn)不知道誰好誰不好,你也永遠(yuǎn)不知道你所不知道的。
4. 使用版本管理工具管理你的代碼
使用什么樣的版本管理工具依賴于你的團(tuán)隊(duì)的大小和地理分布,你也許正在使用最有效率或最沒有效率的工具來管理你的源代碼。但一個(gè)優(yōu)秀的程序員總是會(huì)使用一款源碼版本管理工具來管理自己的代碼。
5. 做一個(gè)優(yōu)秀的團(tuán)隊(duì)成員
除非你喜歡獨(dú)奏,除非你是孤膽英雄。在今天,沒有一個(gè)成熟的軟件是你一個(gè)人能做的到的,你可能是你團(tuán)隊(duì)中最牛的大拿,但這并不意味著你就是好的團(tuán)隊(duì)成員。你的能力只有放到一個(gè)團(tuán)隊(duì)中才能施展開來。
6. 把你的工作變成文檔
有良好的注釋風(fēng)格的代碼是一個(gè)文檔的基礎(chǔ),他能夠讓你和你的團(tuán)隊(duì)容易的明白你的意圖和想法。寫下文檔,并不僅僅是怕我們忘了當(dāng)時(shí)的想法,而且還是一種團(tuán)隊(duì)的離線交流的方法,更是一種知識(shí)傳遞的方法。記錄下你所知道的一切會(huì)是一個(gè)好的習(xí)慣。
7. 注意備份和安全
丟失東西是我們?nèi)松械囊徊糠?,你總是?huì)丟東西,這點(diǎn)你永遠(yuǎn)無法避免。比如:你的筆記本電腦被人偷了,你的硬盤損壞了,你的電腦中病毒了,你的系統(tǒng)被人入侵了,甚至整個(gè)大樓被燒了,等等,等等。所以,做好備份工作是非常非常重要的事情,硬盤是不可信的,所以定期的刻錄光盤或是磁帶可能會(huì)是一個(gè)好的方法,網(wǎng)絡(luò)也是不可信的,所以小心病毒和黑客,不但使用軟件方面的安全策略,你更需要一個(gè)健全的管理制度。此外,盡量的讓你的數(shù)據(jù)放在不同的地方,并做好定期(每日,每周,每月)的備份策略。
8. 設(shè)計(jì)要足夠靈活
作為一個(gè)優(yōu)秀的程序,你應(yīng)該隨時(shí)在思考這個(gè)死的東西是否可以有靈活的一面,比如把一些參數(shù)變成可以配置的,把一些公用的東西形成你的函數(shù)庫以便以后重用,是否提供插件方面的功能?你的模塊是否要以像積木一樣隨意組合?如果要有修改的話,你的設(shè)計(jì)是否能夠馬上應(yīng)付?當(dāng)然。靈活的設(shè)計(jì)可能并不是要你去重新發(fā)明輪子。你應(yīng)該盡可能是使用標(biāo)準(zhǔn)化的東西。所謂靈話的設(shè)計(jì)就是要讓讓考慮更多需求之外的東西,把需求中這一類的問題都考慮到,而不是只處理需求中所說的那一特定的東西。我們需要用動(dòng)態(tài)的眼光去思考問題,而不是刻舟求劍。也許有一天,你今天寫的程序就要移植到別的環(huán)境中去,那個(gè)時(shí)候你就能真正明白什么是靈活的設(shè)計(jì)了。
9. 不要搬起石頭砸自己的腳
有些Java程序員總是有一種不好的習(xí)慣,那就是總是想趕快地完成自己手上的工作。但情況卻往往事已愿違。越是想做得快,就越是容易出問題,越是想做得快,就越是容易遺漏問題,最終,程序改過來改過去,按下葫蘆起了瓢,最后花費(fèi)的時(shí)間和精力反而更多,欲速而不達(dá)。優(yōu)秀程序員的習(xí)慣是前面多花一些時(shí)間多作一些調(diào)查,試驗(yàn)一下不同的解決方案,如果時(shí)間允許,一個(gè)好的習(xí)慣是,每4個(gè)小時(shí)的編程,需要一個(gè)小時(shí)的休息,然后又是4個(gè)小時(shí)的編碼。當(dāng)然,這因人而異,但其目的就是讓你時(shí)?;仡^看看,讓你想一想這樣三個(gè)問題:1)是否這么做是對的?2)是否這么做考慮到了所有的情況?3)是否有更好的方法?想好了再說,時(shí)?;仡^看看走過的路,時(shí)??偨Y(jié)一下過去事,會(huì)對你有很大的幫助。