1. 程式人生 > >小公司和大公司的程式設計師有什麼差別?如何進大公司?

小公司和大公司的程式設計師有什麼差別?如何進大公司?

    我在大公司幹活前,基本都在小公司之間輾轉,對比兩種公司的經歷,切身感受到“人往高處走“絕非是空話。我在之前的博文裡,多次講到程式設計師該去大廠看看,在這篇博文裡,將結合我和我朋友的所見所聞,從技術和發展前景等方面,綜合講述小公司和大公司里程序員的普遍差別,以此再讓大家感受下大公司經歷的重要性。不過本文不是停留於此,還更將針對小公司幹雜事的程式設計師,給出逆襲到大廠的若干建議,好正文開始。

1 工作五年後,兩類程式設計師技術上的普遍差距 

    從畢業到工作5年,如果程式設計師一直在小公司幹,如果再不注意積累,可能頂天了也就是個熟練工,熟悉本公司的業務,來了新需求,能很快地完成功能並交付測試,如果一個公司呆久了,可能再循例升級到組長或專案精力,帶一幫人完成功能業務,或者再憑藉良好的人際關係,高效地和其它組交流。

    也就是說,在小公司裡幹,時間可能更多用在重複性的實現業務上。從技術角度上來講,和剛畢業的人相比,可能是會知道一些專案開發的坑,也可能會多用些專案管理的工具,專案開發的經驗可能也相對豐富些。但熟練工嘛,可替代性太強,或許上點心的畢業生,工作個1年也就能達到熟練工的水準了。
    但如果程式設計師畢業後一直在大公司裡幹,5年後,如果上進些,技術層面應該掌握不少值錢的技術,比如大資料,分散式元件或雲端部署,從經驗角度,可以除錯和排查元件底層的問題,從運維角度,至少能在linux部署元件,這種人如果繼續在大公司裡深造,晉級到資深架構指日可待,如果這個時候去小公司,做個技術主管問題應該也不大。

    話不能說絕對,在大公司裡混得很慘的人也有,在小公司裡不斷上進,最後實現財務自由的人也不少,但這裡就有個概率問題。相對而言,大公司員工普遍要比小公司員工能力更強,從而掙的錢也就更多,這也是為什麼很多人要去大公司的原因。

2 技術視野方面,兩類程式設計師不能相提並論

    為什麼大公司裡的員工發展前景要好呢?因為大公司的業務量大,所以用的技術更值錢,裡面的員工有足夠多的機會積累值錢技術的專案經驗,而且大公司牛人多,通過和這些大神的交流,第一技術發展的視野就更寬廣,第二自我探索的試錯成本也會低很多。  

    相對而言,在小公司裡,可能更看重實現業務,而併發量等指標相對很低,而且小公司未必有足夠的試錯空間,所以小公司的員工可能在平時開發過程中未必能直接實踐分散式,機器學習,資料分析和雲端的技能。如果小公司的員工要自己學,限於接觸的技術面,可能就需要更多的時間來嘗試了。

    這我有親身經歷,之前在小公司,也就部署個SSM,外帶些java+JDBC的功能,只求功能沒毛病。我在小公司的時候,也能算不斷上進,但也就深挖個Java核心方面的底層程式碼,或者在資料庫方面也就探索個諸如執行計劃等的單機版的優化方式,這些有用,但僅僅算最基本的技能。

    但在大公司裡,接觸的都是分散式部署,產線上需要上萬併發量,效能優化就不提了,平時動輒除錯產線dubbo, netty, mycat等問題,而且查問題時需要進入到dubbo等底層程式碼,平時還有大神定期分享熱門知識點,可以這樣說,比起大公司的視野,我在小公司裡就像井底之蛙。

    或許這不是個例,我平時在面試過程中,發現有大公司背景的候選人綜合能力普遍要比只有小公司經歷的要強,而一些30歲以上並且只有小公司經歷的候選人,大多競爭力都退化了。

3 小公司遇到動盪的概率會被大公司大很多,所以小公司的程式設計師看上去不穩定

    程式設計師在剛畢業的幾年裡,可以頻繁跳槽,但到了30歲,就應該穩定下來。這裡的穩定絕非是不擁抱變化,更不是混吃等死養老,而是要穩定的在一個公司的崗位上不斷積累技能和經驗,然後想辦法提升到架構師或技術專家。

    但一些小公司可能沒法做到這點,比如業務線變更,或者組織架構調整,甚至各種原因公司倒閉,或許有時候不是程式設計師的原因,但頻繁遇到這種變動的話,程式設計師可能每次都得從零開始接觸業務和技術,如果每次技術面都不同的話,那麼何來經驗積累?要知道,架構師和技術專家乃至CTO,都是需要靠時間沉浸的。

    我在面試的時候,見到不少30歲以後的程式設計師,最近3年裡不斷在一些小公司間輾轉,他們也是一臉無奈,告訴我各種原因,比如公司爆雷了,或者業務線被賣了。如果原因合理,不會質疑候選人的穩定性。但如果本招聘崗位需要spring cloud 5年經驗的,候選人在不斷變動中,spring cloud只有3年經驗,如果再因積累經驗過少而沒法回答出一些深層問題,那麼就很吃虧了。如果年紀再大些,或者還只能繼續在小公司裡碰運氣。

