第二章 程序員與程序經理
工作在第一線的軟件開發人員是程序員和程序經理,他們決定著軟件的命運。良好的程序員隊伍和出色的管理是軟件項目成功的必要條件。管理不是管制,不是去卡住人家的脖子,因為程序員不是一群野鴨子。管理的目的是讓大家一起把工作做好,并且讓各人獲得各自的快樂和滿足。當一個組織被出色地領導時,雇員甚至不知道他們已被領導。在項目完成時,他們會自豪地說:“看看我們通過努力取得的成績吧”。所以管理者不能老惦記著自己是一個官,而應時刻意識到自己是責任的主要承擔者。
我們經常會聽到有經理頭銜的人在高談闊論:“編程我不會,做個項目還不easy?派個人去搞系統分析,回頭再叫幾個程序員把需求譯成程序,不就OK了嗎?”
不懂英語的人準以為easy和OK是貶義詞。要讓軟件項目失敗很容易,只要符合下列條件之一即可:
(1)項目經理對軟件一無所知;
(2)技術負責人對編程不感興趣;
(3)真真編寫代碼的程序員是臨時雇用的。
如果上述三個條件同時具備,就請放心失敗好了。
讓我們少幻想自己是比爾·蓋茨,先當好程序員和程序經理再說。
2.1 了 解 程 序 員
早期的程序員干活能從軟件直通硬件,個個生猛無比。又因他們的作息時間、言行舉止與常人不太一樣,久而久之就給人們留下了“神秘”、“孤僻”的印象。如今軟件行業被炒得熱火朝天,有能耐的程序員即便躲在大山岙的軍工廠里也能被挖出來。而更多原本不是程序員的人操起幾本“速成”、“二十一天通”等書籍也加入了這個行業,F在國內號稱有上百萬程序員,這支大軍魚龍混雜,已搞不清那些是正規軍,那些是民兵游擊隊了。
真正的程序員都有如下秉性:
一、誠實
程序員在學習與工作期間幾乎天天與機器打交道,壓根就沒有受欺騙或欺騙人的機會。勤奮的程序員在調試無窮多的程序Bug時,已經深深地接受了“誠實”的教育。不誠實的人,他肯定不想做、也做不好程序員。
有一名市場營銷員和一名程序員都在新聞發布會上發言,將一項新技術的消息公布于眾。
市場營銷員說:“這項技術比電話、晶體管和原子彈三項發明加起來對世界文明的影響都要大!
程序員說:“這項技術在有限的領域內,在有限的程度上,解決了一些技術性的問題!盵James 1999]
看來為了讓我們的民族更加誠實,學電腦真的要從娃娃抓起。
二、簡單——實用主義
有人問一個數學家,一個物理學家和一名程序員:“一個盒子有幾個面?”
數學家回答說:“有六個面,因為盒子是長方體!
物理學家回答說:“有12個面,分為6個外表面和6個內表面 !
程序員回答說:“只有兩個面,里面放電路板和硬盤,外面放顯示器和鍵盤!盵James 1999]
目前即使最先進的計算機也不具備智能,程序員的基本工作就是把復雜的問題轉化為計算機能處理的簡單的程序。如果一個問題復雜到連程序員自己都不能理解,他就無法編出程序讓更笨的計算機來處理。所以程序員信奉“簡單——實用”主義。
也有不少做計算機“學問”的人顛倒行事。本來幾句話、幾行程序就能說明白的事,非得要抬高到理論創新的程度,寫成玄乎的文章去評教授或者弄個博士學位。所幸在第一線工作的程序員大多是實干的。
三、愛憎分明
程序員大都喜歡技術挑戰,不喜歡搞測試與維護。高水平的程序員喜歡與高水平的程序員一起工作,因為他們怕“與臭棋佬下棋,棋越下越臭”。程序員大都厭惡拉幫結派、耍政治手腕。不信,數一數你認識的程序員,有幾個是黨派人士?
四、工作單調但不乏味
有人問編程大師:“程序設計的真正含義是什么 ?”
大師回答說:“餓了的時候就吃,困的時候就睡,只要時機恰當就進行程序設計!
其實程序員的生活和工作已融為一體,盡管單調卻不乏味,還能獨享孤獨。有詩為證:
我編程三日
兩耳不聞人聲
只有硬盤在歌唱
結論:優秀的程序員沒有理由不讓人喜歡,他們遠比怪僻來得可愛。
文章來源于領測軟件測試網 http://www.kjueaiud.com/