四位面試者的遭遇:工作3-5年,跳槽,創業還是留下來?

2019-07-30     CPPLinux開發架構師

最近面試了好幾位應聘項目經理的人,覺得大家的共性還是很多,現在挑幾位有代表性的經歷說一說,如有雷同純屬巧合。

面試者A:10年+工作經驗,985本科,在2家通信大廠待了4年多後與人合夥,十來個人的初創公司,曾任CTO,履歷上看做過各種產品追熱點,支撐幾年後錢燒完了散夥。 (創業)

面試者B:8年工作經驗,211本科,在1家通信大廠待了3年多轉行教育行業,後轉向區塊鏈自主創業2次,曾任架構師,平均每家創業公司支撐不到2年即宣告倒閉。(跨行業創業)

面試者C:10年+工作經驗,211本科,十幾年來一直待在某通信國企,經驗偏向行業上層應用,曾任項目經理。對行業新技術了解不多,目前企業架構調整,屬於被優化人員之一。(留在公司)

面試者D:8年工作經驗,985碩士,在通信國企待了5年多後轉行諮詢行業及房地產行業,曾任項目經理,在現有崗位不適應,希望回歸通信本業。(跨行業跳槽)

這四位面試者的經歷非常有代表性:四位的起點都不差,211或985的出身很容易邁進大企業的門檻,都說學歷是塊敲門磚,有當然最好,但入門之後還是得靠自身能力的不斷提升。

通信行業對碼農還是相當友好和開放的,一般而言3-5年足以從小白程式設計師做到中級碼農,此刻就到了第一個轉型期:是跳槽、創業還是留下來?

程式設計師這一行還是相對公平的,不懂的很難渾水摸魚,按照二八法則,大部分碼農的水平相差其實不大,所以我們先從這80%說起。

我們來逐個分析一下:

選擇一:留下來,怎麼留。

以211/985的出身待在一線通信大廠/國企到現在,最差也是個項目經理,由於大廠在行業根深脈廣,普通人在這個平台上能獲取到比小廠多得多的資源:例如最新的開源技術、各大廠商技術交流,行業大咖的內部培訓等等,還有一些大型業務場景例如高並發、低時延只有在大廠才有機會接觸到。

老話說 「寧為鳳尾不為雞頭」,跳槽時HR也更青睞大廠的工作履歷,為什麼?因為大廠意味著標準化、流程化,上戰場的主要力量還得正規軍。

在此也強調一點,作為普通人千萬不要錯把平台當能力,站在高山上當然看得遠,但下了山之後自己只是個普通人。身邊也有這樣的經歷,在老東家不滿左右掣肘,單槍匹馬殺出去幾年後老老實實回歸本業了,本以為自己能夠呼風喚雨,出去了才知道大樹底下好乘涼。

留在大廠就能夠衣食無憂嗎?

顯然不是。開頭案例中的面試者C在大廠待了十幾年最後卻落到被優化的境地,這個就是舒適區沒走出來的典型,還有很多小白幾年後變成了大廠的螺絲釘,只懂自己手頭上的那一點,專業面非常窄,導致跳槽可選餘地非常少。

活到老學到老,碼農這一行尤其如此,年紀大了邏輯思維不再敏捷,大部分最終都會走上管理崗位,但管理不等於脫產,自己時刻保持對行業和技術的關注,最起碼要多關注幾個含金量高的公眾號例如「碼農翻身」這種。(感謝COCO給碼農翻身打廣告)

做個有心人,長期保持行業敏銳度加上多年開發經驗的沉澱,在所屬位置深耕,一旦做到不可替代就具備了核心競爭力,這類人老闆捨不得裁,就算公司倒閉也能很快找到下家。

選擇二:走出去,怎麼走。

對於不死心一定要闖一闖的普通碼農們,可以看看下面的內容。

先定義一下什麼是普通人,非官二代、商二代、軍二代,祖上沒啥積蓄人脈,就靠自己讀書後來到北上廣深的打工者。