4 從掙錢的能力上看,大公司的程式設計師沒上限

    技術不能當飯吃,所以這裡就直接些,從掙錢角度分析小公司和大公司間的差別。

    小公司的程式設計師,幹了若干年後,工資上升的幅度就非常有限了,頂多一年加個幾百。老闆不傻,這些人乾的活和新畢業生差不多,頂多經驗豐富些,幹活快些,而新員工因為沒有家庭等負擔,還能加班。而且老闆也知道,這些人因為競爭力退化,跳槽風險很低,哪怕走了,找個能替代的員工就行了。所以老闆敢壓低工資。

    而在小公司裡,拿高工資的,一般都是老闆從大公司裡請來的,在小公司裡憑能力提升到高階崗位的,不能說沒,但很少,一般途徑都是先到大公司鍍個金,然後再到小公司做個技術主管。 

    但如果在大公司裡,哪怕到了30歲以後,見過世面的程式設計師比比皆是,而且大多能獨當一面,雖然不能說無可替代,但哪天這些程式設計師只要高興,或者再憑經驗到其它大公司,或者到小公司裡做技術,或者乾脆就找個外企養老。所以大公司裡工資增加的幅度一般不會低,而且經過大公司栽培後,也比較容易升級到架構師,到了架構師級別,工資就更沒上限了。

    以上是主業,再說副業,小公司的程式設計師由於接觸到的技術面和人脈關係有限,可能也就掙個搬磚的錢。但如果在大廠幹個幾年,再憑技術出幾本有技術深度的書,再經大公司高階職位的加持,外帶一些大神的推薦,至少在業內也能混個臉熟,憑此也能接到更多價效比高的外快了。 

5 爭取30歲前進大廠,如果當前技術不行,趕緊努力

   以上講的是進大公司的好處,前文是曉之以利,後面不是帶貨,而是給出建議了。其實大公司並不難進,一方面當前市面上類似教學視訊太多,哪怕基礎再差,看了這些好歹面試能吹吧,另一方面,大公司確實也在不斷招人,剛開始沒法以正式員工進去,可以先以外派的身份進吧。

    但比較可悲的,是身在舒適區但安於現狀,淺嘗輒止挖掘一些所謂的技術後就夜郎自大。我面試一些高階開發的時候,有不少候選人會自信心爆棚,一些java核心和單機版的資料庫調優技能確實答得很好,有個別候選人甚至會顯擺類似“回有四種寫法”這些華而不實但實用性有限的技能。但當我深入到分散式元件架構這塊,這些候選人大多隻知道皮毛。我非常為他們感到可悲,送他們走的時候也會和他們說,該去看哪些元件知識點,甚至還會推薦些書。但如果遇到些自我感覺過於良好的候選人,這些建議能有多少幫助呢?

    但相反,我也在做線下培訓,哪怕當前技能再沒競爭力,只要態度端正了,其實後面都是體力活。 

    1 在做本職工作的時候,多上心,多去解決些產線問題,多去接觸些運維部署的技能。比如以前競賽,競賽題是來源於基礎,基礎紮實了,後繼才有提升的空間。

    2 大公司面試要求會高,這裡給出些補習基礎的技巧:通過ConcurrentHashMap綜合瞭解下資料結構,集合,併發的點,通過執行緒池加netty,瞭解下併發框架的實現方式,通過執行計劃和索引瞭解下單機版的效能調優,框架方面,多去看下spring的ioc和aop, mybatis方面多去看下諸如事務的配置,分散式資料庫方面,瞭解下基於mycat的分庫分表外帶主從熱備的技巧,分散式訊息方面,看下kafka實現冪等的方式,和zk+dubbo框架的實現方式。

    3 然後是提升核心技能,這塊可以從底層協議和底層實現方式來看,比如看下netty的執行緒模型,零拷貝等,dubbo暴露服務等的方式,總之分散式元件方面,不僅要用,而且多少能瞭解細節和底層。

    4 然後把技術和專案經驗繫結到一起,比如你netty+執行緒池是如何在工作專案裡做的,做了有什麼好處?如何部署的,這樣言之灼灼說出來,不由得面試官不信。

    5 外帶準備些分析問題和解決問題案例,比如你遇到OOM是怎麼排查的,遇到kafka訊息重複消費問題後,是如何日誌發現問題的。

    至於Java的一些技巧,比如鎖,集合裡的快速失效,這種可以準備,但包含的技能和之前提到的相比,太不值錢了。

    為什麼要提30歲前進大公司呢?一方面一些大公司有年齡限制,另一方面,如果30歲以後依然在小公司間遊蕩,那麼後繼如果要再掙更多的錢,不是說不行,但付出的努力相對要多很多了。 

6 總結:進大公司後,你會發現掙錢能力一下子會提升許多

    在上文裡,我向大家展示了大公司的發展前景,可能有些在小公司的同學沒切身體會,但不要緊,“人往高處走“的老話總不會錯,當你付出努力進大公司以後,就會發現你掙錢的渠道一下子寬很多,掙錢的能力會提升不少。

    努力才會有收穫,進大公司的路不會很平坦,我在小公司仰望大公司的時候,的確也有過遙不可及的感受,在接到大公司的面試通知時,也產生過自卑感。不過咬牙面試後,發現進大公司並不像想象中那樣難,裡面的面試官也不是三頭六臂的神,經過實踐努力後,大公司的面試題也並不是高不可攀。而且,我見到的人裡,經過踏實努力然後進大公司的例子也比比皆是。

    所以對大家而言,大公司不在天邊,而在眼前,只要大家退而結網,就一定能收穫到大公司給與的發展紅利。

 

版權說明:

    如果要轉載本文,請先徵得本人同意。