初級程序員與高級程序員的做事
一般對于一個問題,初級程序員和高級程序員考慮問題的方法絕對是不同的。比如,在初級程序員階段時,他會覺得VB也能做出應用來,且看起來也不錯。
但到了中級程序員時,他可能就不會選擇VB了,可能會用MFC,這時,也能做出效果不錯的程序。
到高級程序員時,他絕對不是首先選擇以上工具,VB也好,VC也好,這些都不是他考慮的問題。這時考慮的絕對是什么才是具有最快效率、最穩定性能的解決問題的方法。
程序員到達最高境界的時候,想的就是“我就是程序,程序就是我”。這時候我要做一個軟件,不會有自己主觀的思路,而是以機器的思路來考慮問題,也就是說,就是以程序的思考方式來思考程序,而不是以我去設計程序的方式去思考程序。這一點如果不到比較高的層次是不能明白的。
其實不是的。在我設計這個程序的時候,相當于我“鉆”入這個程序里面去了。這時候沒有我自己的任何思維,我的所有思維都是這個程序,它這步該怎么走,下步該怎么走,它可能會出現什么情況。我動這個部分的時候,別的部分是否要干擾,也許會動一發而牽全身,它們之間是怎么相互影響的?
也只有到達這個境界,你的程序才能真正地寫好,絕對不是做個什么可視化。可視化本身就是“我去設計這個程序”,而真正的程序高手是“我就是程序”,這兩種方法絕對是不同的。比如,我要用VB去設計一個程序,和我本身就是一個程序的思維方式,是不一樣的。別人也許覺得操作系統很深奧,很復雜,其實,如果你到達高手狀態,你就是操作系統,你就能做任何程序。
對待軟件要有一個全面的分析方法,光說理論是沒有用的。如果你沒有經過第一、第二、第三、第四這四個階段,則永遠到達不了高境界。因為空中樓閣的理論沒有用,而這些必須是一步一步地去做出來。
一 個高級程序員應該具備開放性思維,從里到外的所有的知識都能了解。然后,看到世界最新技術就能馬上掌握,馬上了解。實際上,技術到達最高的境界后,是沒有 分別的。任何東西都是相通的,只要你到達這個境界以后,什么問題一看就能明白,一看就能抓住最核心的問題,最根本的根本,而不會被其他的枝葉或表象所迷 惑,做到這一步后才算比較成功。
從 程序員本身來說,如果它到達這一步以后,他就已經形成了開闊的思維。他有這種開放性思維的話,他就能做戰略決策,這對他將來做任何事情都有好處。事實上, 會做程序后,就會有一種分析問題的方法,學會怎么樣把問題的表象剖開,看到它的本質。這時你碰到任何具體的問題,只要給點時間,都能輕而易舉地解決。實際 上,對開發計算機軟件來說,沒有什么做不了的軟件,所有的軟件都能做,只是看你有沒有時間,有沒有耐心,有沒有資金做支撐。
這幾年,尤其是這兩三年,估計到2005年前,中國軟件這個行業里面大的軟件公司就能形成。現在就已經在形成,例如用友,它上市后,地位就更加穩固了。其他大的軟件企業會在這幾年內迅速長大。這時候,包括流通渠道、經銷商的渠道也會迅速長大。也就是說,到2005年以后,中國軟件這個行業的門檻比現在還要高很多,與美國不會有太大的差別。此時,中國軟件才真正體現出它的威力來。如果你是這些威力中的一員,就已經很厲害了。
如果他判斷錯誤一步,那公司以后再回頭就很難了。計算機的競爭是非常激烈的,不能走錯半步。很多公司以前看上去很火,后來就
銷聲匿跡了,就是因為它走錯一步,然后就不行了。為什么它會走錯?因為他不了解技術的本質在哪里,技術的發展方向在哪里。
比爾·蓋茨因為父母是學法律的,所以他本身就很能“侃”,很有說服力,而他又是做技術的,就非常清楚技術的方向在哪里,所以他才能把方向把握得很準確,公司越來越大。而別的公司只火一陣子,他卻火了還會再火。就算微軟再龐大,你如果不把握好軟件技術的最前沿,一樣也會玩完。就像Intel時刻把握著CPU的最新技術,才能保證自己是行業老大。技術決定它的將來。
所以,程序員要能達到這樣的目標,就要有非常強的耐心和非常好的機遇才有可能。事實上,現在的機會挺好的,2005年 以前機會都非常大,以后機會會比較小。但是,如果有耐心的話,你還是會有機會的,機會都是出在耐心里。我記得有句話說“雄心的一半是耐心”,我認為雄心的 三分之二都是耐心。如果你越有野心,你就越要有耐心,你的野心才有可能實現。如果你有野心而沒有耐心,那都是胡思亂想,別人一眼就能看穿。最后在競爭中, 對手一眼就看到你的意圖,那你還有什么可競爭的?
轉自:http://blog.pfan.cn/vagrant/31151.html