先說一個數據,統計顯示創業成功比炒股發財的幾率還要低那麼一點點,按比例大概1%不到,而創業所占用的時間精力以及繁瑣程度遠遠超過職業股民。(我就是那根不待見A股的韭菜-_-!)。

所以走出去的路不一定要死盯著創業這一個獨木橋,可以考慮換個崗位、換個行業,但換也是有技巧的。一般而言,在原單位內部轉崗是成本最低風險最小的,其次是換家公司同類型崗位,再次是換個行業。

特彆強調一點,千萬不要崗位、公司、行業全部一起換,指望一張白紙從頭再來是不可取的。為什麼?因為第一、白白浪費了自己這幾年的行業經驗積累,第二、企業招聘一定會優先錄取應屆小白,可塑性強,工作幾年的已經半定型很難改,成本還高,自然拼不過應屆生。

前面說過通信行業對碼農是相當友好的,碼農可以轉型的範圍相當廣。面談過的求職者中,從程式設計師晉級到技術管理、產品經理是水到渠成的,也有從開發轉崗到售前、售後、運營、銷售的都有,總有一個位置適合自己。

但是如果跨行就不一定了,不僅專業不適合也存在相當不可控的因素。舉個不太恰當的例子,網絡工程師除了去通信大廠還可以去運營商,可以從初級工程師一直做到網絡架構師,因為網絡是通信的基礎,但網絡工程師如果跨界到教育、金融等行業那最多就是個高級網管。

總而言之,普通人適合穩紮穩打,畢竟不同環境下成長形成的眼界、思路完全大相逕庭,所以在一開始選擇一個好平台還是有必要的,成長到瓶頸期的時候可以適當打破,可以從外打破也可以從內,這個就見仁見智因人而異了。但要注意,千萬不要衝動,否則一手好牌打爛也是有可能的。

話說回來,開頭提到的四位產品經理,各位能猜到最後錄取的是哪一位嗎?

其實是A,面談後安排A參加了多次會議討論甚至廠商交流,通過觀察我們認為:A自身技術和能力都不算差,但其職業定位就一電子城小老闆,產品運作採用小作坊模,快仿快銷,渠道推廣效果一般,當行情熱度消退後就玩完。

還有差不多一個月就迎來了一年一度的金九銀十跳槽季

如果你準備在金九銀跳槽的話,那麼作為一個C++開發者,該怎樣用一個月的時間,為即將到來的面試做好充分的準備!

一、技術廣度

技術廣度,顧名思義,你作為一個合格的工程師在開發一個系統,完成一些具體的技術任務的時候,必然是要使用到很多的技術的,而且針對這些技術還需要掌握一些非常常見,各種不同的系統可能都會涉及到的一些技術架構/技術方案。

舉個例子,假如這個網際網路公司在招聘C++工程師的時候,他的招聘要求是什麼?

是不是必須得要求候選人起碼在C++多個技術領域,都有實際的生產項目使用經驗,而且還對這些技術的各種特性以及落地項目的時候常見的技術架構/方案都比較熟悉,這樣招聘這個人進來之後才能上手立馬乾活。

要求一個候選人對各種常見的技術以及相關架構都有實際的項目經驗以及對技術本身也足夠熟悉,這就是所謂的技術廣度,站在招聘候選人的角度來分析一下,想必大家就理解這個「技術廣度」考察項了。

實際上技術廣度這個東西,都說了是技術廣度了,所以肯定不僅僅只是上面提到的那點東西。

實際上,一個合格的適合網際網路公司的工程師在技術廣度上,還需要掌握其他很多東西。

比如集群、性能優化、SDK開發、分布式架構、區塊鏈、資料庫、網絡IO等

越是大型的網際網路公司,就越是會針對技術廣度這塊,考察的可能會越廣泛,要求更高一些。

技術廣度的快速準備

