2008年10月2日 星期四

轉貼收藏:軟體業如何面試新員工

這一篇我印象中已是多年前的文章,今天在網路上有看到,特地轉載收藏,給沒看過的朋友參考。
=============================
王森專欄-- 軟體業如何面試新員工
資料來源:http://phorum.study-area.org/index.php?topic=18872.0

菜鳥篇最近半年,不少從事軟體業朋友都升上主管的職位,除了承擔更重的責任之外,大部分也開始面臨選擇優秀左右手的問題.大家常常聽到職場老前輩告訴我們,要在事業上能夠成功,自己的努力固然重要,但是識人的工夫更是決定性的關鍵,識別出好的老闆,就可以跟著他吃香喝辣,老闆一人得道,眾人雞犬昇天;而在茫茫人海中辨識出好的員工,可以讓日理萬機的主管少掉很多麻煩事.因此,如何找出自動自發,辦事能力絕佳的員工就是一門直得深入的帝王學問.今天我這個小毛頭斗膽向大家提供一些我面試別人的經驗及方法,單純限定在軟體產業,希望可以藉此和許多經驗豐富的前輩們交換些心得.

軟體產業是一個高度以人為資產的產業,俗話說:"人心是關不住的",正由於人的變異性實在太大,使得從事這個行業的主管往往沒有安全感,員工素質太差,專案做不出來,你會倒楣,員工素質太好,他會自視甚高,甚至寫個只有Process Bar在螢幕上前後移動,不斷寫檔讀檔,使得硬碟的燈號永遠不會停止閃動的程式在電腦上跑,然後騙你說他的電腦不敷使用,希望可以換更好的設備.當然,您可能剛剛才發現過去您其實一直被這類員工玩弄於鼓掌之中而不自知,所以在此奉勸現在很多一畢業,不想多讀點書,多做點基層工作,只想直接當SA,SD,剝削程式設計師的朋友,除非您天縱英明,否則還是乖乖的紮實點訓練自己,因為只想拿到權利,又沒有半點料的人,其實在下屬的眼睛裡面,比燒壞的光碟片還要沒價值. 話扯遠了,我提到主管沒有安全感,也因為這樣的因素,主管總是盡自己最大的努力剝削工程師,倒楣的當然是食物鏈最底層的程式設計師,使得整個部門或公司充滿了怨氣,充滿怨氣的地方會帶來不幸,是個讓公司走入滅亡的無窮迴圈.

雖然上述的公司滅亡模式是台灣大部分的情況,但是秉持著不唱衰自己人的精神,底下的討論有個假設:

#define 好的主管 不會不懂裝懂.知道去哪裡蒐集資料,不會被員工或顧問玩弄的主事者
#fefine 錯誤訊息 舉頭三尺有神明,還是請您趕緊退位,不要再殘台灣的競爭力了
if(你==好的主管)
goto 繼續;
else
exit(錯誤訊息) ;
繼續:

好的,進行到這裡,相信您是一位軟體業界的優秀主管,所以我們來分享一下如何面試好的員工,請注意,我們討論的是如何面試新進社會的菜鳥,不是在資訊界打滾多年的老鳥,以後有機會我們再來討論如何處理老鳥.首先,請不要在徵才條件中開出一堆莫名奇妙的規格,例如底下徵才廣告:

* * * * * * * * * * * * * * * * * * * * * * * * * * *
本公司需要的人才須具備下列幾種條件:
C/C++
VB
Delphi
VC++
Power Builder
Java Script
JAVA
ASP
JSP
PHP
* * * * * * * * * * * * * * * * * * * * * * * * * * *

相信我,你開的東西越多,代表你懂得越少.而且很可能會吸引極優秀的人才成為你的手下,看到這裡請先不要高興,因為他是準備來你手下當藏鏡人的,有個什麼都不懂的老闆,還有什麼比這個還快樂的事情.更何況,面試過新人的朋友一定都有的經驗,他說他會VB,絕大多數都是在學校用過VB而已,他說他會Java,甚至了解J2EE,聽起來很厲害,可是描述了老半天才無法勾勒出J2EE的輪廓.既然您已是一個好的主管,我想您絕對不相信會JavaScript的人就會Java,會VB的人就一定會VB.net吧.既然菜鳥自己都不知道自己到底會不會他宣稱的那樣技術,所以對於一個菜鳥來說,會不會某種特定技術根本不重要,重要的的是他的學習能力.資訊界有這樣的特性:老的不一定比年輕的厲害;一個剛剛接觸某技術一個月的人,做出來的東西不一定比一個摸索該技術10年的人要差.如果主管們只是想炒短線,急著想把專案搞定,非得找已經有經驗的人,當然不在話下,但如果這是一個有遠見的主管,希望長期培養人才,希望以後的專案都順順利利的話,是否能夠快速學習的人格特質還是最重要的.

我個人面試這種菜鳥的方法,就是先詢問他會哪些技術,為了表現,他肯定說出一堆.接下來我會找一個他完全不懂的東西,比方說他可能不懂Ruby是啥,不懂Python是啥,我會給他一台可以上網的電腦,裡頭就是剛剛裝好,乾乾淨淨的Windows 2000,外加一個可以打到世界各地的電話,請他在2個小時之內用Ruby寫出個簡單的程式,例如99乘法表好了.如果他可以做到,那麼他完全符合在資訊業界混下去的人格特質.講到這裡,大部分的朋友一定認為這個人應該是老老實實的上網找資料,然後老實地交出結果,這樣的人當然足以勝任程式設計師的角色.不過我相信更多的朋友會問我,如果他用MSN,ICQ,Yahoo Messenger,email,電話,或是任何通訊方式問朋友呢? 我的回答是,我的信箱裡頭也有很多各大公司優秀工程師問我問題的信件,難道他們不優秀嗎? 資訊業就是要彼此交換資訊,才能省下很多工夫呀! 我個人甚至認為,如果他可以打越洋電話,找到他目前正在微軟技術部門服務的大學同學問問題,那我會直接建議該主管直接讓他當manager,這種善於利用資源的人才才是公司進步的關鍵,寫程式還真是埋沒他了. 還有人問我,如果他立刻上網買一堆書送來這裡抄抄打打呢? 我的回答是,這更好,貴公司的顧問不是也常常叫你去買書自己看? 有句話說"Good programmer write good program,excellent programmer steal excellent program",知道哪本書有你要的資料,知道哪些片段的code可以直接剪貼來用,這可是屬於顧問級的人才 按理應該要好好珍惜才是.