最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

@程序員,如何進入BAT這類一線公司?做到這幾點的就有機會!

2020-07-18 16:40 作者:C語言編程__Plus  | 我要投稿

跟大家聊一聊很多很多很多人問我的一個問題:中小公司的Java工程師該如何規(guī)劃準備,才能跳槽進入BAT這類一線互聯(lián)網(wǎng)公司?

作者簡介:中華石杉,十余年BAT架構經(jīng)驗,傾囊相授

我用了三個 “很多” 來形容這個問題,是因為這個問題太普遍了。國內Java工程師至少好幾十萬,但是在國內互聯(lián)網(wǎng)大廠里干過的碼農(nóng)比例不高。

這個是符合28法則的,少部分人在大廠里干過,發(fā)展得很好。但是大部分人還是在中小型公司,或者外包類傳統(tǒng)IT公司里工作。

這些同學可能對自己的技術成長,職業(yè)發(fā)展感到非常的迷茫,自己有點追求,也想去一下大廠,但是又不知道怎么規(guī)劃。

我個人在國內幾個最大的互聯(lián)網(wǎng)公司先后有著十余年工作經(jīng)歷,面試和招聘過大量各種水平的開發(fā)人員。包括初、中、高級開發(fā),技術專家,高級技術專家都面過。也指導過很多同學的職業(yè)發(fā)展規(guī)劃,所以打算從我個人的角度來聊聊這個問題:中小公司的同學應該如何一步一步實現(xiàn)逆襲進入BAT。

我相信以下情形很多同學應該都有類似體會:一直徘徊在各種中小公司里開發(fā)一些沒技術難度的Java系統(tǒng),主要就是CRUD。

哪怕是用了用MQ、緩存、分庫分表,但是也沒什么并發(fā)量,數(shù)據(jù)量也不算特別大,自己的技術成長極為緩慢。

等過了三五年,甚至是十多年過去,職業(yè)發(fā)展和技術水平都停滯在這個狀態(tài),無法有更進一步的發(fā)展。

隨著現(xiàn)在寒冬到來,到處裁員,中年碼農(nóng)的危機,加不動班、體力越來越差、孩子壓力越來越大,對自己何去何從很迷茫。

你的技術為啥十年八年都無法進步?

先來搞清楚一個問題,你的技術到底為什么十年八年都無法進步?

拆解一下,你的能力集中在哪幾塊:

技術廣度

? ? 對MQ、緩存、NoSQL、大數(shù)據(jù)、高并發(fā)、高可用、微服務,等一系列的相關技術都有一定的了解,熟悉常見功能

? ? 在自己的項目里落地使用過,有一定的技術使用經(jīng)驗。

技術深度

? ? 讀過Kafka的底層源碼?

? ? 對消息中間件的架構設計思想有深刻的理解?

? ? 對分布式事務框架/中間件的架構設計有過研究?

? ? 在每秒百萬并發(fā)場景下做過底層系統(tǒng)的深入優(yōu)化和故障處理?

如果你有類似這種過人之處,那么才能說你有某些技術深度。

項目經(jīng)驗

? ? 你有沒有整體負責過幾億注冊用戶,幾千萬日活用戶的大規(guī)模、高并發(fā)、分布式、高可用、高復雜度的系統(tǒng)架構設計?

? ? 或者你負責的一直都是那種公司內部使用的,幾十個人用的OA系統(tǒng),CRM系統(tǒng)?

團隊管理

? ? 你在互聯(lián)網(wǎng)公司里帶過20的團隊?

? ? 或者你在一個傳統(tǒng)IT公司里帶過3個人的小組?

拆解過后再來看看,如果你在一些小型互聯(lián)網(wǎng)公司,或者是做一些傳統(tǒng)軟件開發(fā),為什么技術無法進步?

其實道理很簡單,可能公司推出了一款APP,但是用戶量總共就100萬,日活用戶就10萬人。

那你的系統(tǒng)有技術挑戰(zhàn)嗎?

沒有。

既然沒有技術挑戰(zhàn),你把系統(tǒng)搞那么復雜干嘛?或者架構師搞那么復雜干嘛?不需要。

大家簡單做一做,主要CRUD寫一下功能,最多現(xiàn)在Spring Cloud流行了,上一下拆成微服務的就夠了。

這套系統(tǒng)就穩(wěn)定支撐公司的業(yè)務了,那你接觸不到很大的技術挑戰(zhàn),所以技術進入停滯狀態(tài),不是很正常么?

