程序員最常犯的五大非技術性錯誤

對於程序開發者來說,有兩種技術需要我們掌握,一個是技術上的能力,另一個是非技術上的能力。不幸的是,許多程序員過多地關注了技術上的能力,而忽略了非技術上的能力的培養,因此,我們的程序員們經常會有一些很不好的習慣,這裏我們例舉了程序員們最常犯的5個非技術性錯誤,與大家共勉。

1.- 缺乏團隊紀律

“Discipline is the bridge between goals and accomplishment.” Jim Rohn.

紀律是一個最有價值的技能,不僅僅只是在軟件開發領域,同樣在其它領域也是一樣的。但對於現實來說,我們很難找到即有才華又有紀律的人。這正如足球隊一樣,非洲的球員們才華相當的出衆,可惜他們總是獨自爲陣,團隊紀律性不足,所以可以有好的成績,但卻無法贏得最後的勝利;而德國隊的隊員個人技能平平,但其有很強大的團隊紀律性,所以,總是能打入最後的決賽並獲得冠軍。有人說過,個人英雄並不可怕,而有強大紀律性的團隊才讓人可怕。這正是日本這個民族的可怕之處。況且,軟件開發從來都不是一個人可以完成的事情,所以團隊工作中的紀律性會是非常重要的。

Steve Pavlina 強調了自律中5個因素:“承擔, 毅力, 努力, 勤奮, 和堅持。” 這裏,我們強烈推薦你讀一讀Steve的 關於自律的文章。

下面是我們覺得程序應該有的比較良好的習慣。

◆每天都有自己的to do list

◆在一個時間內只做一個事

◆把事情做對了

◆事情沒有完全完成時不要輕易結束

◆慢點總比道歉好,道歉總比不做好

2.- 過度自負

我們的經驗告訴我們,過度的自負的人一般是意識不到自己的自負,下面是一些過度自負的特徵,希望你可以從中檢測一下自己是否過度自負了。

◆覺得自己是最牛的程序員

◆總是打斷談話

◆你要求Code Reivew不是要檢查代碼,而是向大家炫耀你的代碼

在網上有太多的文章關於程序員的自負的問題,這裏有兩篇,你可以看看:一篇是Mike Bernat的 Egoless programming(無自負編程) 還有一個是stackoverflow.com 上的一個貼子。

3.- 溝通不暢

“如果我要說十分鐘,我需要一週做準備;如果說15分鐘,我需要3天做準備;半個小時,我需要兩天;如果說一個小時,我現在就準備好了。” Woodrow Wilson

人類的溝通是我們最主要的活動。成爲一個好的溝通者是一件很難的事情,我們不斷地和別人交換關於設計,編碼,文章的意見,並且我們每天都在試圖說服別人我們自己的設計和想法會更好,更有道理……

然後,好的溝通者是那些當他們正在解釋一些事情的時候,他們的解釋是下面這個樣子的:

◆專注。不跑題,沒有廢話。

◆清晰. 很容易聽懂。

◆簡明. 加一點就覺得多,少一點都覺得不夠。

要有一個好的溝通技巧,我們的建議如下:

◆如果你覺得你溝通方面不夠好的話,請事先準備你要表達的東西,努力做到專注,清晰和簡明。

◆在交談中,先聽,後想,最後再說。

◆永遠從對方的角度思考問題。

4.- 忘了用戶

“如果我們不關心我們的用戶……那麼別人會”

你的存在,你工作的意思只有一個原因——你的用戶。我們在很多時間都會忘了這個事情。經常,我們在工作當中,技術會取代用戶而佔據了主要的位置,我們可以花費數月的時間來創建一個程序框架,但一個程序框架不會給用戶代來任何的價值,我們不是說程序框架不重要,而是說,對於用戶的需求來說,這是其次重要的東西。如果離開了用戶的需求,我們所有的技術,算法或是精妙的設計將會變得什麼也不是。

5.- 不懂工作的輕重緩急

程序員總是喜歡去研究一些新的或自己感興趣的東西,但對於軟件工程來說,我們更需要知道所有事情的輕重緩急,要學會如何瞭解事情的優先級,這樣纔會讓我們的工作事半功倍,而我們的工作也會更有效。比如,當用戶的站點出現問題的時候,有些時候,我們的程序員過試地關注於問題的重現和原因,而忘記了用戶的站點正在流血,無法進行生產。所以,一般來說,最重要的事情首先是恢復用戶站點,然後纔是去重現和調查問題。在我們的日常工作中,我們要處理很多事情,只有瞭解到了所有事情的輕重緩急,處理最重要最緊急的事情,我們才能夠更好的安排自己的工作,才能夠更好的完成我們的事情。不要以爲這是一件很簡單的事情,這需要我們不斷地和別人溝通來了解事情的輕重緩急,事實證明,如果我們不懂工作中的輕重緩急,本來只有一件緊急的事情,如果處理不當,最後可能會演變成多件緊急事情,其它本來不緊急的事,後來也會變得很緊急,最終程序員們顧此失彼,苦不堪言。希望大家切記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章