論一個程式設計師的職業素養

袁野發表於2013-02-27

周星馳的《西遊降魔篇》在新年檔期火熱了一把,票房節節高,觀眾對本片褒貶不一。其中的一些鏡頭太過暴力,並不適宜兒童觀看。小編也看了這部電影總體感覺一般驚喜不足(星爺粉勿噴),也許是周星馳的喜劇創意在枯竭,只能炒炒冷飯效仿之前的題材。而他的另一部經典《喜劇之王》,卻一直被人們津津樂道,也堪稱他的無厘頭式喜劇的巔峰之作。周星馳在片中扮演的尹天仇也給小編留下了深刻的印象,尤其是他經常拿著那本《一個演員的自我修養》時刻鞭策著自己,讓小編深深體會到要想成功一定要“努力、奮鬥”,時刻鞭策自己,這樣才能像片中尹天仇那樣挺直腰板說出那句“其實我是一個演員”!

enter image description here
《喜劇之王》片中截圖

而身為一名程式設計師要想挺直腰板說出“其實我是一個程式設計師”,也要時常鞭策自己,養成一個良好的職業素養。Bob大叔也在他的《程式設計師的職業素養》一書中也提到,承擔責任、信守諾言,始終保持整潔、自律;堅持學習、不斷練習等都是身為一名專業程式設計師應具備的優良品質。Bob大叔用其40餘年的程式設計生涯體會告訴大家,成為真正專業的程式設計師, 需要什麼樣的態度、原則、行動?想要更深一步瞭解Bob大叔可參閱:圖靈訪談——Bob大叔:程式設計“老師傅”和他的職業素養

enter image description here

我猜,你之所以拿起這本書,因為你是程式設計師,“職業素養”這個說法吸引了你。你應該如此。我們這種專業人士迫切渴求的,正是“職業素養”。

我也是程式設計師。我編了42年的程式。這42年裡,我什麼都經歷過。我被開除過,也被表揚過。我當過小組長,當過主管,也當過普通員工,甚至當過CEO。我的同事有聰明絕頂的,也有混日子的懶蛋 。我曾經開發過尖端的嵌入式軟硬體系統,也寫過尋常公司的工資系統。我用過COBOL、FORTRAN、BAL、PDP-8、PDP-11、C、C++、Java、Ruby、Smalltalk,還有其他許多語言和系統。我的同事有混工資的傢伙,也包括無可挑剔的專業人士。本書要講的,正是那些無可挑剔的專業人士。

在這本書裡,我會嘗試定義專業程式設計師。我會講解,成為真正專業的程式設計師,需要什麼樣的態度、原則、行動。

這些態度、原則、行動從哪裡得知?它們源於我一路走來的親身體會。坦白說,看到我第一次作程式設計師時的表現,你幾乎不會想到與“專業”二字搭邊。

我曾經因為粗心耽誤了關鍵日期被炒魷魚,因為不小心向客戶洩露機密資料幾乎被炒魷魚。我曾經領導過一個沒指望的專案,看著它垮掉,明知需要他人幫助卻無動於衷。我曾經好強地維護自己的技術決策,即便這些決策在客戶的需求面前黯然失色。我曾經僱用完全不合適的人,給我的僱主背上沉重的負擔。最糟糕的是,因為我領導無方,導致其他兩個人被開。

所以,請你把這本書看成我的錯誤大全,它記錄了我幹過的所有蠢事;也請你把這本書當成一份指引,讓它帶你繞開我曾經走過的彎路。

——《程式設計師的職業素養》

承擔責任、信守諾言

今天的程式設計師肯定得去面對諸如估算、確定最後期限以及面對面交流等溝通活動。做出承諾或許聽來令人有點害怕,但它能夠幫助程式設計師解決在溝通中可能發生的不少問題。如果你能夠一直信守承諾,大家會以為你“是一名嚴謹負責的開發人員”。在我們這行中,這也是最有價值的評價。

專業人士不需要對所有請求都回答“是”。不過,他們應該努力尋找創新的方法,儘可能做到有求必應。當專業人士給出肯定回答時,他們會使用承諾用語,以確保各方能明白無誤地理解承諾內容。

enter image description here

上期講到大廚也要做手機了 羅老師你的呢?這不羅永浩的錘子手機Smartisan OS釋出會將於3月27日召開。小編自知還沒這麼大的威力吧,呵呵!總之,在經歷了多次跳票之後,錘子手機的ROM終於要來了。羅老師希望你這次信守承諾不要跳票,而且,你要超越蘋果的承諾也希望順帶信守一下!

老羅給了你自己的手機ROM許多溢美之詞,不知到時候釋出出來的會是一個什麼樣子?但如果能夠做到簡單、易用、良好的使用者體驗,應該也能完成一場華麗的逆襲。

《簡約至上》一書的作者Giles Colborne 提到,追求簡單易用是人類的本性,無論是網際網路產品,還是移動應用,亦或其他互動式設計,簡單易用始終都是贏得使用者的關鍵。同時,簡單易用的程度也與產品壽命的長短密切相關。

矽谷創業之父Paul Graham在《黑客與畫家》一書中也提到,"好的設計是簡單的設計,在數學中,它表示簡短的證明往往是更好的證明。特別是對於數學公理來說,少即是多。在程式設計中,這種說法也基本適用。對於建築師和設計者,它意味著美依賴於一些精心選擇的結構性元素,而不依賴於表面裝飾品的堆砌。"