或者你做一些傳統(tǒng)的軟件開發(fā),比如說建筑類軟件、辦公自動化軟件這種的??偣簿蛶资畟€人用一個系統(tǒng),或者幾百人用,那情況就更是如此了。

可能都不需要Spring Cloud,直接單塊系統(tǒng),單機部署,就是在里面填充業(yè)務代碼就好了。

所以根本原因是很多同學平時的工作環(huán)境,沒有什么技術挑戰(zhàn),所以只要把系統(tǒng)技術做的簡單一些,低成本就可以支撐公司業(yè)務了,那既然這樣,當然技術就進展很緩慢了。

可能你工作了八年十年,技術廣度還可以,對流行的技術自己都看過一些書,簡單用過,玩過Demo。

你的項目經(jīng)驗積累了不少,但是都是一些各個傳統(tǒng)領域的系統(tǒng)業(yè)務理解較為深刻,沒有極高技術挑戰(zhàn)的項目經(jīng)驗。

有的人工作時間長,可能就是帶過一些人,有過一些帶團隊的經(jīng)驗,能管人。

大概就是如此了,每次換工作,還是只能換類似的公司,干類似的技術,依然沒有進步,依然是類似的項目經(jīng)驗。

所以大伙兒先梳理清楚,迷茫的根源究竟在哪里。

追求卓越,自己設立技術挑戰(zhàn)

坦白說,如果站在公司角度是很反對架構的過度設計的,因為平白浪費很多時間,而且很多架構過度復雜沒有必要。

但是如果是站在個人的職業(yè)發(fā)展角度而言,那么你的Leader必須要有對技術追求卓越的思維?;蛘吣闶荓eader的話,就得有對你的團隊技術追求卓越的品質。

什么叫追求卓越呢?

舉個例子,現(xiàn)在你開發(fā)了一款辦公自動化系統(tǒng),服務某個公司,幾百人在用,那么技術一般,就是一個單塊系統(tǒng),直接Spring MVC + Spring + MyBatis就搞定了。大家都做著沒意思。

現(xiàn)在Leader為了大家的幸福和未來,咬咬牙說:“兄弟們,現(xiàn)在系統(tǒng)滿足公司的發(fā)展了,但是我們不如來大膽的追求一下卓越?!?/p>

兄弟們:“領導你是啥意思???”

Leader:“咱們首先為了提高系統(tǒng)的開發(fā)效率,避免30個兄弟開發(fā)一個單塊系統(tǒng)效率太低,我們來實踐一把最流行的微服務架構吧。

咱們一起來把系統(tǒng)重構成微服務的架構,把spring cloud整套東西都用進去。

咱們先得做技術調研,小A你來研究研究Spring Cloud核心技術組件,小B你來研究研究配置中心,小C你來研究研究服務鏈路追蹤……

大家分頭行動,都開始學起來新技術。但是咱們平時已經(jīng)很忙了,要是占用工作時間搞這個,老板會罵人,大家看,每個人每天額外加班抽2小時一起來搞一下,怎么樣?”

兄弟們:“領導,為了大家的幸福,那肯定得趕緊上新技術啊,大家都學點新東西?!?/p>

最后大家辛苦了2個月,一起把系統(tǒng)重構成了整套的微服務架構,每個人都學到了東西,領導也學到了微服務整體架構設計的能力。

Leader:“現(xiàn)在這破系統(tǒng)就幾百人用,忒沒意思了,咱們來大膽想象,假如說以后這個系統(tǒng)要做成SaaS云產(chǎn)品,會有幾百個公司來用,有幾萬人,甚至幾十萬人同時使用一套后臺系統(tǒng)。大伙想想,那時會怎么樣?”

兄弟們:“貧窮限制了我的想象力?!?/p>

Leader:“那小A你去根據(jù)現(xiàn)在系統(tǒng)的訪問量估算一下,如果有幾十萬人用,系統(tǒng)每天的并發(fā)量會有多少,數(shù)據(jù)庫能不能支撐住,需要用哪些高并發(fā)的技術來支撐?

小B,你去調研一下,如果有幾十萬人用,我們會存儲多少數(shù)據(jù)量,性能會有多差,怎么支撐海量數(shù)據(jù)存儲?然后看看用什么技術來支撐一下?”

兄弟們:“好,領導一句話,上刀山、下火海?!?/p>

幾個月后,大家研發(fā)了一套系統(tǒng),完成了測試,系統(tǒng)集成了緩存集群、MQ集群、分庫分表技術,還有很多其他的一些東西。

