淺談對(duì)程序員的理解
程序員的位置:在軟件公司程序員是企業(yè)中最基礎(chǔ)的崗位,只要保質(zhì)保量的完成分派的任務(wù)就可以了,但在我看來好多程序員就連這一點(diǎn)都做不到。代碼寫得是一塌糊途,只要能正常運(yùn)行就算是萬事大吉,而且總是會(huì)告訴你沒有重構(gòu)的時(shí)間??稍谖铱磥沓绦騿T更應(yīng)該是個(gè)“作家”而不僅是個(gè)“司機(jī)”,寫出來的代碼是用來運(yùn)行的,想像一下別人都看不懂你寫的代碼,那你寫的程序會(huì)運(yùn)行多久呢?作家只有寫出好的文章別人才會(huì)去閱讀去欣賞,試想如果一作者寫出一篇連自己看了都覺得討厭東西又怎么會(huì)啟齒讓別人去看。同樣的對(duì)于程序員來說也應(yīng)抱有作家的心態(tài),始終想著我寫出的代碼是否別人看了會(huì)笑話?是否會(huì)贊嘆?應(yīng)該想到?jīng)Q大部分的代碼重構(gòu)工作是在開發(fā)階段完成的,而非后期逐漸完善的。一般來說,一套系統(tǒng)上線這后很少會(huì)再做代碼的重構(gòu)工作。
程序員的發(fā)展方向:我想沒有幾個(gè)人會(huì)想做一輩子程序員(即然有這樣的人年齡大了精力上也不允許),但很少有程序員會(huì)想到以后應(yīng)該做些什么,下面是我總結(jié)的幾個(gè)發(fā)展方向
走向管理:有兩種原因會(huì)使部分程序員走上管理的道路,一是與生俱來的對(duì)權(quán)力的欲望;一是在程序員的崗位上對(duì)自我價(jià)值重新認(rèn)知。對(duì)于前者如果欲望過去強(qiáng)烈就會(huì)急功進(jìn)利,很容易走捷徑,會(huì)出現(xiàn)不能服眾的情況。對(duì)于后者自我價(jià)值的重新認(rèn)知是一個(gè)緩慢的過程,一個(gè)程序員在長期的開發(fā)過程中會(huì)慢慢發(fā)現(xiàn)一個(gè)人的力量是有限的,做一件事情必須要借助其他人的幫助,如果需要?jiǎng)e人的幫助就必須能影響他人。從而認(rèn)識(shí)到一個(gè)人的價(jià)值對(duì)公司來說幾乎是不值一文,如果想讓自己的價(jià)值得到提升必須要影響到他人,借助他人的力量使自己的價(jià)值得到最大提升
走向行業(yè):即成為某個(gè)行業(yè)的行業(yè)專家。一般來說走這個(gè)方面需要機(jī)遇,需要長時(shí)間的從事某一個(gè)領(lǐng)域的開發(fā)與管理工作,對(duì)某個(gè)行業(yè)無論是大局還是細(xì)節(jié)都了如指掌。
走向?qū)I(yè):即成為架構(gòu)師。一般來說這些人對(duì)開發(fā)有狂熱的興趣,逐漸的從代碼的編寫中認(rèn)識(shí)到設(shè)計(jì)與軟件架構(gòu)的重要性,并對(duì)軟件設(shè)計(jì)樂此不疲。
自已干:這些人是野心家,也是風(fēng)險(xiǎn)最大的一條路。好多程序員都認(rèn)為軟件開發(fā)不需要什么成本,只要能接到單子完全可以自己干,自己當(dāng)老板。然而很少了解只有長期持續(xù)的訂單才是一個(gè)企業(yè)不斷穩(wěn)定發(fā)展的最重要因素。
程序員的價(jià)值:程序員很少能認(rèn)清自己的價(jià)值,總是用我會(huì)多少東西,我做了多少工作來衡量。然而對(duì)于企業(yè)來說,他看的是你為公司創(chuàng)造多少價(jià)值,這種雙方認(rèn)知的偏差往往帶來不可調(diào)和的矛盾。舉個(gè)例子,一個(gè)公司只做SQLServer做數(shù)據(jù)庫端開發(fā),而你即使對(duì)ORACLE再精通,你一樣對(duì)這個(gè)公司來說是沒有價(jià)值的。再比如你在某個(gè)公司做了很多工作,但你做的項(xiàng)目都沒有使公司賺到錢,同樣老板是不會(huì)多給你多少獎(jiǎng)金的。人生的機(jī)遇就象在等車,只要你有足夠的準(zhǔn)備,站在一個(gè)站牌很多的地方,一定會(huì)搭上你希望去的方向的公車。一個(gè)程序員的價(jià)值在于他的機(jī)會(huì),而很多機(jī)會(huì)一定會(huì)留給有實(shí)力的人,不要認(rèn)為自己懷才不遇,不要怨天尤人!
如何成為優(yōu)秀的程序員:
撥三心:恒心、耐心、細(xì)心
興趣決定一切:當(dāng)一個(gè)人把自己的職業(yè)僅當(dāng)成謀生的手段時(shí),那他的人生將會(huì)失去很多樂趣。如果你不喜歡軟件開發(fā),那最好離開這個(gè)職業(yè),沒有興趣只會(huì)讓你一事無成。
自我學(xué)習(xí):做程序員就是這樣,走上了一條永無止境的學(xué)習(xí)之路,不學(xué)習(xí)新知就會(huì)被淘汰。然而學(xué)習(xí)也是有方法的:1)拿來主義;2)知其然也要知其所以然。細(xì)細(xì)分析與研究別人的優(yōu)秀框架會(huì)對(duì)你大有好處
自我修復(fù):不斷的重構(gòu)與完善你的代碼,是對(duì)所學(xué)知識(shí)的達(dá)到溶匯貫通的最簡捷的途徑
找到一個(gè)圈子或老師:有時(shí)別人的一句話會(huì)對(duì)你的點(diǎn)撥很大。對(duì)于知識(shí)點(diǎn)有時(shí)只是一層窗戶紙,看似玄妙,也許你差的只是那靈光一現(xiàn)或是換一個(gè)角度思考,這并不難。難的是將你所了解的知識(shí)點(diǎn)串接起來,使其能上下貫通運(yùn)用自如,而在這點(diǎn)上通過一己之力會(huì)變得非常的漫長與痛苦。