“你被解雇了!”
這樣冷冰冰的一句話相信沒有人喜歡聽到,你會是下一個被解雇的程序員嗎?也許你正在想這永遠不會發(fā)生在自己身上。
請開始給自己找些理由吧,看看怎么做能讓你保住飯碗:
“我比其他人都聰明?!?
“每個人都喜歡我?!?
“我是唯一能操作這個系統(tǒng)的人?!?
“我存著老板的罪證照片?!?
好吧,也許是最后一條是有效的,但其它的幾條不會改變你被解雇的命運,或許你該看看51CTO列出的十種預兆程序員被解雇的跡象。
經過了許多年,我終于了解到這個痛苦的事實,你并不會因為自以為有多么聰明或者有多少人喜歡你而留住工作。事實上,總會發(fā)生一些情況,到頭來讓你灰溜溜的走人,只是有時它們在你的控制之內,而有時它們被不知不覺的忽略了。
我首先聲明我是在用經驗發(fā)言。作為IT經理,我解雇過手下的程序員,而我也曾作為程序員被解雇過。
不要去埋怨經理,不得不解雇員工是個令人難受的經歷,這讓兩邊都不好受。請記住,每個故事都有兩個方面。你不知道被解雇的人會如何反應,你會想到他們的家庭,會想有沒有別的更好的解決辦法。
而在被解雇的這一方,出現什么樣的反應要看這個人有沒有預見到它的到來。那些有思想準備的人通常會很酷的笑一笑,這也會讓氣氛緩和很多。而那些沒有準備的人,我所看到的就像車禍現場,激動、眼淚、甚至瘋狂的大笑,這些人平時把頭深埋在沙子里(或他們的代碼里),他們認為根本不會發(fā)生在自己身上,特別是年輕的涉世不深的程序員。
那么,是什么原因讓程序員被解雇呢?如何避免程序員被解雇呢?
我總結了三個原因,我們先看最明顯的。如果你的工作總是無法完成,那么你最終難免會被開除。你的經理可以頂住一兩次最終用戶或老板的責問,但如果總是超過最后期限,他們也就別無選擇了。
你也許會想超過最后期限不是你的錯。的理由可能包括“設計不好”或者“最后期限并不現實”或者“他們讓我寫Java代碼,但我拿手的是.NET”,但借口并不重要,結果才重要。
如果你的工作總是拖延,那么你需要坐下來與你的經理一起尋求解決方法。不要以為外界條件會改變,你必須自己做出改變,還必須要記錄下采取的一切行動,來改善不利的條件。
第二個迫使開發(fā)者走人的原因是他們無法讓人們看到優(yōu)秀的工作成果。你以為從機器里搬出幾萬行代碼能夠挽回你的工作嗎,再想想吧。要為你的工作做一點推廣,或許你應該看看什么是不朽的程序員。
是的,我的意思是吹吹牛也無妨。你不能總是靠你的經理去溝通,這樣你和團隊的成就很難讓別人知道,要知道,技術能力并不等于工作能力。需要一些小花樣,比如評比一些獎項,在團隊中投票選出“當月最佳程序員”。然后發(fā)一些無聊的獎品,把每月的冠軍(還有他們做了什么)張貼在企業(yè)博客上,或者通過電子郵件在公司內部分發(fā)出去。
當然如果你覺得自己不喜歡這樣的小伎倆,那么我建議你在團隊中展開公開討論,至少把你渴望糾正問題的想法表露出來。
最后,第三個原因是最讓經理們感到抓狂的,那就是無法將開發(fā)者的潛力挖掘出來。
一些程序員擁有世界上最聰明的腦瓜,但沒有任何東西能讓它們開動起來。經理們時常使用各種方法來激勵團隊成員,比如我會通過獎金、升遷、旅游,甚至增加靈活工作時間等辦法來調動團隊的積極性。
但有時激勵也無法帶來回報,結果反而是有些程序員變得不負責任,他們上班和開會總是遲到,不堅持標準,驕傲自大。
有時候,一些確實聰明的程序員可以蒙混一段時間,他們可以只用別人的零頭時間來寫完代碼。但問題是他們逐漸變得過于懶惰并開始喜歡把工作拖到最后一分鐘,結果造成超出最后期限,或者當別的開發(fā)者需要與他們交流的時候卻發(fā)現他們沒在公司。最終斧頭落在了他們的頭上,因為經理必須尋求怎樣做才能對團隊最好,怎樣才能保證長期的成功。
你會想肯定還有很多別的原因讓程序員被解雇。但是如果你正巧看到這里的話,請把耳機摘下來吧,再把你的二十多個聊天窗口關上,每天花點時間來想想可以做些什么來防止這種情況發(fā)生在自己的身上,看看一個程序員每天應該做的事情你都做好了嗎?
否則,當你也聽到那句話的時候,就不要感到驚訝了。