第一部分,「先有商業項目經驗仍是先有實踐機會」的兩難情況。java
最近我在幫助一個作Java初級開發的朋友找工做,這我的工做3年,平時作的是Spring MVC+Mytatis,而他想要去的公司在職位描述上黑紙白字地寫清楚:須要招Java高級開發,並且須要有Redis和Hadoop等相關經驗。web
個人朋友吐槽說道:爲了提高能力,他纔要換工做去作高級開發應該作的事情,但目標公司通常是須要(Redis和Hadoop等)這些比較高級技術的商業項目經驗。實際上,在沒有這些實際項目經驗的前提下比較難經過面試,而他可能在平時學習這些技術,但在實際工做中沒有機會實踐這些技術,這就會致使一個比較尷尬的循環怪圈。面試
我想你們在跳槽的過程當中,也應該會遇到相似的尷尬狀況,下面我再舉些我見過的相似狀況。算法
狀況一,某同窗非計算機系畢業,好比是農業或生物,在工做1年後,想要作軟件開發的工做。數據庫
狀況二,某同窗作了2年左右硬維或測試或實施(但就不是軟件開發),如今想作開發的工做。架構
狀況三,如剛纔所說,某同窗作了3年Java初級開發的工做,乾的活和Java高級開發的技能不大沾邊,也就是說缺少相關實際操做經驗,目前想跳槽作高級開發。併發
狀況四,某人也作了6年左右Java,目前已經達到了高級開發的水準,目前想作架構。咱們知道,架構師的活通常和集羣,中間件等有關,好比要經過一些組件搭建一個高併發的系統集羣 ,從而能應付相似雙十一的狀況。咱們也知道,在作高級開發時,通常接觸不到架構師所須要的技能。高併發
在上述狀況裏,你們一樣能看到「要工做機會沒商業項目經驗」和「當前工做沒法提供所需商業項目經驗」的兩難境地。oop
第二部分,招聘時候爲何須要商業項目經驗學習
先來看下哪些項目不叫商業項目。
1 若是你在平時學習過程當中,搭建了一個系統,好比你從網上搞到一個Spring MVC的電商系統,從中也學到很多知識,但這個項目叫學習項目。
2 你在作畢業設計時,導師模擬了一個電商場景,也提了些需求,你本身也實現了這個系統,先恭喜你經過了畢業設計,但這也叫學習項目。
3 你報了個培訓班,在其中以課程設計或實訓等名義實踐了一個系統,從中你也學到了不少知識,一樣先恭喜你,但抱歉,這也是叫學習項目。
給出一個定義,商業項目是用來掙錢的,也就是說有客戶爲這個項目買單。由於客戶出錢,因此要求高,好比須要處理全部異常狀況,也須要考慮上線後的諸如OOM等的問題。因此你們在公司裏作的項目屬於商業項目,或者你平時和一些朋友本身接私活,這也算商業項目。
和學習項目(或非商業項目)相比,商業項目更能鍛鍊人,而公司總但願招進來的人能當即幹活(或通過最長1個月的磨合期後能幹活),畢竟公司不是學校,具體到剛纔描述的場景,招聘所須要的相關技術的經驗年限(好比Spring MVC或數據庫優化)是以商業項目年限爲準。
我本身一方面是公司裏的面試官,另外一方面也作過兼職培訓,因此自認爲以下的描述還算客觀:
我無心評價培訓學校裏的實訓項目,但有兩個候選人具備相同的工做年限,其它條件也差很少,但一位是商業項目,一位具有學習項目, 我(包括其它大多數候選人)必定會錄用具備商業項目的候選人。
基於一樣的道理,在確認候選人的相關項目技能年限時,我通常會排除掉學習項目的年限。事實上,在排除後,不少人真就沒相關商業項目經驗了。
也就是說,你儘可能別讓面試官感受到你只有學習項目的經驗,可能很多培訓機構會用不少例子來反駁我這個觀點。我這話一樣無心冒犯培訓學校,而是善意的:你能夠儘可能在學習項目的經驗的基礎上外加些實際商業項目經驗,這樣你經過面試的可能性就更大了,或許能要到的工資也就更高了。
第三部分,做爲面試官,我如何甄別非商業項目經驗
可能我更瞭解培訓學校,並且我也面了估計150+了,因此在我手裏,很難用學習項目來冒充商業項目。
方法1:我會按期去看各大培訓學校的招生廣告,上面通常會有些實訓項目的描述,好比xx學校會用個電商系統來實訓,在廣告上通常會提到用什麼技術和大體的需求。我真就見過很多學員一字不動地在簡歷中照搬描述。
方法2:商業項目裏通常會包含項目名,客戶是誰,時間範圍,多少人作,在什麼公司裏作等要素,並且用到的技術是比較合理的。相反,學習項目通常會露出破綻,好比就寫個XX圖書館管理系統,或者是XX人事系統,也沒寫時間範圍和人數等,或者用的技術太全面(正常項目裏爲了節省成本必定不會用到一些高級但沒實際價值的技術),或寫的時間範圍和項目人數不符合常理(好比明明要8我的作的卻只寫了3我的,明明得用半年工期卻只寫了2個月)。總之,在很多人的簡歷中,我見過很多不打草稿的吹牛項目。
方法3:在簡歷中,這個項目的時間範圍正好和在培訓學校裏的時間相重合。
方法4:這可能不少審覈簡歷的人都有經驗,每每在一個時間段裏(一批學生從培訓學校裏畢業了),不少人的項目描述很相似,或基本雷同,這就不是巧合了,而是學習項目。
若是你的簡歷中不幸出現了上述狀況,並且沒有足夠多的商業項目經驗,那麼你的簡歷也許根本沒法經過篩選,也就是說,你沒法獲得面試機會。
可能有些人「技巧」更好些,確實能把學習項目寫成商業項目,和上述狀況相比,至少這些人能有面試機會,但在面試中,我會問些在這類項目裏沒法迴避的問題點,只要你作過,你必定能知道,用這個方法我也排除掉很多學習項目。
我也見過有人「技巧更好」,不只能編造商業項目,並且還能經過面試(不是在我手裏),那麼我就不知道該推崇仍是反對這種作法了。
說推崇吧,這畢竟是弄虛做假,說反對吧,畢竟人家也作足了準備,並且人家也是努力上進。何況面試官都沒看出,也不用我操什麼閒心。
第四部分,如何在缺少商業項目經驗的前提下成功經過面試
這是這篇博文的關鍵。
第一,你得在實事求是的基礎上合理修改你的簡歷,讓目標公司感受你以前(至少以前半年)的工做經歷和這個職位很匹配。這種修改並無違背基本的事實,而是在簡歷中合理地偏重於某方面,以下給出些能被廣泛接受的案例。
好比某項目的一些模塊是用C#作的,而一些和客戶交互的功能用到了Spring MVC,小張主要作的是C#模塊,在簡歷上他也以此描述爲主,但他也作過點Spring MVC,那麼遇到上述狀況,他就能夠在簡歷中寫上Spring MVC的經驗。
又如,有些公司規模比較小,因此一我的可能要作多方面事情,好比小王是以「測試」人員的身份進入的項目組,但後來項目進度比較緊,小王也被要求去開發Spring MVC了,這種狀況咱們也見了很多,這樣當小王想往Java方向轉時,也能夠在簡歷上加上這段經歷。
除此以外,咱們還見過這樣的簡歷:候選人正式工做是作C#,但他在業餘時間跟着他們的項目經理用Spring MVC幹私活,這樣他好歹在簡歷上也能寫上Spring MVC等相關方面的經驗。
第二,合理地把培訓項目和畢業設計項目轉換成商業項目。
好比小張在大三時幫計算機系的王老師所在的ABC軟件公司幹了半年的活,若是小張在簡歷上寫:「在校期間,從x年x月到x年x月完成了xx系統,用到了xx技術」,那麼這多半會被當成相似於課程設計的學習經驗,但若是再加上以下關鍵性的描述:「這個系統是屬於xx公司的xx商業項目裏的一部分,我和另外三位開發人員作了半年,最終這個系統成功上線並在客戶xx公司的環境裏投入運營」,那這樣小張的商業項目總年限裏就能加上這半年時間了。
又如小李在作畢業設計時,花了7個月的時間參與了導師的一個電商商業項目,他主要的工做是設計一個調度算法,但也參與了一些諸如訂單管理模塊的工做。若是他就平淡地寫一句,畢業設計是xx,畢業論文是xx,那麼招聘方看過就算了,也不會認爲小李在作畢業設計時還有過商業項目經驗,這樣小李未免有些吃虧。
但若是這樣寫:「在x年x月到x年x月的7個月裏,在畢業設計中,我參與了xx公司的xx電商項目,客戶方是x,我參與了訂單管理和xx模塊,並設計了其中的調度算法,在個人畢業論文裏,詳細介紹了這種作法」。文字沒修改太多,但足以讓小李增長7個月的商業項目經驗。
第三,在招聘過程當中,咱們常常會看到有些候選人蔘加了培訓學校,在裏面也作了一些實訓項目。若是這些項目是用來讓學生練手的,而沒有產生商業價值,那麼雖然這些項目可能來自真實項目,名字也叫xx實訓項目,但很是惋惜,咱們無法把它當成商業項目。
不過咱們看到過一份印象比較深入的簡歷,某候選人小丁在某三個月的時間內,一邊參加培訓,一邊還在朋友的公司裏兼職作着xx信息管理系統的項目。那麼若是小丁能很好地在簡歷中很好地說明這個狀況,並且還能在面試中很好地回答相應的問題,那麼咱們不得不相信小丁在這個三個月裏確實作的是商業項目。
經過上述的合理修改簡歷,至少你能獲得面試的機會,這就是一個大的進步了。這也是本文能幫到你的地方。
但接下來更關鍵:你須要在獲得的面試機會裏,成功地向面試官證實你的能力。
抱歉,在本文短短的篇幅裏,我沒法把這講得十全十美,在我寫的java web輕量級開發面試教程裏,至少能在Web方面幫助到你們。(事實上已經有成功的案例了)。
儘管如此,本文給出以下的建議。就以Java初級開發升級到高級開發爲例子,你們能夠在面試前作以下的功課(前提是你簡歷得先過關)。
1 先收集10個不一樣公司對高級開發職位的要求,而後具體地根據關鍵字到網上搜,好比不少公司都要求會Spring MVC,那麼你就能夠搜這方面的面試題。
2 在每次投簡歷前,根據目標公司的職位要求微調你的簡歷,而後根據具體的要求,找你項目裏的契合點,好比某公司要求有數據庫優化的經驗,那麼你就找以前項目裏你作過的相似事情,把這個事情寫到簡歷中,並且準備好說辭,這個點在面試中有可能會被問到。
3 根據高級開發職位的廣泛要求點,好比Spring MVC等,你能夠到網上先找個比較全面的案例,不求本身開發,先運行經過,對其中的關鍵步驟和關鍵配置要有了解,這樣你就能在面試裏說出一些「海底針」的技能(即只有作過才知道的技能),一樣,在java web輕量級開發面試教程裏,給出了很多相似的說明。
4 光說不練假把式,最好的方法可能就是實踐了。具體而言,你必定得多投簡歷,若是簡歷大多石沉大海你就得修改簡歷,而後多參加面試。可能在剛開始的面試裏,你會什麼都不知道,但面着面着,你就會成精。只要你不是遇到像我這樣的老狐狸,可能你就會成功跳槽了。
2018即將到來,祝你們能在新的一年裏在事業上更進一步。