那麼既然已經了解了這個技術廣度是什麼之後,現在針對這個技術廣度,在短時間內應該如何來快速的複習和準備呢?

這個問題,我們分成兩種情況來說。

假如說你是一個平時就很勤奮很努力,過去幾年一直在不停的學習的人,那麼恭喜你了,這塊東西百分百難不住你,因為你過去幾年持續的學習,可能已經自己把技術廣度的每個點的一些東西都研究過,而且或多或少都有一些使用的經驗。

對於你學習過或者實踐過的東西,你肯定都記錄了一些筆記。你最好的準備方式,就是快速的回顧自己的筆記,把各種常見技術的核心原理和項目實踐都通過筆記回顧的方式快速的回憶起來,在大腦里形成一個知識網絡。

如果你是一個不那麼勤奮的工程師,或者是一個工作才兩三年,涉世未深的小年輕,還那麼多的積累,此時怎麼辦呢?

那也沒關係,記住一句老話:臨陣磨槍,不快也光。你雖然沒啥積累,但是你都要面試了,怎麼著也得臨陣突擊一下吧。

下面就是要教你的方法了:你可以自己把技術廣度可能涉及到的各種點都羅列出來,然後上網百度一下各個技術點常見的一些面試問題,或者是基本的一些核心原理。

通過百度各個技術點,然後從各種技術博客中快速了解一個技術的方式,短時間內可以迅速建立起來對技術廣度中涉及到的各個點的一些基本認知、核心原理,這樣在面試的時候避免一問三不知。

當然,大家也清楚,技術這東西是沒法速成的,你採用第二種方法來突擊,跟你第一種情況下有幾年的積累厚積薄發,最後落地到面試的時候,表現是截然不同的,也會直接決定不同的人會進入不同層次的公司。

第二種情況的同學可能面試的時候問到一個問題,就只能說個一兩分鐘,但是第一種情況的同學,功夫都在平時,只要複習到位,面試的時候問到一個問題往往可以舉一反三,一下子給你說個十多分鐘都可以。這就是區別所在。

不過,就算你只說一兩分鐘,總比一問三不知,和面試官大眼瞪小眼好,對吧?

最後還是給各位強調一下,成功無捷徑,作為一個優秀的技術工程師,最重要的事情是一年365天,每天都不停的學習積累,堅持很多年。

吃得苦中苦,方為人上人,筆者早年進行技術積累的時候,也是這樣過來的。每天晚上學習到凌晨一兩點,周六周日全天學習,堅持了很多年。

只有通過幾年的積累,你才能夠厚積薄發,量變產生質變,菜鳥變成大牛。

二、技術深度

技術深度是指的什麼呢?簡單來說,假如你有了上面第一條說的技術廣度,這不能說明你有多優秀,僅僅只能說滿足了面試的最基本的要求,招聘進來過後立馬就可以上手幹活了,沒太大的培養成本。

決定你未來技術的高度有多高,還有你能否成為團隊里頂樑柱的,是你的技術深度。

技術深度的快速準備

如何為了即將到來的面試快速的做技術深度的準備呢?

其實也很簡單,分為兩種情況來討論。

如果你在過去幾年,自己就深入閱讀過大量開源技術的源碼,在閱讀源碼的過程中,自己還把源碼的架構圖、流程圖,手工畫了大量的圖出來。

那麼此時你完全就可以把過去幾年的源碼研究筆記翻出來,快速過一下,練習如何在面試現場在白板上純手工把各種技術的源碼架構圖和流程圖現場畫出來。

或者在過去幾年,你對某個技術領域,針對很高的技術難度做過什麼複雜的系統,在那個技術領域紮下了很深的研究的話,那麼此時你也可以針對過去的筆記快速的複習,在面試現場一定要現場畫圖把你做過的複雜系統以及技術難度都說清楚。

但是如果你過去幾年沒上述所說的任何積累,那咋辦呢?

還是那句話:臨陣磨槍,不快也光。

