我看程式設計師 (轉)

worldblog發表於2007-12-03
我看程式設計師 (轉)[@more@]

朋友請我寫篇文章,談談如何。我非功成名就之高人,自己那點兒拿出來會被人的。但是看到周圍很多師弟師妹正在走我以前走過的錯路,使我不得不鬥膽說幾句,只望大家在員的道路上一帆風順就好。

程式設計師——一個譭譽參半的稱謂。想當初曾經被視作英雄,眾人景仰。而如今,卻被許多人瞧不起,客氣的說他們是“高技術工人”,不客氣的就直接稱其為“牛”了。圖靈獎獲得者,Edsgar Dijkstra在他的《卑微的程式設計師》一文中說:"對我來說,電腦程式設計師是個尊稱,但對其他一些人來說,電腦程式設計師確是不懂他自己在幹什麼,而是隻會依指令行事之徒,一些只知道分析、追求語言特性的人。”看來,許多人曲解了“程式設計師”這個名詞的涵義。那什麼樣的人才是真正的程式設計師呢?我斗膽給程式設計師分為四類,請大家對號入座。

一、高中生程式設計師

這裡絲毫沒有貶低高中生的意思。在美國,有大量的高中生從事程式設計師的職業,他們的工作就是編碼、編碼、再編碼。很可悲,目前中國的大學生基本都是做這樣的工作,甚至某些碩士、博士也是如此。

這一型別的程式設計師認為語言是最重要的。他們認真地學習語言的語法和庫。他們不停地學習語言,以為只要掌握的語言多、新,就能有競爭力,有好的工作。他們確實很厲害,VC、VB、、PB、、、等等都能拿來就用。但是,正因為他們,程式設計才被稱為“牛都可以乾的事”。

在正規的公司,高中生程式設計師整日都在添表格——工程師程式設計師把劃分模組,甚至詳細定義好了每一個函式,高中生們就是向這些函式里新增程式碼,如同添表格一樣。很多時候,高中生甚至不知道他做的專案是什麼,只知道這個函式的功能是什麼。

在國內,如此正規的軟體公司很少,大多數還處於作坊式的開發,所以,高中生程式設計師還是很吃香的。幾個人一商量就開幹,沒有完整的計劃,不考慮維護性、重用性,註釋懶得寫,文件更不提。這樣,專案非常依賴這幾個人,自然他們的日子過得很好。他們最頭疼的事情是後期維護,每當要加鹼功能、改的時候,他們就會發現自己已經看不懂自己寫的程式碼了。

軟體工程正在逐步實行,公司越來越正規,高中生程式設計師也就越來越難做了。年輕時,他們或許可以打拼一番,但是30、40歲之後,當他們對新語言、新技術的接受能力已比不過年輕的程式設計師時,他們也就退出了競爭行列。

當“軟體積體電路”的夢想變為現實,當各種可重用、、類庫都已經具備,那時就不再需要高中生程式設計師了。

二、程式設計師

駭客決不是那些到處黑機器搞破壞的人,他們是一群痴迷於技術的人。

他們從不循規蹈矩,不信奉任何規則、定理,總是從常人不可想象的角度去思考、程式設計、使用工具。這樣做的結果,或者發現,或者發現更高效、巧妙的方法。他們從不滿足於使用別人封裝的介面、定製的,總是要刨根問底,對技術的鑽研直至底層。

他們中間,高學歷者並不多,多的是熱血青年。對他們來說,當駭客程式設計師決不是職業,而是愛好。當一個人對自己所作的事充滿興趣時,他肯定能作出非凡的成果。這就是他們成功的根本原因。

駭客是推動技術進步的最重要力量之一。

三、工程師程式設計師

他們是企業的中堅,屬於管理階層。人們送給他們美稱——軟體工程師,但他們仍喜歡說自己是程式設計師,因為他們中的大多數是從高中生程式設計師成長起來的。

“軟體工程”是他們的法寶,在這套理論導引下,他們領導者整個軟體的開發過程。他們知道什麼樣的軟體是擁有市場的,知道需要什麼樣的軟體,知道該讓誰來編程式碼、誰來測試,使整個團隊協調一致。他們設計出了一個個可重用的模組,讓公司的開發工作越來越高效。他們設計出的系統都是可維護的,能夠方便地做各種修改、擴充。總之,他們是為高中生程式設計師做表格的人。

他們也懂技術,不過他們更注重的是技術的思想而不是末節的使用。比如當Java出現的時候,他並不是去學Java的語法、函式庫,而是看各種介紹Java的文章,聽別人的評論,領會Java的功能和思想,思考怎樣利用Java的特性。

隨著軟體業的發展,必須拋棄作坊式的手段,實施基於團隊的科學的管理和開發過程。所以對工程師的需求越來越大,然而現在合格的、富有經驗的工程師卻很少。

四、科學家程式設計師

有些科學家在設計出演算法後,將它交給別人在上實現。另一些科學家在設計的同時便考慮到可實現性,並能利用計算機的特性增強演算法,更可貴的是他們饒有興致地自己程式設計實現演算法。後一種科學家便是科學家程式設計師。

他們具有深厚的理論水平,帶動著計算機領域中各個學科的前進。

yours Sunner
sunner@0451.com
2000-12-27


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987716/,如需轉載,請註明出處,否則將追究法律責任。

相關文章