??
對(duì)于程序員來(lái)說(shuō),什么最重要?
??
對(duì)于程序員來(lái)說(shuō),最重要的莫過(guò)于對(duì)技術(shù)的掌握,可是應(yīng)該還有更重要的東西,那就是思考的能力。
??
作為有一定經(jīng)驗(yàn)的程序員來(lái)說(shuō),會(huì)發(fā)現(xiàn)學(xué)到的并運(yùn)用的知識(shí)大體上分為兩類,就是比較具體的知識(shí)和相對(duì)來(lái)說(shuō)不那么具體的知識(shí),例如
??? Oracle
的性能優(yōu)化有關(guān)的設(shè)置項(xiàng)目
??? Java
語(yǔ)言里面字符串的各種
method
的使用
??? Unix
負(fù)載測(cè)量的方法。
???
這些都可以說(shuō)是比較具體的知識(shí),基本上的類型都是
how
to
。學(xué)習(xí)這樣的知識(shí),最好的方法就是讀書(shū),上網(wǎng)讀讀文檔,也就是說(shuō)經(jīng)過(guò)一定的學(xué)習(xí)和訓(xùn)練就能掌握的知識(shí)。通過(guò)一定的學(xué)習(xí),每個(gè)人對(duì)這些知識(shí)的掌握不會(huì)有太大差別,換句話說(shuō),這些知識(shí)就是屬于那種查一下書(shū)就知道的那種。當(dāng)然了,還有另外一種,看看下面的例子。
???
從客戶那里獲取需求的方法。
???
項(xiàng)目的進(jìn)行中順利的進(jìn)行溝通的方法。
???
對(duì)于業(yè)務(wù)信息化的要求,決定采取什么樣的技術(shù)的思考能力。
這些知識(shí)相對(duì)來(lái)說(shuō)不是很具體,比較抽象,正因?yàn)楸容^抽象,所以獲取這些知識(shí)的途徑和方法并不是很明確。而且,同樣的學(xué)習(xí)每個(gè)人的所掌握得程度也不一樣。就拿順利溝通來(lái)說(shuō),不和很多人進(jìn)行實(shí)際的交往和溝通,不經(jīng)歷過(guò)一些失敗和挫折,不嘗試一些好的溝通方法和技巧,并不斷的總結(jié),光看書(shū)是不會(huì)學(xué)習(xí)到如何溝通的。
????
那么這兩種知識(shí)哪一種更有價(jià)值就不言自明了,一百個(gè)程序員里面有一百個(gè)人會(huì)說(shuō)第二種更有價(jià)值,更有用。那么我們不妨再考慮一下,換一個(gè)角度,不作為程序員而作為公司的管理者來(lái)來(lái)考慮這個(gè)問(wèn)題。對(duì)公司來(lái)說(shuō),熟練使用
java
和
oracle
的人有很多,光考慮這一點(diǎn)的話,
A,B
兩個(gè)人,雇誰(shuí)都一樣,也就是說(shuō),如果光具有前面所說(shuō)的具體的知識(shí)的話,你跟別人沒(méi)有任何差別,沒(méi)有差別說(shuō)白了也就是沒(méi)有競(jìng)爭(zhēng)優(yōu)勢(shì)。你可能會(huì)想,那么我學(xué)點(diǎn)
.net,
再來(lái)點(diǎn)
python,這樣總算可以了吧。其實(shí),只要是技術(shù),存在即有其存在的價(jià)值和理由,那么就肯定會(huì)有人掌握這些東西
,
也就是說(shuō),只要出錢(qián),公司一樣能找到這樣的人來(lái)代替你。
???
中國(guó)那么多程序員,但是熟悉這個(gè)行業(yè)的人都清楚地知道,好的程序員還是很少,大家都去學(xué)習(xí)
java,
都去學(xué)習(xí)
stuts,spring,hibernate,
每個(gè)人好像都是很了不起,當(dāng)你驕傲的時(shí)候,不妨想一想,你是不是不可替代的,你能不能做別人不能做的事情。要做一個(gè)一流的程序員,具體的知識(shí)當(dāng)然要學(xué)習(xí),同時(shí)更應(yīng)該去學(xué)習(xí)那些抽象的知識(shí)。對(duì)于一個(gè)項(xiàng)目來(lái)說(shuō),那些只懂技術(shù)的程序員就是一個(gè)標(biāo)準(zhǔn)件,標(biāo)準(zhǔn)件對(duì)公司的好處就是替換起來(lái)很容易。那么,好的程序員,在項(xiàng)目中起到舉足輕重的作用,別人無(wú)法替代,做這樣的程序員才應(yīng)該是我們的目標(biāo)。
???
再舉一個(gè)例子,我們都有過(guò)參加這種會(huì)議的經(jīng)驗(yàn),負(fù)責(zé)企劃的部門(mén)和負(fù)責(zé)技術(shù)的部門(mén)一起開(kāi)會(huì),企劃一方經(jīng)常會(huì)提出各種方案并向技術(shù)部門(mén)詢問(wèn)其可行性,而技術(shù)部門(mén)的人,馬上就說(shuō)不能實(shí)現(xiàn),并且用各種各樣技術(shù)詞匯來(lái)解釋為什么不行,企劃的一方,根本不懂這些技術(shù)詞匯,會(huì)議也就不歡而散了。在這種情況下,一個(gè)好的程序員就會(huì)說(shuō),這個(gè)根據(jù)目前的情況還不能判斷能不能實(shí)現(xiàn),在我們做出
Yes
或者
No
這樣的結(jié)論之前,不妨好好想想怎么才能實(shí)現(xiàn)。這樣的話,會(huì)議的氣氛就會(huì)向思考“怎么做才能實(shí)現(xiàn)”這樣的積極的方向發(fā)展,大家也都會(huì)更有興趣。
???
寫(xiě)程序,寫(xiě)設(shè)計(jì)書(shū),管理自己的日程這些都是最最基本的素質(zhì),僅有這些并不會(huì)成為一個(gè)好的程序員。好的程序員應(yīng)該是不斷地考慮,如何讓項(xiàng)目順利的進(jìn)行,如何讓對(duì)方積極的回應(yīng)你的意見(jiàn),并付諸于實(shí)踐,而且能夠?qū)崿F(xiàn)。這樣的程序員,才具有了別人不可替代的價(jià)值。
???
那么如何成為這種不可替代的程序員呢?沒(méi)有特別好的方法,建議到有一個(gè)。就是在日常的工作中有意識(shí)的要求自己去具有這種能力,不斷的考慮,現(xiàn)在的自己應(yīng)該如何思考才能成為一個(gè)不可替代的人,自己在哪些方面還有所欠缺,不斷的想這些問(wèn)題,不知不覺(jué)也就有了去深入思考的潛意識(shí),具有了這種潛意識(shí)之后,你平常所作的事情都會(huì)不知不覺(jué)地向這個(gè)目標(biāo)靠攏,一切都是在不知不覺(jué)中進(jìn)行的,這是第一步,也是最關(guān)鍵的一步。
?
??
寫(xiě)到這里,我不禁想起了前一陣在一個(gè)
Forum
里面聽(tīng)的一個(gè)人力資源方面的講座,講座的老師就提出了一個(gè)社會(huì)人要有能不依賴于公司的能力,這種能力是什么,說(shuō)簡(jiǎn)單了就是離了公司你能活的很好,再進(jìn)一步的話,就是公司離了你損失很大。成為這種人,人生的選擇就會(huì)更加自由了。我想具有不依賴公司的能力與這里面所說(shuō)的做一個(gè)好的別人無(wú)法替代的程序員的提法是比較統(tǒng)一的,只是從不同的角度闡述而已。
???
如果從談技術(shù)的角度來(lái)看的話,做一個(gè)好的程序員并不是會(huì)使用最新的技術(shù),會(huì)使用什么什么框架,而是有良好,全面,扎實(shí)的基礎(chǔ)。技術(shù)的發(fā)展并不是跳躍的,而是連續(xù)的,任何的一個(gè)所謂的新技術(shù),無(wú)非是某一個(gè)舊知識(shí)的重新包裝和整合,東西還是那么多東西,只不過(guò)用的方法和方式不一樣了。如果有一個(gè)好的基礎(chǔ),無(wú)論什么東西,你都會(huì)快速理解,看透其本質(zhì),掌握其精髓。但是任何一個(gè)人,都不可能一開(kāi)始就把基礎(chǔ)打得天衣無(wú)縫,一個(gè)好的程序員的學(xué)習(xí)曲線我想應(yīng)該是上上下下的,學(xué)習(xí)上面的新技術(shù)的同時(shí),靜下心來(lái)好好學(xué)習(xí)一下相關(guān)的底層的基礎(chǔ)知識(shí),不斷的循環(huán)往復(fù),不斷的積累,并且不浮躁,應(yīng)該是一個(gè)成為好的程序員的途徑。
posted on 2006-04-22 13:15
KnowNothing 閱讀(1688)
評(píng)論(4) 編輯 收藏