9 年老碼農(nóng)的跳槽“真經(jīng)”
此文閱讀群針對(duì)有五年以上IT工作經(jīng)驗(yàn)的同學(xué), 沒有工作經(jīng)驗(yàn)的新人,你找不到任何心靈雞湯,可能只有幾根雞骨。
這是我2016年職業(yè)生涯中第二次跳槽的總結(jié),時(shí)隔三年后,重新總結(jié)整理一遍發(fā)出來,回想下,其實(shí)找工作中很多東西是一成不變的。
跳槽起因
2012年人生第一次跳槽時(shí), 我的人生目標(biāo)是:三十多歲時(shí),在公司升職到一個(gè)小PM或者帶幾個(gè)人做項(xiàng)目。截止2016年,我的目標(biāo)早已經(jīng)成功地實(shí)現(xiàn)了一半——
我已經(jīng)三十多歲了。
當(dāng)時(shí)在2000左右員工的中型工程咨詢公司, 職位是9年經(jīng)驗(yàn)Senior碼農(nóng)。2015年的年中開始有跳槽的念頭, 因?yàn)楣镜捻?xiàng)目不咸不淡且切換頻繁, 導(dǎo)致技術(shù)上止步不前且難以深入。 咨詢公司的項(xiàng)目有長(zhǎng)有短,長(zhǎng)的也許十年,短的可能兩三個(gè)月,年景不好時(shí),小項(xiàng)目居多。當(dāng)你不停地切換項(xiàng)目時(shí),技術(shù)復(fù)用的感覺就會(huì)越來越強(qiáng)烈。
工作內(nèi)容全棧開發(fā),從移動(dòng)端,前端、后端、數(shù)據(jù)庫連同測(cè)試部署一鍋端,但2015-16年左右,隨著云技術(shù)開始發(fā)力,各個(gè)技術(shù)棧的細(xì)節(jié)劃分越來越細(xì),其中各個(gè)方向的開發(fā)框架也開始井噴。作為一個(gè)自認(rèn)為好學(xué)的人,人生中第一次覺得:學(xué)新東西腦子開始不夠用了。
還有一點(diǎn),就是無上升渠道,管理層都是45+且熱衷健身,按德國(guó)雄心勃勃的67歲退休計(jì)劃,我得等二三十年才有空缺升職。
跳槽目的
跳槽的目的, 一是Money,二是職業(yè)前景, 希望將來在某一領(lǐng)域方向持續(xù)深入。
Money talks
一開始只鎖定大公司,發(fā)現(xiàn)大公司不一定給你你要的薪酬;小公司別看規(guī)模小, 開的價(jià)有時(shí)會(huì)有驚喜。薪酬談判是我弱項(xiàng), 所以我每次都會(huì)開一個(gè)較高的價(jià)位, 扔給對(duì)方,然后一切隨緣。最后的合同工資漲幅 30+%。
職業(yè)前景
開始的時(shí)候我并不確定未來的職業(yè)領(lǐng)域, 投職位時(shí)只要是感興趣的領(lǐng)域都投, 直到確認(rèn)offer才最終確定。之前的咨詢工作接觸領(lǐng)域太多, 涉及的技術(shù)層面也太廣。最初想往嵌入式開發(fā)方向發(fā)展,因?yàn)榈聡?guó)這類職位需求大,經(jīng)過幾次殘酷且悲劇的面試后, 我意識(shí)到:真的沒必要用自己的短板和別人拼, 腦抽了嗎?
不過失敗之后我也深刻反思和總結(jié)了, 針對(duì)一些理論和概念的不足也認(rèn)真補(bǔ)了課。雖然職業(yè)領(lǐng)域沒有定, 但在開發(fā)語言和技術(shù)上大概確定了幾個(gè)方向, J2EE、.Net、Mobile App、Software Architect。后面找職位也針對(duì)這些方向進(jìn)行篩選, 而不是漫無目的海投。
對(duì)于不想再編程但Soft skill 又不夠的碼農(nóng)們, Consultant 和 Expert 以及 Software Architect, 在我看來是較好的方向。我最后選擇的還是繼續(xù)做開發(fā)職位,一是做的方向是物聯(lián)網(wǎng),我感興趣的方向;二是我覺得作為Architect我自身還需要更多歷練。
大環(huán)境
說IT碼農(nóng)好找工作, 這是真的;IT碼農(nóng)好找高薪工作,這是難的。
德國(guó)屬于汽車機(jī)械工業(yè)立國(guó)的國(guó)家,軟件行業(yè)整體上沒有得到類似中美那種高度的禮遇和待遇。不過隨著近年各個(gè)大廠的數(shù)字化轉(zhuǎn)型和戰(zhàn)略變化,可能以后會(huì)越來越重視軟件行業(yè)。
下面這張表來自Gehaltsreporter網(wǎng)站,統(tǒng)計(jì)了不同工齡的軟件從業(yè)人員的年薪中位數(shù)。注意這表里是中位數(shù),德國(guó)很多公司,給的薪酬是這個(gè)統(tǒng)計(jì)里的中位數(shù)上下(廢話!)。
關(guān)于德國(guó)軟件行業(yè)薪資水平,我會(huì)單獨(dú)另寫篇文章細(xì)說。
可以清楚地看到隨著工齡增長(zhǎng),會(huì)出現(xiàn)一個(gè)門檻,德國(guó)大部分公司里,普通工程師想越過這個(gè)檻,一般需要升職到有人事權(quán)或者有項(xiàng)目管理權(quán)的職位,或者投身咨詢拿項(xiàng)目分紅。亦或者,你技術(shù)上深挖到了Expert的大牛級(jí)別。
而到這一步,已經(jīng)超出了碼農(nóng)的技術(shù)能力范疇, 屬于Soft skill。 我非常清楚我自己的長(zhǎng)處和短板, 不多說。
- 問:“不逼自己一把,怎么知道自己做不到呢。”
- 答:“滾!雞湯自己去喝!”
之前公司辭職期是季度末提前三月, 這表面看起來是一個(gè)較為尷尬的規(guī)定。
意思就是辭職期在3-6個(gè)月之間,如果你錯(cuò)過季度末辭職,那么最長(zhǎng)會(huì)達(dá)6個(gè)月之久。這個(gè)辭職規(guī)定很常見,大家注意看自己的工作合同,松一點(diǎn)1至3個(gè)月,有的更苛刻,直接規(guī)定6個(gè)月的辭職期。如果合同上沒注明,那就按法規(guī)默認(rèn)是3個(gè)月。
剛開始我本著每季度前兩月加緊投,最后一月靠天收的信念,但職位放出的時(shí)間,面試周期或者對(duì)方回復(fù)周期往往超出我的計(jì)劃, 這樣會(huì)帶來很多問題, 后來我開始忽略這個(gè)辭職期投簡(jiǎn)歷。因?yàn)榫退闶?個(gè)月的辭職期,你還是可以和前東家好好協(xié)商,一般都是可以提前離職的。
你投的公司會(huì)不會(huì)真的等你等超過3個(gè)月?會(huì)的,我最后拿到offer的3個(gè)公司都明確表示,可以等6個(gè)月到我入職。
其實(shí),反過來想,公司如果對(duì)你沒興趣,你就算當(dāng)天能來上班擼碼都不會(huì)要你。
面試歷程
從2015年7月至2016年4月最終搞定Offer, 歷時(shí)近一年, 總共投了約45家公司,其中有5家通過獵頭引薦, 3家通過朋友和前同事推薦。 累積15次面試,不含額外的N次電面及與獵頭會(huì)面。 最終拿到3份Offer, 其中2個(gè)軟件開發(fā)職位,1個(gè)軟件構(gòu)架職位。
技術(shù)層面準(zhǔn)備要充分,你以為德國(guó)程序員面試只是問你幾個(gè)不痛不癢的理論問題?
有四次開發(fā)職位的面試, 是當(dāng)場(chǎng)編碼開發(fā)的。
有兩次構(gòu)架職位的面試, 是要白板畫構(gòu)架的。
開發(fā)職位:
1. 最挫敗的
一家云服務(wù)美企大公司, 先是和項(xiàng)目負(fù)責(zé)人以及團(tuán)隊(duì)成員面試,結(jié)束后接著給45分鐘開發(fā)一個(gè)尋島算法:一片海域里計(jì)算島嶼的數(shù)量。兩個(gè)人一左一右全程盯著,我一邊寫代碼,一邊思考,還要一邊解釋思路給對(duì)方。以前沒有這樣的經(jīng)歷,當(dāng)時(shí)思路很亂沒做出來。越想越不爽,面試回家后花了點(diǎn)時(shí)間做出來發(fā)給對(duì)方經(jīng)理,還是被拒了。
2016年左右時(shí),周邊的朋友和同事并沒有聽說過,有面試時(shí)現(xiàn)場(chǎng)寫算法這種做法。以前也沒有去Leetcode這類網(wǎng)站刷題,因?yàn)橐恢庇^察只有硅谷那邊的程序猿才有這需求。按美帝的標(biāo)準(zhǔn),這題15分鐘內(nèi)要完成。不過近兩年陸續(xù)從同行那得知,部分德國(guó)公司面試時(shí),也開始考現(xiàn)場(chǎng)寫算法題了。
想想現(xiàn)在的畢業(yè)生也不容易,畢竟Leetcode的算法題已經(jīng)上千了,刷到爆肝。
2. 最無語的
一家醫(yī)療設(shè)備大公司, 團(tuán)隊(duì)的技術(shù)負(fù)責(zé)人給了一張A4紙打印出來的滿滿的C++代碼,不給電腦,不給調(diào)試, 讓我徒手找出bug。Sorry, 大哥,我真的是來面.Net 職位的好吧?!
這家公司的面試流程挺奇特的,先是和項(xiàng)目負(fù)責(zé)人和人事幾個(gè)人面試,然后直接和開發(fā)團(tuán)隊(duì)組員見面,圍成一圈一起喝咖啡,你一句我一句尬聊,他們說這是測(cè)試未來同事的氣場(chǎng)合不合。哈?
3. 最有成就感的
這是一外包DL小公司, 二十來人,給OEM做外包項(xiàng)目。這是通過獵頭介紹的。獵頭說老板是個(gè)星球大戰(zhàn)粉絲,去了一看,果然不假,公司休息室里貼滿了星戰(zhàn)的電影海報(bào),到處是May the force be with you。
和老板一面后,通知我改天過來Probetag(試工一天)。
當(dāng)天先簽了一堆NDA保密協(xié)議,但是因?yàn)閷?duì)方?jīng)]準(zhǔn)備好開發(fā)環(huán)境,各種狀況頻發(fā)。大半天下來最后剩2個(gè)多小時(shí),讓我完成現(xiàn)有系統(tǒng)的一個(gè)新模塊,這本來計(jì)劃給我留4-5小時(shí)做的。這兩小時(shí)里我腦子飛速運(yùn)轉(zhuǎn),讀完全陌生的代碼,寫新模塊,再部署到系統(tǒng)里測(cè)試。項(xiàng)目經(jīng)理測(cè)試了后說:這是可以發(fā)布使用的代碼。技術(shù)負(fù)責(zé)人非常開心, 隔天給了Offer。
公司雖小,但給的薪酬卻比上面兩個(gè)大公司高。
4. 最中規(guī)中矩的
一家大型供應(yīng)商的子公司,做物聯(lián)網(wǎng)。 一面和人事,部門負(fù)責(zé)人以及項(xiàng)目負(fù)責(zé)人面試,幾天后通知二面。二面現(xiàn)場(chǎng)開發(fā)一個(gè)算法,并且寫系列單元測(cè)試, 然后追問很多優(yōu)化問題。因?yàn)橛辛酥暗慕?jīng)驗(yàn)和心理準(zhǔn)備,這次就不那么緊張了。預(yù)留一小時(shí), 25分鐘結(jié)束, 當(dāng)天給Offer。
最后決定接了這家的Offer。
架構(gòu)職位:
1. 某大型OEM子公司
面試時(shí)讓我白板設(shè)計(jì)一個(gè)Connected Car構(gòu)架,白板從各個(gè)系統(tǒng)模塊推演,從數(shù)據(jù)倉庫到移動(dòng)端推送,嵌入式消息管理,安全性,分布式等,交談甚歡。負(fù)責(zé)人說這介紹這個(gè)職位不用太多編程,需要前后臺(tái)到移動(dòng)端的構(gòu)架和協(xié)調(diào)。
被拒了。
做了幾年云開發(fā)后,現(xiàn)在回想起來,當(dāng)年設(shè)計(jì)的構(gòu)架確實(shí)太幼稚了,拒的應(yīng)該!
2. 某大型OEM子公司
工作領(lǐng)域是財(cái)務(wù)和支付構(gòu)架,涉及系統(tǒng)整合,安全端口,支付gateway等等。該構(gòu)架職位基本不需編程,整個(gè)項(xiàng)目代碼基本外包出去,主要協(xié)調(diào)各模塊合作以及QA。
- 一面和項(xiàng)目負(fù)責(zé)人談,白板設(shè)計(jì)支付構(gòu)架。
- 二面和部門負(fù)責(zé)人談。
拿到Offer。
假如當(dāng)年接了這個(gè)Offer,不知道現(xiàn)在是什么狀況,估計(jì)八成不在碼農(nóng)第一線了。
面試相關(guān)
1. HR都不容易對(duì)付,面試中一貫的挖坑
但是面試多了,就知道HR的套路了,網(wǎng)上把德語的Hr常見面試題找出來,預(yù)先每個(gè)問題心里自問自答一遍,不要有自相矛盾的地方。這些問題無非是:
- 你為什么來德國(guó)?
- 為什么離開上一個(gè)公司?
- 上一個(gè)公司是怎么和同事合作的?
- 為什么跳槽?
- 為什么來我們公司?
- 你的長(zhǎng)處和短處是什么?
- 遇到問題時(shí),你是怎么解決的?
- 和同事意見不合適,你是怎么解決的?
- 等等等等
2. 不要忽略獵頭,但也要有選擇
對(duì)于通過獵頭找工作,開始我是排斥的,覺得自己找更硬核,而且覺得雇主公司可能會(huì)為了省去高額中介費(fèi)而優(yōu)先錄用直接投簡(jiǎn)歷的。我還是太Naive了。
有個(gè)朋友總結(jié)的好:
- “ 對(duì)于公司的HR,如果獵頭招了個(gè)合適的人,功勞在HR;如果招了個(gè)不合適的人,那么責(zé)任在獵頭,不在于HR;至于中介費(fèi),那是公司的錢,不是HR的錢。”
后來陸續(xù)接觸的幾個(gè)同城的獵頭,態(tài)度和幫你找工作的努力,你是看得見的。而且他們會(huì)指點(diǎn)你面試的要點(diǎn),透露對(duì)方的某些選擇傾向,這對(duì)沒有太多面試經(jīng)驗(yàn)的人,是非常有幫助的。不過如果你在本地找工作的話,還是同城的獵頭人脈更為廣泛,外地的獵頭都是電面,遠(yuǎn)程交流起來并不順暢。
最后
最近又跳了一次槽,本來是打算寫篇新的總結(jié),結(jié)果翻出了三年前這篇,先溫故知新一下吧。
正在寫后續(xù)的新的一篇。
寫給在德國(guó)奮斗并苦逼著的碼農(nóng)們:
- 跳槽只決定了你未來會(huì)在哪里編程, 就算跳到你心儀的公司,你還也只是個(gè)碼農(nóng)。
作者簡(jiǎn)介:公眾號(hào)【德國(guó)IT那些事】不定期發(fā)布土豆啤酒之國(guó)的IT圈動(dòng)態(tài),記錄奮斗在德國(guó)的IT人,Ta們職場(chǎng)中的淚與笑,Ta們生活中的悲與樂,Ta們遇到的可氣或可愛的德國(guó)同事,講述德國(guó)程序猿和程序媛們自己的故事。