今天面試了一個開發人員,談談面試的體會
公司的ERP項目組開始招人,boss預計在下個季度初期,使公司的管理系統更加完善。量化的目標是有幾個模塊一定要上線運行,哪怕是有問題,也可以不段修改完善,就怕一直被問題阻擋了視線,看不到目標。于是乎,到網上發招聘公告,去人才市場招聘,在論壇里發招聘帖,也有讓同事介紹,各個渠道都盡量用到。說到深圳這個地方,其實是最不缺少人才的城市。每年有大量的畢業生奔向這里,實現自己在深圳打拼出一片天下。也有做了幾年想換地方的,有因為和公司不和睦,因各種原因不得不離開公司的。
總之,各種原因會導致深圳不缺少人才。我記得一個老板在喝酒后跟我說過,想要在深圳干出一片天地,有技術(指我這樣的人)還不夠,光有技術只能混個溫飽的生活,買房子還有點壓力;還有要資源,人脈資源,項目資源,有事做,有項目可做;最重要的是還要有資金。有錢了到市場上可以找到大量的廉價的勞動力,你不做還有別人愿意做。我只能苦笑。深圳是個很現實的地方,公司今天用你,就要你創造價值,創造出大于雇傭你的價值,公司才會用你,否則就自己卷鋪蓋走人。
在收到幾十封求職簡歷后,我們挑選了一些,要求他們過來面試。有時候并不是你的個人簡歷寫得不好,而是每個人有自己的喜好,看你個人簡歷的那個人不喜歡你的風格和排版,一般你就沒機會了。這也是沒有辦法的。招聘的郵件從人力資源部的招聘組,轉到軟件開發部經理,再轉到軟件開發部技術負責人那里,如果每一個環節一個人,至少經歷了二次過濾。人力資源部看重的是人員的穩定性,一年跳一次的一般會被刷掉。經理看重的是有沒有大型項目經驗,做過的項目是否厲害,足夠復雜。最后轉到技術負責人,技術負責人看重的是公司的項目中應用到的主要技術,都會不會,是否熟練。
下面談一下我的幾項考核
1 技術技能考核
最基本的考察方式。先出個試卷讓面試的人做一下,一般控制在40分鐘左右。根據答題的情況,做一個基本的評分和了解。考試的題目就是網上找的,沒有必要自己去刻意制造一些痛苦的問題,讓面試的人失去信心。去面試一個職位,和大學里面考四六級一樣,你總要應付一下才行,不能什么都不知道。我自己有體會,做項目做久了,一些基本的沒有用到知識都忘記得一干二凈。頁面操作就那幾種模式,每種頁面都有可以拷貝的sample,界面的布局和風格都直接拷貝。代碼也差不多,規定好項目的結構,用代碼生成器把生成的代碼放到指定的位置,然后根據界面控件布局的不同進行數據綁定,輸入保存,輸入數據驗證。
一般100分的試卷,能做到50分就認為是可以過關了。畢竟有很多知識,可能求職的人并沒有用過,也沒有在項目中接觸到,也有可能用了但沒有理解深刻。這都沒有關系,試卷的目的不是想把求職者考倒。想考倒考生的辦法有很多,比如著名的注冊會計師考試,通過率極低,低到你不可想像。考公務員也不用說,公務員考試背后有多少問題我不知道,我就知道我這輩子不指望能考上公務員。
所以,把網上常見的題目,拷貝下來,有空的時候看一下,會給你的面試帶來好的第一印象。當然,你要是能考上80分以上,又不是畢業生,這一關就輕松過了。考50分可以過關,但是后面可能會不輕松。
對于考上80分左右的求職者,技術關他已經很不錯了,接下來的目的是考查項目的開發能力。把一個項目交給他,怎么來做,怎么完成,出了問題是怎么處理的。這些都會觸及到平時的工作內容,工作方法和態度,問得詳細了,就大概知道對方平時的工作和能力。
對于考50分以上的求職者,這時候還要再用口頭的方面考查一下。把他答錯的問題,再用口頭的方式問一下,看看問題出在哪里。對于明確說不會的知識,就直接跳過,沒必要考得人家很難堪。有些知識他可能會,答錯的原因是不能用書面的方式表達出來,這時再問下他怎么理解的。理解對了,我就算他這一題是答對的。如果他不適應這種方式,那接下來還要考下常用的知識。考核下委托,特性,反射,字符串之類的知識。我不會考他委托有幾種寫法,這個問題太經典,也容易出極端。平時工作中,用到了這些技術沒有,如果有用到,舉例說明。這樣一談,就轉到了第三個重點:工作經驗。這是考核的重點。
2 工作經驗考核
工作三四年的程序員,一般做過的項目至少有三個。問一下最近的一個項目,有用到那些技術,在項目中擔任什么角色,遇到什么問題,怎樣解決的。
我一直都側重于角色這個問題,因為我注意到,工作幾年的程序員,有的擔任的不是主程序員的角色,還有每天撞鐘過日子的,工資漲不上去,走人又不劃算,所以每天都在撞鐘,過一天是一天。另外,工作三四年的程序員,讓他去做項目經理或實施負責人,也不太合適。如果他告訴我他是做這個職位的,我就有點擔憂。我不敢輕易懷疑他的能力,但是我知道,一個人的成長是要時間的。前三年,技術如果不能熟練,到第四年,一般轉做實施,需求調研,客戶問題反饋之類的職務。有時候這個求職者,說話言談舉止,稍微聊一下就知道他平時的工作是什么,大概是什么角色。
我不能說程序員都是笨嘴拙舌,但據我所接觸的程序員,言談能力都不強。有時候我有這種感覺,一個項目辛苦的做完了,居然找不到好的語言和詞句來形容它。問我系統有什么強的功能,我也說不出來。把用戶需要的功能都實現了,也沒感覺什么技藝高超,與眾不同。這令我想起一個有趣的事:剛畢業的求職者的個人簡歷最長,工作一年后的,個人簡歷有點長,工作幾年后,個人簡歷才真的有“簡”的含義在里面。工作幾年了,該用過的技術都用過了,沒覺得有什么厲害,反而是剛畢業那會,心里虛,所以寫幾頁,外面還套個塑膠套,生怕別人沒看見。
既然一般都不會說,我就要求看一下項目的介紹,給我看一下關于項目的演示文檔(PPT)。這一看,又可以看出很多細節方面的知識。人的很多習慣都是相互影響的。PPT里面如果有DOC,我一般不會放過,打開DOC看一下,排版字體字號是否統一,文檔是否層次分明。曾經有段時間,我把電腦里面的DOC全面整理了一下,因為太多太亂,字體大小不一,還有的是從網頁中拷貝下來的,網頁中的廣告也在里面。自己都沒有心情去看,更不能指望以后用在工作中。
我每做一個項目,項目結束后,我都會做PPT,彌補我的演說能力的不足。自己也常常觀察同事的有價值的PPT,收藏起來。還有流程圖,文檔,這都是一樣的內容。我手里有些XLS,DOC,PPT文件做得非常專業,我做不出來,我就學,學了就用。上個月我為公司現有的項目做了一個PPT,大家也認為還不錯。
每個程序員在工作人都會碰到問題,問題是可以鍛煉人的。與上司的溝通,與團隊成員的協作,與其他部門的同事的關系,這些都會影響程序員,也是程序員工作環境的主體。有些程序員跳槽是沒有辦法的,我理解。但是真的要跳之前,要想好,這個問題也許在別的公司同樣存在,可能別的公司的問題比現在的公司還要多。現在哪里都是人精,沒有傻子。公司也要經常問一下員工,有什么需要和不滿意的地方,有沒有用到你的長處。有時候程序員并不是在乎跳出去多幾百塊錢,他在乎在這個組織里的成長和發展。與上司不和這種情況是沒有辦法的,只有走人。如果還想呆在公司,就別去觸犯上司。做程序員的,不會拍馬屁很正常,但也要把自己的脾氣管好,別輕易發火。客戶再怎么刁難你,多笑一下,有話好說。即使按照客戶的要求做不出來,還有經理在上頭頂,你急什么。
3 加分選項
下面是我認為可以加分的內容。這些內容不是必要的,但是會為你的職業生涯加分,也會超越一般人。
1)有沒有經常性的做項目總結。如果方便的話,可以share一下總結的內容。
2)有沒有經常性的思考效率,流程,做事的方法。有提出過那些改善效率的方法, 或編寫一些提高效率的工具和方法,并且得到項目組成員的認可。
3)技術能力增強了,有沒有編寫一些實用的工具或軟件,給項目組成員使用,方便提高效率。 或是發布到網上,供更多的人參與使用。
4)沒有沒參與開源項目,或是自己有空的時候折騰一些開源源目。典型的例子是把自己認為成熟的東東,放到codeplex上,讓更多的人來關注和參與
5)有沒有自己的網站,平時做的總結和心得。沒有網站,開通博客也行,介紹下自己的研究了那些東東,有那些感悟和心得。平時到處拷貝的東東就不要放到網上,要原創才行。
6)有代表性的通用代碼(權限,用戶管理),有沒有考慮過。有代表性的算法(不是指數據結構排序之類,而指行業特定的算法)有沒有總結過,業務模型呢,還是在大腦里只有增刪查改的概念。
7)有沒有對從事的行業的軟件,解決方案進行階段性的總結思考。我做報價軟件,我也研究別人的報價軟件,對比一下就知道差距,可以改善和學習。我們公司有ERP,我也經常對比用友金蝶的ERP,還有開源的恩信科技的ERP,東莞的浩輝ERP也開源,都比較一下。看一下。同行不是冤家,同行也不是敵人。
8)有沒有考慮過自己真正的興趣:是適合編碼,還是適合與客戶打交道。 市場或技術,總要喜歡一行才有得干。
9)有沒有把技術用于改善公司的產品,還是整天玩技術,玩開源, 玩很先進的WF 4.0,卻沒有用WF做過項目。
10)有沒有經常逛論壇,解答一些有難度的問題。
11)經常去哪些網站瀏覽網頁接觸新知識。msdn blog,codeproject, codeplex,cnblogs,joycode. 這些網站的rss都subscribe了嗎?不一定要仔細看,有空的時候多了解一下。
12)有沒有市場意識。經常去豬八戒,威客之類的網站接單嗎?即使接不到單,也可以評估一下自己的能務是否可以變成錢。有朋友找你做網站,能不能搞定。
各個地方充滿了機會,也充滿了挑戰。有學不完的知識,做不完的工作,最重要的還是保重身體。
在園子里看到一個程序員的忠告,要珍惜身體,把這句話送給所有人。程序員,請愛惜身體。