從去年(2013)大概9月份開始,到上個月結(jié)束,我在深圳招聘一個Java程序員,要求會寫Java的,英文能溝通的。我的要求很簡單:
- 一個只實現(xiàn)了功能的函數(shù),重構(gòu)一下,讓其可支持后期擴展,用多態(tài)的方式和注冊表法(《代碼大全2》里面提到了)重構(gòu)就可以了
- 對該函數(shù)寫單元測試,知道怎么寫,知道使用Mock工具(Mockito、 Jmock、 EasyMock隨便哪種都行),能正確的對測試方法進行組織
就是這么簡單的要求,公司的HR MM陸陸續(xù)續(xù)給我找了幾十個候選人,在北京的、在上海的、在印度的、在珠三角的都有;5、6年的,10幾年經(jīng)驗的都有;不知名公司來的、國企來的、外資公司來的、互聯(lián)網(wǎng)企業(yè)來的、外包公司來的、外資銀行來的、HP來的、IBM來的都有;之前是寫代碼的、搞數(shù)據(jù)庫的、帶項目的都有。最終面試完居然就只有倆個部分合格的。
于是我就很郁悶,面試過程中我各種給提示各種暗示各種手段的怕面試人緊張發(fā)揮不好, 這么基礎的東西怎么都沒有幾個人會,怎么就沒有幾個人會寫單元測試?怎么就沒有幾個人會用Mock工具?怎么就沒有幾個人會玩玩對象關系?
我就奇啦怪了,大家伙是不是都只會配Struct,寫Hibernate映射、用Spring配個對象、知道List有幾個實現(xiàn)之類的這種隨便一搜連百度上都有答案的東西?
后來我意識到,我不能只抱怨,作為一個寫了10多年代碼,帶過項目、做過業(yè)務最終還是寫代碼, 有車有房有妻有娃的四有不太牛逼的程序員,我有責任幫助剛?cè)胄械摹⑷胄袝r間不短的,還沒車沒房的Java程序員們掌握一些基礎的東西。
如果你掌握了這些基礎的東西的話,而且英語口語還湊合的話,歡迎來找我?guī)湍銉?nèi)部推薦工作,估計一萬多的月薪是不成問題的,至于30、40萬的年薪應該也是有機會的。
后面我會寫這么些東西:代碼中如何寫日志、如何寫單元測試、一些必須知道的Maven知識、一些Spring的使用技巧、一點Git和版本管理的知識、Java程序員所必須掌握的Linux技能、怎么寫面向?qū)ο蟮拇a等等。希望這些博文能幫助還沒車沒房的屌絲程序員們提高代碼水平。
計劃是一周或者一個月一篇,一直寫到我沒有時間寫為止。 發(fā)布地址是:http://blog.csdn.net/justfly 和 http://blogjava.net/justfly/。
最后:歡迎拍磚、歡迎吐槽、不文明用語者刪。