此篇文章出自雷軍之手,是他為軟件開(kāi)發(fā)2.0技術(shù)大會(huì)準(zhǔn)備的演講稿,但由于某些原因沒(méi)有派上用場(chǎng)。這里跟大家分享下,對(duì)我們程序員來(lái)說(shuō)還是大有裨益的。
每個(gè)IT企業(yè),尤其是初創(chuàng)企業(yè),非常苦惱:找不到好的程序員。現(xiàn)在大學(xué)、軟件學(xué)院,每年培養(yǎng)幾十萬(wàn)的程序員,畢業(yè)的每個(gè)人都有同樣困惱:找不到好的工作。問(wèn)題出在哪里呢?其實(shí),企業(yè)需要的是不是剛會(huì)寫程序的人,需要來(lái)了就能干活的人,尤其能把活干好的人。而剛畢業(yè)的大學(xué)生多半剛學(xué)會(huì)如何寫程序,的確很難滿足企業(yè)需求。所以畢業(yè)后找個(gè)靠譜的Java培訓(xùn)學(xué)校,進(jìn)行系統(tǒng)的學(xué)習(xí)與實(shí)踐是個(gè)很重要的選擇。動(dòng)力節(jié)點(diǎn)Java培訓(xùn)多年,在業(yè)界有著良好的口碑和很好的就業(yè)率。
建議一:只有真正喜歡才能寫好程序
喜歡寫程序,做程序員就是上天堂; 不喜歡寫程序,做程序員就是下地獄。
程序員需要整天趴在電腦前,經(jīng)常沒(méi)日沒(méi)夜的,非常辛苦,而且工作來(lái)不得半點(diǎn)虛假,少寫一個(gè)標(biāo)點(diǎn)符號(hào)都不行。喜歡的人,日子過(guò)得非常開(kāi)心,每寫一行代碼,都會(huì)有新的成就,尤其當(dāng)自己的作品被廣泛應(yīng)用的時(shí)候,那種自豪感油然而起。不喜歡的人,坐在電腦前極端無(wú)聊,被進(jìn)度壓得喘不過(guò)氣來(lái),天天為找bug改bug生氣。
只有喜歡,只有熱愛(ài),才能把程序?qū)懞茫?/p>
建議二:把程序當(dāng)藝術(shù)品,像寫詩(shī)一樣來(lái)寫代碼
現(xiàn)在很少有公司做代碼檢查,于是很多人在進(jìn)度的壓力下潦草應(yīng)付,只要測(cè)試通過(guò)就算搞定。表面上看,開(kāi)發(fā)速度很快,進(jìn)度有保障;但實(shí)際上,這樣的程序連開(kāi)發(fā)者自己都很難讀懂,一旦有bug,很難調(diào)試,將來(lái)維護(hù)升級(jí)都非常困難。這樣的代碼多半只能重寫,浪費(fèi)自然嚴(yán)重。
如果每個(gè)人寫程序的時(shí)候當(dāng)藝術(shù)品來(lái)寫,寫每行都認(rèn)認(rèn)真真、干干凈凈的,雖然速度略微慢了一點(diǎn),但綜合的開(kāi)發(fā)成本會(huì)低很多。
建議三:必須寫夠十萬(wàn)行代碼,不要心存僥幸
程序員像木工一樣,熟能生巧。程序員必須寫足夠代碼量的程序,才會(huì)有感覺(jué),這是一個(gè)苦力活,沒(méi)有任何捷徑可走。
計(jì)算機(jī)是一門實(shí)踐性的科學(xué),沒(méi)有動(dòng)手能力做支撐,很難做出好的科研成果。
建議四:時(shí)刻保持好奇心
計(jì)算機(jī)技術(shù)更新?lián)Q代非常快,每年都有各種各樣的新技術(shù)出現(xiàn)。在過(guò)去的編程語(yǔ)言中,需要時(shí)刻保持好奇心,不斷學(xué)習(xí)各種新的東西,才能在未來(lái)的幾十年職業(yè)生涯中不落伍。你要理解為什么iPhone出來(lái)很多高手用iPhone,現(xiàn)在一天到晚惦記著換部iPhone玩玩。
人的精力有限,高手往往工作壓力也比較大,如何在有限的時(shí)間內(nèi)掌握整個(gè)行業(yè)動(dòng)態(tài),的確是一個(gè)不簡(jiǎn)單的事情。我的經(jīng)驗(yàn)是經(jīng)常看業(yè)內(nèi)的各種技術(shù)雜志,參加各種聚會(huì),可以節(jié)約很多時(shí)間。重要的是,交幾個(gè)博學(xué)的技術(shù)高手,多和他們交流,一定獲益匪淺!
建議五:不要局限在技術(shù)本身,多花點(diǎn)精力關(guān)注用戶
做到前面幾條,就已經(jīng)是高手了。但一個(gè)真正的高手需要知道用戶需要什么,如何做出讓用戶滿意的產(chǎn)品。
現(xiàn)在的軟件研發(fā)越來(lái)越強(qiáng)烈團(tuán)隊(duì)協(xié)作,不少團(tuán)隊(duì)都配置了專門的需求分析的工程師、用戶界面及用戶體驗(yàn)的設(shè)計(jì)師,軟件研發(fā)的分工越來(lái)越細(xì)。很多程序員以為只要把技術(shù)搞好,不用管用戶需求和用戶體驗(yàn)。實(shí)際上,需求方案及界面方案不可能寫得非常細(xì),具體的實(shí)施還是程序員自己來(lái)實(shí)現(xiàn)的。這個(gè)時(shí)候,好壞的差距很快就體現(xiàn)出來(lái)了。
我們寫程序的目的是滿足用戶需求,不是簡(jiǎn)單完成需求規(guī)劃方案中的功能。所以,程序員一定要認(rèn)真揣摩用戶心理,能明白用戶的真實(shí)需求。