版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
程序員與程序經理工作在第一線的軟件開發人員是程序員和程序經理,他們決定著軟件的命運。良好的程序員隊伍和杰出的管理是軟件項目成功的必要條件。管理不是管制,不是去卡住人家的脖子,由于程序員不是一群野鴨子。管理的目的是讓大家一起把工作做好,并且讓各人獲得各自的快樂和滿足。當一個組織被杰出地領導時,雇員甚至不知道他們已被領導。在項目完畢時,他們會自豪地說:“看看我們通過努力取得的成績吧”。所以管理者不能老惦記著自己是一個官,而應時刻意識到自己是責任的重要承擔者。我們經常會聽到有經理頭銜的人在高談闊論:“編程我不會,做個項目還不easy?派個人去搞系統分析,回頭再叫幾個程序員把需求譯成程序,不就OK了嗎?”不懂英語的人準認為easy和OK是貶義詞。要讓軟件項目失敗很容易,只要符合下列條件之一即可:(1)項目經理對軟件一無所知;(2)技術負責人對編程不感愛好;(3)真真編寫代碼的程序員是臨時雇用的。假如上述三個條件同時具有,就請放心失敗好了。讓我們少幻想自己是比爾·蓋茨,先當好程序員和程序經理再說。2.1了解程序員初期的程序員干活能從軟件直通硬件,個個生猛無比。又因他們的作息時間、言行舉止與常人不太同樣,久而久之就給人們留下了“神秘”、“孤僻”的印象。如今軟件行業被炒得熱火朝天,有能耐的程序員即便躲在大山岙的軍工廠里也能被挖出來。而更多原本不是程序員的人操起幾本“速成”、“二十一天通”等書籍也加入了這個行業?,F在國內號稱有上百萬程序員,這支大軍魚龍混雜,已搞不清那些是正規軍,那些是民兵游擊隊了。真正的程序員都有如下秉性:一、誠實程序員在學習與工作期間幾乎天天與機器打交道,壓根就沒有受欺騙或欺騙人的機會。勤奮的程序員在調試無窮多的程序Bug時,已經深深地接受了“誠實”的教育。不誠實的人,他肯定不想做、也做不好程序員。有一名市場營銷員和一名程序員都在新聞發布會上發言,將一項新技術的消息公布于眾。市場營銷員說:“這項技術比電話、晶體管和原子彈三項發明加起來對世界文明的影響都要大?!背绦騿T說:“這項技術在有限的領域內,在有限的限度上,解決了一些技術性的問題。”看來為了讓我們的民族更加誠實,學電腦真的要從娃娃抓起。二、簡樸——實用主義有人問一個數學家,一個物理學家和一名程序員:“一個盒子有幾個面?”數學家回答說:“有六個面,由于盒子是長方體。”物理學家回答說:“有12個面,分為6個外表面和6個內表面?!背绦騿T回答說:“只有兩個面,里面放電路板和硬盤,外面放顯示器和鍵盤?!蹦壳凹词棺钕冗M的計算機也不具有智能,程序員的基本工作就是把復雜的問題轉化為計算機能解決的簡樸的程序。假如一個問題復雜到連程序員自己都不能理解,他就無法編出程序讓更笨的計算機來解決。所以程序員信奉“簡樸——實用”主義。也有不少做計算機“學問”的人顛倒行事。本來幾句話、幾行程序就能說明白的事,非得要抬高到理論創新的限度,寫成玄乎的文章去評專家或者弄個博士學位。所幸在第一線工作的程序員大多是實干的。三、愛憎分明程序員大都喜歡技術挑戰,不喜歡搞測試與維護。高水平的程序員喜歡與高水平的程序員一起工作,由于他們怕“與臭棋佬下棋,棋越下越臭”。程序員大都厭惡拉幫結派、耍政治手腕。不信,數一數你結識的程序員,有幾個是黨派人士?四、工作單調但不乏味有人問編程大師:“程序設計的真正含義是什么?”大師回答說:“餓了的時候就吃,困的時候就睡,只要時機恰當就進行程序設計。”其實程序員的生活和工作已融為一體,盡管單調卻不乏味,還能獨享孤獨。有詩為證:我編程三日兩耳不聞人聲只有硬盤在歌唱結論:優秀的程序員沒有理由不讓人喜歡,他們遠比怪僻來得可愛。2.2了解程序經理這里程序經理是指一支程序員隊伍的領導者,不管他的職務是開發組長,項目經理,還是部門經理。程序經理是技術性的基層或中層干部,是軟件公司得以發展的生力軍。程序經理的選拔是不容草率的事。不象有些事業單位,只要政治標語喊得勤快、能左右逢緣不犯錯誤就可混個領導當當。也不象一些官僚機構,只有兩個人的辦公室也要設正主任和副主任。假如恰巧正主任姓傅,副主任姓鄭,還會斗個沒完沒了。在一個管理混亂的軟件公司里,假如某個程序員能大喊大叫并且干勁十足,那他就能成為一名程序經理。微軟公司在選擇經理人員時,總是把他們的技術知識和運用技術去賺錢的能力放在首位。程序經理一般就是程序員隊伍中最聰明的那個家伙。比爾·蓋茨曾這樣描述聰明人[Cusumano1996]:聰明人一定反映靈敏,善于接受新事物。他能迅速進入一個新領域,給你一個頭頭是道的解釋。他提出的問題往往一針見血、擊中要害。他能及時掌握所學知識,并且博聞強記,他能把本來認為互不相干的領域聯系在一起使問題得到解決。他富有創新精神與合作精神……好的程序經理應當具有以下幾個條件:一、技術水平是程序員隊伍中的最高級別每個程序員骨子里頭都有一股傲氣,假如你不能技壓群雄,他們就不會聽你指揮。一個技術水平較差的人被任命為程序經理真是個悲劇,就象一個略有權勢的太監,表面上有人對他點頭哈腰,背后卻被人鄙視。二、能做最多且最難的工作程序經理編程要快且好。別人要干一天的活,他半天就能做完,這樣才會有精力去搞管理。程序經理應負責系統分析、系統設計這類最難的開發工作,并指導不同水平的程序員把各自的工作做好。假如人手不夠,程序經理要能同時干幾個人的活。三、有人格魅力軟件開發是智力創作過程,你不能指望僅通過執行規章制度來產生好的作品。很多軟件公司的程序經理都不是管理專業出身的,他們也不也許為了搞好管理而整天玩弄心機。技術杰出的程序經理一般少有心術不正的,所以管理的重點應是“以身作則”、“公正待人”。假如程序經理在上班時趴在桌上睡覺,其他程序員也會這樣干。假如程序經理發現有兩個程序員趴在機器旁睡覺,不能只對其中一個大聲吼叫:“你一編程就想睡覺,看看人家,在睡覺時都想著編程?!奔偃绻芾碚邲]有人格魅力,就沒有人信服你,團隊就不會有凝聚力,烏合之眾不也許開發出優秀的軟件。結論:一個有活力的軟件公司的各級經理都不會這樣感慨,“由于我啥也不會干,所以只好當領導?!?.3程序員升為經理后是否還要編程讓我們先看看Microsoft公司的系統軟件部門與應用軟件部門的領導是如何看待這個問題的[Cusumano1996]。WindowsNT3.0項目的軟件經理婁·帕雷羅里讓他手下的經理們像他同樣天天花一半的時間編寫代碼:我在組內制定了許多規則,其中最重要的一條是每個人都得編程,誰也別想坐在那兒發號施令……我發現管理者很容易失去目的,他們總是無法結識到問題的本質并且反映遲緩。假如你始終不放棄編寫代碼,你就能對項目的進展情況了如指掌,及時發現并解決問題……我大約天天花一半的時間編寫代碼并尋找項目的缺陷。作為應用軟件領域的經理,克里斯·彼得斯也持同樣的見解。在他任Word項目總經理時就認為:在一些大公司內部,各部門經理把具體操作的層次向下移。你一旦當上開發部門經理,不久就會以自己身居高位、日理萬機為由放棄編程;同樣地,開發小組的組長會以自己重任在肩而不愿編程;至于程序員也會覺得自己十分繁忙、分身無術而不再多編寫程序。雖然我是270名員工的領導,似乎不再需要做什么具體的工作了,但我還是為Word新版本編寫了一個特性。程序員升為經理后一定要編程,這個道理已經說得很清楚了。最怕的是“虛心接受,堅決不做”;或者僅是做個樣子,天天花一分鐘時間編程,編譯器還沒運營完就關掉了。2.4經理與技術隊伍的建設假如是經營一個加工廠或一個飯店,經理們可以不必懂技術。由于他們的常識,以及通過耳聞目睹或者征詢都能解決實踐中的問題。在軟件領域,技術的力量是無窮的,一天之內就可使整個產業發生巨變。也許你在商業上很精明,但無法保證自己在技術浪潮中安然無恙。軟件公司的各級經理最佳既精通技術又懂管理。一個杰出的領導,加上一支技術過硬的隊伍,才有也許發明業績。不能光指望請來孫子或諸葛亮當教練,就能讓弱不禁風的男足去捧世界杯。不少人總喜歡自吹中國人很聰明,最適合搞軟件開發??芍两褚矝]有做出幾個很光彩的軟件來,這與十三億人口不呼應啊。新中國歷來喜歡與可憐的印度相比較來展現豐富多彩的優越性,可是軟件產業沒法與人家比。工作在第一線的程序員與程序經理應當意識到:好兵好將都不是天生的,是后天練出來的;既要學會冷靜地分析問題,又要充滿激情地去工作。軟件公司總希望能物色到既精通技術又善長商業的優秀人才做經理。但已經出名了的優秀人才難以請到,也難以留住。所以把公司中的普通員工培養成為優秀人才是重要的舉措。公司的老板不要對程序員抱有偏見,認為他們只配與機器打交道。一個高水平的程序員既然能學好數字邏輯,能理得清楚軟件中很多象“嵌套”這類“雞生蛋并且蛋又生了雞”的錯綜復雜的關系,從理論上講當個縣長也不成問題?,F在很多女士不會燒菜,卻能把菜的營養講得頭頭是道。雖然這是個值得哀嘆的社會問題,但我們應當有信心期待:假如她們非得天天燒菜不可,那么不久就能把菜燒得又好吃又有營養。許多程序員不懂商業,不是智力上的因素,重要是個人愛好和環境所致。軟件公司的老板應當這樣鼓勵有靈氣的員工:“你能把技術做得那么棒,還怕搞不好管理?放心干吧!”的確,很多技術人員是在工作中領悟如何管理的,他們通過挫折與磨練,逐漸升為組長、項目經理,乃至成為公司重要的決策者。優秀的程序員喜歡與優秀的程序員一起工作,這是一種抱負的愿望。一個普通的軟件公司不也許有非常多的優秀程序員,即便有,他們也不也許天天聚在一起干同一件事并且和睦得無法形容。中國自封建社會起就有喜好內斗的風俗習慣,幾千年下來早已滲透到社會各個角落,那怕黃河水流斷了,估計這民風也會延襲下去。要使程序員隊伍穩健,必須有合理的等級制度來維護。等級制度并不限制自由和民主,它能讓自認為聰明絕頂、誰也不服的人們懂得如何合作與奮斗。就象有了一架梯子,每個人才有機會爬上墻頭摘下那向往已久的野花。當梯子散成一堆木棍時,只也許造就幾個賣炭翁。下面我們嘗試著建立一個程序員隊伍的等級制度。把技術水平分為四級,第一級最低,第四級最高。第一級技術水平的程序員重要考核編程基本功,規定質量合格(他們重要來自剛畢業的大學生)。第二級技術水平的程序員編程質量要高,做過幾個軟件項目,有數年的工作經驗,并能指導新手的工作。第三級技術水平的程序員重要考核系統分析與系統設計的能力,規定其技術有足夠的深度和廣度。第四級技術水平的程序員是成功的軟件產品的設計師,他不僅技術超群,并且能使技術轉化為有價值的商品。把管理(這里僅指軟件業務的管理,不考慮行政事務)水平也提成四級。第零級最低,第三級最高。第零級管理水平的人沒有管理職務,就是普通員工。第一級管理水平的人是開發小組的組長,可帶領幾名程序員工作。第二級管理水平的人是項目經理。第三級管理水平的人決定某些產品是否要開發,以及如何去占領市場。每個程序員都有明確的技術級別和管理級別。技術級別與管理級別有一定的聯系。一般地,第一級技術水平的人只能做普通員工;第二級技術水平的人可以當一名組長;第三級技術水平的人可以當一名項目經理;第四級技術水平的人可成為公司產品的決策者。如圖2.1所示。本書作者目前的技術水平當屬第二級,管理水平符合組長的規定。作者在讀中學和大學時就曾美滋滋地當過課代表,也就是組長級別。技術級別管理級別四級決策者三級項目經理二級開發組長一級普通員工圖2.1技術級別與管理級別2.5向錯誤與失敗學習不管是生活或工作,人們都應當向錯誤與失敗學習,目的是讓我們在短暫的健康年華中少犯錯誤、少失敗,多做幾件對的的對社會有奉獻的事。導致軟件項目失敗的因素很多,假如不去找借口的話,就會發現錯誤的根源在自己身上:知識貧乏、才干低下、經驗局限性、驕傲自負……。我們必須正視自身的局限性與缺陷,才會學到經驗教訓。可人們常有太多的虛榮,為了克服心理障礙,白白浪費了很多本該用于發明的精力。假設犯錯誤的人是誠實的并且是勤奮的。他樂意不帶虛榮地改善自己。當這個人忽然面對失敗時,也許覺得自己一無是處,也許會不知所措,也許會病急亂投醫。程序員都有一種共同的體會:在調試程序時,時常碰到只有十幾行的程序竟會產生上百個編譯錯誤;最后發現這么多的錯誤其實是由某一行程序錯誤引發的。當我們在工作中碰到挫折時,先要冷靜地分析問題(事出有因哪),找出問題的內因與外因。內因是最重要的,應當予以最先解決。前幾年,中國出現了一個叫“法輪功”的邪教,教徒達數百萬之多,人民群眾深受其害。不久前,全國的重要媒體對“法輪功”進行連續數月的聲討與揭露。目睹了很多受害人的哭訴后,相信人們可以明白“法輪功”是邪惡的、反動的。但在憤怒與心痛之余,我們不禁要反思:為什么那么多人輕信邪教?人們是否接受了教訓?在電視上看到很多人的確作了深刻的檢討:“我真是后悔啊,跟錯了李洪志(法輪功的頭頭)這個壞蛋,我對不起社會……。以后我一定要聽黨組織的話,黨叫我干什么我就干什么,決不上壞人的當?!蔽矣X得這些受害人一點都沒有醒悟:他只知道法輪功是個邪教,并不知道自己為什么信了邪教。有些事情只要用腦袋去想一想就能分辨是非,可人們就是不去思考,卻渴望能跟對“福星”,甘愿把自己的腦袋拴在別人的褲帶上。難道這就是人民的純樸與可愛嗎?回顧一下歷史,在“文革”時期,億萬人民跟著合法的黨組織大干傷天害理的事,一干就是十數年哪!可見世界上哪個人哪個組織都不能保證絕對的英明。所以說“迷信”是傻子碰到騙子的結果。傻是內因,被騙是外因。傻子碰到好人未必能做出好事,傻子碰到另一個騙子就會做出另一件傻事。為了不讓自己“傻”,善良的人們應當用腦子去多學一些知識,努力讓自己來把握命運,不要急著把一生托給某個人或某個組織。軟件人員在遭受項目失敗并開始反省時,不要只是就事論事地僅把眼光鎖在特定的項目上,吃一塹應當長好幾個智才對。本書作者剛剛失敗過,樂意乘熱講講感受。我在讀本科和碩士研究生時,一直信奉“發明性的事業要靠激情來推動”。我把這個標語貼在辦公室里,并扔掉物理學專業天天編程。在讀碩士研究生的第一年,我賣出了第一份軟件。到我讀博士研究生的第一年,我心想事成地獲得了全國大學生電腦大賽軟件展示第一名。那時候我自認為翅膀已經硬了,再回顧前些年的艱苦,不禁有“媳婦熬成婆”的悲壯感覺。于是我在杭州這個小地方略作宣傳,在1997年10月份開了一家軟件公司。我開始把“振興民族軟件產業”列入日程,并且提前擔憂將來錢掙得太多用不完該怎么辦。半年之后,我開始為軟件產品作宣傳,可并沒有出現訂單如潮、接應不暇的形勢(事實上壓根就沒有反映)。我已經意識到市場沒找對,但仍覺得軟件中的技術很有價值,準備再開創“東方不亮西方亮”的新局面。于是我向只有一面之緣尚在北大方正工作的一位朋友求助。他是真真的軟件高手,當我小心翼翼地展示約10萬行C++代碼的軟件時,他競在十幾分鐘內就指出多處重大的設計錯誤,使我目瞪口呆地意識到整個軟件系統的價值為零。那種心痛啊,就象眼睜睜看著孩子被狼吃掉同樣。1998年10月,這位朋友再一次從北京飛到杭州,三下五除二替我把只活了一年的公司給關閉掉。他放心不下,覺得我“惡病需用猛藥補”,于是意尤未盡地把我捉到北大方正插在他管轄的部門,讓我學習如何做事情。北京寒冷的冬天可以營造一種凄涼的氣氛,沖去一切可以自我原諒的借口。我并不是太愛虛榮的人,知道這次失敗是我的毛病積累到一定水準忍不住噴發出來的結果。我絕不能以年紀尚輕不太懂市場與管理為理由輕率地敷衍過去。我把自己察覺到的數十個毛病列出來,日后一個一個克服掉?!緯拇蟛糠謨热萑∽晕以谝荒昵暗慕逃栦?。改錯之后,現在我不僅不傷心并且挺快樂。覺得第一次失敗很浪漫,值得懷念。剛開始寫這本書時,我那位北京的朋友把腳伸到杭州來散步,順手又給了我幾帖藥,可以用到我畢業??磥砣毕菔歉牟煌甑?補短和揚長要一起來。2.6提高綜合素責?前面給軟件開發人員加了過多的贊譽。一個技術杰出的程序員可以自豪,但不可以目空一切。上天不也許賦于一個人太多的優點,以致于他沒有表達謙虛的余地。我們在求學時也許太功利太挑剔,導致知識結構非常單薄,只怕到了晚年也成不了大器。當程序員擅長技術時,還要時刻留意填補自己并不擅長的非技術才干。揚長補短才干提高綜合素質。假如能回到中學時代,我希望能把文科學好。那時侯盛傳“學好數理化,走
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山地集雨補灌工程設計方案
- 鋼結構防火防腐涂裝施工實施技術方案
- 高支模搭設拆除安全培訓課件
- 噴漆作業職業健康管理制度
- 水產養殖飼料投喂管控手冊
- 無人機常見故障處理規范
- 行政專員公司會務接待組織操作手冊
- 工地揚塵防治管理規范
- 數字貿易發展機制與演變趨勢研究
- 2024-2025學年湖北新高考聯考協作體高二9月起點考試化學試題及答案
- 2024年成人高考專升本《數學》考試真題附答案
- GD-C3-51939 機房供配電系統檢驗批質量驗收記錄
- GB/T 6829-2024剩余電流動作保護電器的一般安全要求
- 初中數學因式分解練習題100題附詳解
- 電商倉庫商品出庫流程培訓課件
- 安徽-建標〔2017〕191號附件-2018工程量清單計價辦法
- 2024年人民網總網招聘筆試參考題庫含答案解析
- 第六章-古樹名木的養護管理課件
- cw3-2500m萬能式斷路器說明書
- 渝18M01 重慶市城市道路交通安全設施安裝與支撐結構設計標準圖集 DJBT 50-112
- 遼寧省葫蘆島市教育心理學知識教師招聘考試
評論
0/150
提交評論