這個時候領導就想辦法了,能不能跟老板建議一下,咱們就把產(chǎn)品做成SaaS云的模式呢?然后是不是可以就把這套系統(tǒng)給部署到生產(chǎn)環(huán)境里去?

到此為止,就通過一個例子給大家闡述了一下,自己在公司里如何通過想辦法不斷的追求系統(tǒng)的卓越,提高研發(fā)效率,支撐也許可能會存在的更高的并發(fā)量,更多的數(shù)據(jù)量,盡可能把系統(tǒng)做的更好一些。

多想想為了解決自己設想的一些技術挑戰(zhàn),如何盡可能把一些業(yè)界常用的技術都學習一下,比如緩存、消息、分布式、微服務、大數(shù)據(jù)等等。

都盡可能進行相關的實踐,積累相關的項目經(jīng)驗

實際每個人在落地的這個過程的時候,方式肯定是不一樣的:有的人也許人微言輕,只能對自己負責的模塊設想一些技術挑戰(zhàn),然后只能自己在本地拉一個公司代碼分支,嘗試對這些分支加入一些技術,自己練習思考。

還有的人可能是個小Leader,無法左右公司產(chǎn)品發(fā)展方向,但是可以盡可能跟上級溝通,闡述自己對系統(tǒng)架構追求卓越的一些構想。

然后爭取到一些時間,盡可能把系統(tǒng)多融入一些技術,給做得好一些。

每個人都有每個人的方式,但是歸根到底一句話:如果你本身工作沒有技術挑戰(zhàn),那么盡可能多給自己設立一些挑戰(zhàn),多學一些技術,多做一些嘗試和實踐。

這總是可以盡可能幫助你在一定程度上提高技術,擴展技術知識的。

在這個階段,我見過最多的人犯的最大的一個錯誤就是:覺得自己這樣倒騰一些技術是沒用的,沒有實際的真正的經(jīng)驗。

然后他們著急忙慌,心浮氣躁,自怨自艾,總想著必須得先進一個好的公司,才能鍛煉技術。

實際上,這是一種很浮躁的想法,你要進好的公司鍛煉,你必須先打磨一下自己的技術,然后才能有資本去一家更好的公司。

幻想一步登天?那只是你的黃粱美夢

很多人多學了一些技術經(jīng)驗,很容易開始有點膨脹,老是想著一步登天,一下子就進入BAT。

現(xiàn)實是有類似的一些成功經(jīng)歷,比如有的人是大專學歷,通過自己的努力學習,加上一些機緣巧合,直接一下子就從中小公司跳入了BAT。

但是就現(xiàn)實情況來看,不是每個人都一定可以一步登天,復制這個經(jīng)歷的。

在你學習了一些技術,同時自己多做了一些嘗試,積累了一定的經(jīng)驗之后,此時應該做的是:做最壞的打算,抱最好的希望。

你完全可以去試試BAT、TMD的面試,盡可能去爭取機會,但是如果沒面上也無所謂。

你可以降低期望,人只要跟自己比就好了。

比如說你現(xiàn)在在某小型的傳統(tǒng)外包軟件公司,那么接下來如果你能面進一家小型創(chuàng)業(yè)互聯(lián)網(wǎng)公司,有個幾百萬用戶量,日活用戶有幾十萬,比之前的公司技術挑戰(zhàn)多一些,用的技術也更多一些,那么你就可以去了。

只要你每一步跳槽,都比之前好,都讓自己有進步,那么整體的大方向就是沒錯的。

也許你先進一個創(chuàng)業(yè)型互聯(lián)網(wǎng)公司,然后下一家就可以進入一個市值幾十億美金的上市互聯(lián)網(wǎng)公司,再下一步就可以進入BAT。

在這個階段我見過很多人犯的最大的錯誤就是:老是覺得自己剛學了一點東西,就必須立馬進大公司。

這些同學往往心態(tài)著急的不行,而忽略了自己的學歷、背景、經(jīng)驗導致了起點較低。能立馬進BAT當然很好,但是有時候機緣巧合緣分沒到,進不去也正常。

在這個階段最需要做的,就是跟自己比,別跟別人比,只要每一次跳槽都比上一次好,公司更大,薪資更高,職位更高,技術挑戰(zhàn)更大,就可以了。

不斷提升自己,最后進入 BAT

一旦你開始做到跳槽進入一家比之前更好的公司,有更高的技術挑戰(zhàn),那么公司本身的技術挑戰(zhàn)就會促使你快速成長,還是舉個例子吧。