始終保持整潔、自律

快速前進確保最後期限的方法,便是保持整潔。專業人士不會為了快點前進而亂來。他們明白“快速但髒亂”是自相矛盾的說法。髒亂只會導致緩慢!

讓系統、程式碼和設計儘可能整潔,就可以避免壓力。這並非是說我們要花無窮無盡的時間去清理程式碼,而只是說不要容忍混亂。混亂會降低速度,導致工期延誤,承諾失信。因此,要盡力保持輸出成果整潔乾淨。

觀察自己在危機時刻中的反應,就可以瞭解自己的信念。如果在危機中依然遵循著你守持的紀律,就說明你確實相信那些紀律。反過來說,如果在危機中改變行為,就說明你並不真正相信常規行為中的原則。

如果在非危機時刻你會遵循測試驅動開發的紀律,但是在危機時刻你放棄了這種做法,就說明你並不真正相信TDD是有幫助的。如果在平常時候你會注意保持程式碼整潔,但在危機時刻你卻會產出混亂的程式碼,就說明你並不真正相信混亂會導致速度下降。如果在危機時刻你會結對工作,但平時卻不結對,就說明你相信結對工作比不結對更有效率。

選擇那些你在危機時刻依然會遵循的紀律原則,並且在所有工作中都遵守這些紀律。遵守這些紀律原則是避免陷入危機的最好途徑。

當困境降臨時,也不要改變行為。如果你遵守的紀律原則是工作的最佳方式,那麼即使是在深度危機中,也要堅決秉持這些紀律原則。

時間管理

8小時其實非常短暫,只有480分鐘,28800秒。身為專業開發人員,你肯定希望能在這短暫的時間裡儘可能高效地工作,取得儘可能多的成果。有什麼辦法能確保不浪費這寶貴的時間呢?怎樣才能有效地管理時間?

enter image description here

我用來管理時間的有效辦法之一,是使用眾所周知的番茄工作法 。其基本思想很簡單:把廚房用的計時器(通常它的形狀很像番茄)設定到25分鐘。倒數計時期間不要讓任何事情干擾你的工作。如果電話響了,接起來並禮貌告訴人家,請在25分鐘之後打來;如果有人來打斷你問問題,禮貌地問他是否能過25分鐘再來問。無論什麼干擾,都必須等到25分鐘結束再處理。畢竟,幾乎沒有事情會緊急到25分鐘都等不了。

計時器響的時候,停下手上的工作,轉去處理這25分鐘內遇到的其他事情。之後休息5分鐘左右。然後,再把定時器設定為25分鐘,開始一個新的番茄時間段。每完成4個番茄時間段時間,休息30分鐘左右。

堅持學習、不斷練習

軟體行業的飛速改變,意味著軟體開發人員必須堅持廣泛學習才不至於落伍。不寫程式碼的架構師必然遭殃,他們很快會發現自己跟不上時代了;不學習新語言的程式設計師同樣會遭殃,他們只能眼睜睜看著軟體業徑直向前,把自己拋在後面;學不會新原則和技術的開發人員必將淪落,他們身邊的人都日益卓越。

學無止盡,每天都會有新的東西冒出來,而一些驚世駭俗的東西也許正在某個車庫、某個辦公室、某個角落悄悄的醞釀之中。所以,堅持學習、不斷練習也是專業人士的優良品質。如果無法跟上新技術的發展腳步對於程式設計師來說那就意味著被淘汰。在一些網際網路公司員工的平均年齡都在30歲左右,真正的永遠30歲呀!

以下推薦幾本圖書供大家學習一下

enter image description here
《程式設計師的數學》
本書面向程式設計師介紹了程式設計中常用的數學知識,藉以培養初級程式設計師的數學思維。讀者無需精通程式設計,也無需精通數學,只需具備四則運算和乘方等基礎知識,就可以閱讀本書。

enter image description here
《R語言實戰》
學懂分析,玩轉大資料。本書先介紹了R語言,然後舉例說明了R語言的各種特性,內容涉及資料探勘方法、R的可擴充套件的圖形環境、有用的附加模組以及如何將R與其他軟體平臺和資料管理系統互動。

enter image description here
《響應式Web設計》
前端設計人員必備教程,全面應用HTML5和CSS3。本書堪稱學習響應式Web設計的難得佳作。它不僅全面、細緻、圖文並茂地介紹了響應式設計相關的技術,比如媒體查詢、流式佈局、彈性媒體和彈性字型等等,還把近幾年來Web設計領域公認的最佳設計理念有機地融入到了例項當中,比如移動先行(Mobile First)、漸進增強、平穩退化、無障礙設計等等。

enter image description here
《移動應用UI設計模式》
本書力求通過截圖和圖解幫助讀者更好地理解和利用UI設計模式,以解決常見的設計難題,為其提供“即學即用”式的技巧和經驗。特針對當前的iOS、 Android、BlackBerry、WebOS、 Windows Mobile和Symbian應用提供了400多個螢幕截圖。

enter image description here

《Go語言程式設計》

本書首先概覽了Go語言的誕生和發展歷程,從程式導向程式設計特性入手介紹Go語言的基礎用法,還介紹了Go語言標準庫和配套工具的用法,包括安全程式設計、網路程式設計、工程管理工具等。

相關文章