- 論壇徽章:
- 0
|
程序員最常犯的五大非技術(shù)性錯誤
對于程序開發(fā)者來說,有兩種技術(shù)需要我們掌握,一個是技術(shù)上的能力,另一個是非技術(shù)上的能力。不幸的是,許多程序員過多地關(guān)注了技術(shù)上的能力,而忽略了非技術(shù)上的能力的培養(yǎng),因此,我們的程序員們經(jīng)常會有一些很不好的習(xí)慣,這里我們例舉了程序員們最常犯的5個非技術(shù)性錯誤,與大家共勉。
1.- 缺乏團(tuán)隊紀(jì)律
“Discipline is the bridge between goals and accomplishment.” Jim Rohn.
紀(jì)律是一個最有價值的技能,不僅僅只是在軟件開發(fā)領(lǐng)域,同樣在其它領(lǐng)域也是一樣的。但對于現(xiàn)實來說,我們很難找到即有才華又有紀(jì)律的人。這正如足球隊一樣,非洲的球員們才華相當(dāng)?shù)某霰,可惜他們總是?dú)自為陣,團(tuán)隊紀(jì)律性不足,所以可以有好的成績,但卻無法贏得最后的勝利;而德國隊的隊員個人技能平平,但其有很強(qiáng)大的團(tuán)隊紀(jì)律性,所以,總是能打入最后的決賽并獲得冠軍。有人說過,個人英雄并不可怕,而有強(qiáng)大紀(jì)律性的團(tuán)隊才讓人可怕。這正是日本這個民族的可怕之處。況且,軟件開發(fā)從來都不是一個人可以完成的事情,所以團(tuán)隊工作中的紀(jì)律性會是非常重要的。
Steve Pavlina 強(qiáng)調(diào)了自律中5個因素:“承擔(dān), 毅力, 努力, 勤奮, 和堅持! 這里,我們強(qiáng)烈推薦你讀一讀Steve的 關(guān)于自律的文章。
下面是我們覺得程序應(yīng)該有的比較良好的習(xí)慣。
◆每天都有自己的to do list
◆在一個時間內(nèi)只做一個事
◆把事情做對了
◆事情沒有完全完成時不要輕易結(jié)束
◆慢點(diǎn)總比道歉好,道歉總比不做好
2.- 過度自負(fù)
我們的經(jīng)驗告訴我們,過度的自負(fù)的人一般是意識不到自己的自負(fù),下面是一些過度自負(fù)的特征,希望你可以從中檢測一下自己是否過度自負(fù)了。
◆覺得自己是最牛的程序員
◆總是打斷談話
◆你要求Code Reivew不是要檢查代碼,而是向大家炫耀你的代碼
在網(wǎng)上有太多的文章關(guān)于程序員的自負(fù)的問題,這里有兩篇,你可以看看:一篇是Mike Bernat的 Egoless programming(無自負(fù)編程) 還有一個是stackoverflow.com 上的一個貼子。
3.- 溝通不暢
“如果我要說十分鐘,我需要一周做準(zhǔn)備;如果說15分鐘,我需要3天做準(zhǔn)備;半個小時,我需要兩天;如果說一個小時,我現(xiàn)在就準(zhǔn)備好了! Woodrow Wilson
人類的溝通是我們最主要的活動。成為一個好的溝通者是一件很難的事情,我們不斷地和別人交換關(guān)于設(shè)計,編碼,文章的意見,并且我們每天都在試圖說服別人我們自己的設(shè)計和想法會更好,更有道理……
然后,好的溝通者是那些當(dāng)他們正在解釋一些事情的時候,他們的解釋是下面這個樣子的:
◆專注。不跑題,沒有廢話。
◆清晰. 很容易聽懂。
◆簡明. 加一點(diǎn)就覺得多,少一點(diǎn)都覺得不夠。
要有一個好的溝通技巧,我們的建議如下:
◆如果你覺得你溝通方面不夠好的話,請事先準(zhǔn)備你要表達(dá)的東西,努力做到專注,清晰和簡明。
◆在交談中,先聽,后想,最后再說。
◆永遠(yuǎn)從對方的角度思考問題。
4.- 忘了用戶
“如果我們不關(guān)心我們的用戶……那么別人會”
你的存在,你工作的意思只有一個原因——你的用戶。我們在很多時間都會忘了這個事情。經(jīng)常,我們在工作當(dāng)中,技術(shù)會取代用戶而占據(jù)了主要的位置,我們可以花費(fèi)數(shù)月的時間來創(chuàng)建一個程序框架,但一個程序框架不會給用戶代來任何的價值,我們不是說程序框架不重要,而是說,對于用戶的需求來說,這是其次重要的東西。如果離開了用戶的需求,我們所有的技術(shù),算法或是精妙的設(shè)計將會變得什么也不是。
5.- 不懂工作的輕重緩急
程序員總是喜歡去研究一些新的或自己感興趣的東西,但對于軟件工程來說,我們更需要知道所有事情的輕重緩急,要學(xué)會如何了解事情的優(yōu)先級,這樣才會讓我們的工作事半功倍,而我們的工作也會更有效。比如,當(dāng)用戶的站點(diǎn)出現(xiàn)問題的時候,有些時候,我們的程序員過試地關(guān)注于問題的重現(xiàn)和原因,而忘記了用戶的站點(diǎn)正在流血,無法進(jìn)行生產(chǎn)。所以,一般來說,最重要的事情首先是恢復(fù)用戶站點(diǎn),然后才是去重現(xiàn)和調(diào)查問題。在我們的日常工作中,我們要處理很多事情,只有了解到了所有事情的輕重緩急,處理最重要最緊急的事情,我們才能夠更好的安排自己的工作,才能夠更好的完成我們的事情。不要以為這是一件很簡單的事情,這需要我們不斷地和別人溝通來了解事情的輕重緩急,事實證明,如果我們不懂工作中的輕重緩急,本來只有一件緊急的事情,如果處理不當(dāng),最后可能會演變成多件緊急事情,其它本來不緊急的事,后來也會變得很緊急,最終程序員們顧此失彼,苦不堪言。希望大家切記。 |
|