比如說你本來就在做傳統(tǒng)軟件的開發(fā),用的都是單塊系統(tǒng)涉及的一些技術,就是簡單的Spring MVC、Spring、Mybatis等技術做CRUD的業(yè)務開發(fā)。

但是你自己業(yè)余不停地學習技術,對自己負責的一些模塊多設立了一些技術挑戰(zhàn),自己構思了很多更高挑戰(zhàn)的場景下,可以給自己的模塊加入哪些更高階的技術。

接著你帶著自己學習的一些技術,還有積累的一些實踐經(jīng)驗和思考,進入了一家創(chuàng)業(yè)型互聯(lián)網(wǎng)公司。

這家公司的好處就在于,互聯(lián)網(wǎng)公司技術氛圍更好,比如ZooKeeper、Redis、RocketMQ、Sharding-JDBC,等各種技術,在公司生產(chǎn)環(huán)境的系統(tǒng)里,都有落地和使用。

那么你此時是不是就不用停留于一些技術挑戰(zhàn)的構思,可以開始真正做一些有點技術挑戰(zhàn)的工作了。

但是,此時你還是需要繼續(xù)不停的學習技術,學習更多的架構上需要的技術,深入的學習技術,同時積累實踐經(jīng)驗。

然后帶著這份工作經(jīng)歷,同時加上你不斷加強的技術學習,你進入了一家比如30億美金估值的獨角獸公司。

這家公司有2000萬用戶,日活用戶達到百萬級,高峰并發(fā)量可以過萬,每天數(shù)據(jù)庫里日增數(shù)據(jù)量達到了數(shù)十萬。

此時你開始真正接觸一些所謂的:高并發(fā)、高可用、高性能、海量數(shù)據(jù)的實際處理。

基于你開發(fā)的業(yè)務系統(tǒng),你開始更多的實踐,同時你還對各種涉及到的技術有了更加深入的研究,比如對一些核心中間件系統(tǒng)進行了源碼級別的閱讀和研究。

最后你終于等到一個機會,BAT里某家公司讓你去面試,經(jīng)歷了四五輪面試之后,對方給了你一個Offer,是年薪40萬的高級Java工程師的職位。

然后你可以在最頂尖的互聯(lián)網(wǎng)公司里學習開發(fā)流程、規(guī)范、架構,接觸到最大規(guī)模的用戶量,每天都有解決不完的技術挑戰(zhàn),在這個過程中,你又可以繼續(xù)成長。

可能你再次跳槽,進入TMD中某一家,拿下技術專家的Offer,在大公司里拿下技術專家的職位,帶一個團隊,達到人生第一個巔峰。

接著你再跳槽,可能一些創(chuàng)業(yè)公司就開始挖你去做一些技術管理層。

大家別以為這個僅僅是筆者捏造的一個故事,在筆者指導過的同學中,確實有同學按照這個路線,實現(xiàn)了人生的逆襲!

最后,送大家一句話:九層之臺,始于壘土;千里之行,始于足下。

最難的是開始的那一步,大量的人都停留在一些完全沒太多技術含量的技術工作的情況下,這個時候是最難熬的。

其實只要能把第一步走好,自己拼命地積累技術,努力跟其他工程師競爭,技術遠超跟自己同情況的其他工程師,那么你就有機會率先脫離這種困境,開始慢慢第二步,第三步。

到了后面,就是讓公司的技術挑戰(zhàn)使你不斷努力和進步,最后進入BAT這類一線互聯(lián)網(wǎng)公司。

學習C/C++編程知識,提升C/C++編程能力,歡迎關注UP一起來成長!

另外,UP在主頁上傳了一些學習C/C++編程的視頻教程,有興趣或者正在學習的小伙伴一定要去看一看哦!會對你有幫助的~

@程序員,如何進入BAT這類一線公司?做到這幾點的就有機會!的評論 (共 條)

分享到微博請遵守國家法律
张北县| 甘泉县| 崇左市| 古浪县| 牙克石市| 宁化县| 兴国县| 花莲县| 元朗区| 宁蒗| 汉阴县| 磐石市| 丰台区| 赤城县| 改则县| 基隆市| 牟定县| 元朗区| 武义县| 清丰县| 灵台县| 阳江市| 赤城县| 丹阳市| 兴国县| 神农架林区| 保靖县| 淮滨县| 阳新县| 吉安县| 句容市| 杭锦旗| 紫金县| 莱州市| 文登市| 二连浩特市| 若尔盖县| 大石桥市| 琼结县| 电白县| 常山县|