Java程式設計師的墮落
我曾在多個場合撰文說過,現在培訓出來的企業Java開發兵團只知道使用某種框架,但完全不知道這些框架的底層原理。今天早上,在依次對三個職位的應聘者面試中,我又再次見到了這種情形。
我們的顧問公司收到了一個客戶的招聘需求,要一個經驗豐富並通曉SQL的Java開發人員。我們公司在這個客戶那裡享有非常好的聲譽,於是我們從招聘代理公司要來了一批簡歷,開始搜尋合適的目標。
首先,關於他們的簡歷——每份簡歷都有數頁,詳細的描述了在各個公司幹過的各種工作。每份簡歷上都有一個技術列表,表面上看這些都是應聘者懂得的技術。下面這個清單是一個真實的簡歷上記載的各種技術:
Core Java, J2EE, JSP, JDBC, Servlets, AJAX, XML, HTML, XSLT, Web
Services, CSS, JavaScript, SQL, Oracle 10g, MySQL 5.0., JMS,Eclipse,
Adobe Flex Builder 3.x,UML, JDBC, SVN, JUnit, VSS, Jira, HTML, DHTML,
CSS, AJAX, JavaScript, XML, MXML, Action Script, Servlet, JSP, JSTL,
Hibernate 3.x, Spring 2.x, IBatis, SOAP, UDDI, WSDL, Apache Axis, Web
logic Server 8.x, Apache Tomcat 5.0, Struts Framework, MVC, ANT, Maven.
相當的讓人印象深刻…——對於那些從來沒有面試過Java程式設計師的人來說。我並不想說這些應聘者在撒謊,只是這些人跟你的談話堅持不到三分鐘就會在80%的這些技術上露餡。他們可能聽說過或者是試過這些技術或工具,這對於他們來說已經足夠可以把它們列入簡歷了。那剩餘的他們能說清楚的20%是什麼?框架。基本上他們都會向你解釋如何配置Struts或Spring,甚至如何讓Spring和Hibernate通訊。順便說一句,他們全都喜歡Hibernate,因為它能讓你省去了寫SQL,而他們對SQL查詢語言的知識知之甚少。
每當我看到簡歷上寫滿了這些Struts,Springs,Hibernates等東西,我就會這樣問,“假設,你不允許使用任何框架。你要從資料庫中的客戶表和訂單表中取出資料,把它們放到Web頁面上,請詳細完整的解釋一下這整個過程。”對大部分人來說,讓他們寫出一些純SQL將是一種致命請求…
有個人在簡歷上寫了JQuery。我問她,“你為什麼要用JQuery”…20秒鐘的停頓…“我喜歡它,它很好呀!”這就是所有我能從她那挖掘出的關於JQuery的資訊。
兩週前,我參加了一箇舊金山JavaOne大會裡的一個技術主題會。Brian Goetz向我展示了一些Lambda表示式(也就是閉包)的樣例程式碼,這個東西將在明年的Java8中出現。這是一個相當高階的語言特徵,它所用的Java語法是給有勇氣的人準備的。我在想,“在企業Java世界,誰會去用閉包?10%的程式設計師?5%?”。Java中引入這些表示式只是好玩?只因為它很酷?是因為其它函式式語言中有它?
軟體開發產業正在發生變化。它將不再需要更多的程式設計師。它需要的是高階匠師,能夠在軟體出問題時配置並替換相關程式碼。理想情況下,你的團隊中應該有一個Java高手,他能真正理解你們應用中的程式碼,不僅能夠從模組級調整它們,並且能理解每行Java程式碼。這樣的人多少也該知道如何寫SQL外連線,知道如何糾正編譯問題,等等。
典型的企業經理都希望手下擁有更多的軟體開發人員。多管一些人是向上晉升的一種捷徑。是這麼回事。但如果你足夠聰明,你應該確保你那一堆框架程式設計師中至少有一個是貨真價實的。
我又收到了一份簡歷,將在明天早上10點面試。這簡歷看起來很眼熟。我只看了它工作過得公司和乾的專案。上面其它的資訊都是沒用的——明天早上10點鐘他自然會現出原形。
明天的更新。現在是早上10點15。又一個面試結束了。第四個錯誤的回答是,要想把資料傳送到瀏覽器,一個servlet需要把資料放到HTTPSession物件屬性裡。在聽了10分鐘這樣的回答後,你會認為我終止這次面試的行為很粗魯嗎?
明天的明天的更新。我給這個職位每小時的報酬上增加了5美元。偏偏這第一個面試者就扛著勝利的大旗通過了我的面試。別以為這區區5美元就能叩開棲息著有才能的程式設計師的奇異世界的大門!
相關文章
- 程式設計師必看的書之Java程式設計師程式設計師Java
- Java程式設計師的錯Java程式設計師
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- 墮落與背叛:暴雪曾經輝煌的敘事主題
- 好程式設計師Java培訓分享Java程式設計師常用的工具類庫程式設計師Java
- ●招聘● Java程式設計師Java程式設計師
- JAVA程式設計師之路Java程式設計師
- 優秀Java程式設計師的程式設計風格Java程式設計師
- 好程式設計師Java培訓Java程式設計師必學技術程式設計師Java
- 好程式設計師Java培訓分享Java程式設計師技能提升指南程式設計師Java
- 誰能想到?Firefox已經徹底墮落了Firefox
- 好程式設計師Java培訓分享Java程式設計技巧程式設計師Java
- 【北京】誠聘java程式設計師和高階程式設計師Java程式設計師
- Java程式設計師的成長之路Java程式設計師
- 初級JAVA程式設計師的困惑Java程式設計師
- 北京急聘JAVA程式設計師Java程式設計師
- UML:java程式設計師指南Java程式設計師
- 金山招聘JAVA程式設計師Java程式設計師
- Java程式設計師學習Rust程式設計 - infoworldJava程式設計師Rust
- 【日記】度過了一個墮落的週末……(184 字)
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 好程式設計師Java教程分享Java之設計模式程式設計師Java設計模式
- Java程式設計師必讀:最新流行的Java開發程式設計技術Java程式設計師
- 程式設計師的“非程式設計師”之路程式設計師
- 墮落 Java vs 新貴 Python,2018 年最應該學習哪一門程式語言?JavaPython
- Java程式設計師修煉之道—併發程式設計Java程式設計師
- 怎麼從初、中級Java程式設計師過渡到高階Java程式設計師?Java程式設計師
- java架構師之路:JAVA程式設計師必看的15本書Java架構程式設計師
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- Java程式設計師的兩項通用能力Java程式設計師
- Java外包程式設計師的技術出路Java程式設計師
- Java 程式設計師都該懂的 HashMapJava程式設計師HashMap
- Java程式設計師需要學習的技能Java程式設計師
- 如何突破Java程式設計師的分水嶺Java程式設計師
- Java程式設計師必備技能Java程式設計師
- java程式設計師學歷重要嗎?Java程式設計師
- JAVA程式設計師成長之路Java程式設計師
- 黑馬程式設計師-Java概述程式設計師Java