一般面試官在考察技術深度的時候,很可能會問你:你對哪個技術比較熟悉一些?

遇到這個問題的時候,希望大家頭腦清醒一些,千萬不要腦子發熱隨便亂說,因為你要做好一個心理準備,一旦你說出某個技術出來,比如你說你平時用dubbo用的比較多,接著面試官可能會開啟深入源碼級別的10連擊模式。

比如說,面試官立馬就會開始問你對你熟悉的某個技術,各種底層的機制和原理,讓你說源碼的理解,給你出各種技術挑戰之下這個技術該如何應對,等等諸如此類的問題。

我見過太多沒經驗的同學隨便說個熟悉的技術,其實他就僅僅只是會用罷了,但是一旦當我深入提問的時候,基本就進入一問十不知的情況了。

如果發生上述情況,會讓面試官對你的印象和態度極其不好,大家一定切記切記!

所以,假如你要是確實沒有過對什麼技術的深入的積累,這裡也教你一個臨陣磨槍的辦法:

你可以從簡歷中挑選出某個你相對來說用的比較多,熟悉一點點的技術,然後直接用萬能的百度,搜索「XX技術源碼分析」,「XX技術底層原理」。

通過幾天的時間快速的 「 死記硬背 + 軟磨硬泡 」,力爭對某個技術相對有一些稍微底層一些的理解。

這樣做,起碼在面試的時候被要求問到一些技術深度的時候,能相對給出一些比普通工程師的回答更好一些的分析,起碼能在面試的時候,讓你拿到好點的offer機率會相對更大一些。

還是那句話,做,總比不做好。你能對底層做了準備,有一些了解,總是要勝過那些浮於表面,只會使用API的工程師吧!

同樣筆者這裡要說,回歸技術的本質,對於技術深度的積累,那更是沒有任何捷徑可言,更不是幾個月可以完成突擊的。

因為真要有技術深度的話,你可能需要花費至少2年的時間,從底層開始研究一些基礎性的技術。

在打通你的底層技術任督二脈之後,再去對常見的開源技術進行深入的源碼研究。

有了幾年的積累過後,最後你在面試的時候,技術深度的體現,其實都是厚積薄發的。

三、基礎功底

這塊其實沒啥可多說的了,大家估計現在慢慢都感覺到了,社招的有經驗的工程師去面試網際網路大廠的時候,很多時候可是都要考察數據結構和算法的。

基礎功底的快速準備

這塊如何快速準備呢?

我的建議是,如果真的還有1個月要去面試了,那你最起碼用幾天的時間,網上搜三五十個最常見、最典型的算法題,反覆練習、務必熟練。

熟練到什麼程度呢?

你需要反覆練習,最後自己能夠在白紙上一遍就手寫出沒有bug的代碼。

哪些題目是最常見、最典型的?舉個例子,經典排序算法以及其時空複雜度分析,經典查找算法,棧、隊列、鍊表、二叉樹等常見數據結構的算法題,這些相關的基礎題目都要熟練掌握。

這個時候有了足夠的積累,起碼面試是不用擔心任何基礎性手寫算法之類的問題了,功夫其實還是在平時的。

社招對算法和數據結構的要求是低於校招的,校招是因為學生沒有太多項目經驗,只能考察你數據結構算法,看你聰不聰明。

那如何學習才能快速入門並精通呢?

當真正開始學習的時候難免不知道從哪入手,導致效率低下影響繼續學習的信心。

最重要的是不知道哪些技術需要重點掌握,學習時頻繁踩坑,最終浪費大量時間,所以有一套實用的視頻課程用來跟著學習是非常有必要的。

今天給大家免費分享一套教學資源,幫助大家在面試的的道路上披荊斬棘。獲取資料轉發+關注+私信我「資料」即可免費獲取

文章來源: https://twgreatdaily.com/zh-cn/M-ZcQ2wB8g2yegNDEg07.html