誰能想到,作業三年的我,后來能入職某大型互聯網公司,
我是怎么入職大廠的?
剛畢業那年,我以外包身份進入某公司,那個時候幾乎每一天都很焦慮,大家技術能力沒差太多,為什么我是外包身份?

后來辭職,**去了一家不到20人的創業公司,擔任Android技術人員,**當時還挺滿足現狀的,畢竟壓力不大,薪資也不錯,
有一次和前同事聚會,和幾個在BAT的同學聊到技術,發現自己在創業公司這幾年,完全是吃老本的狀態,一直在純輸出,創業公司的業務發展很慢,不管是管理還是技術都很受限制,
**然后我就針對自己的一些弱項,刻意輸入一些東西,達到提升技能效果,**慶幸年紀還不是很大,學習能力比較強,又通過一位前同事的引薦,就進入了現在的公司,并且一路成長,薪資基本上可以碾壓同齡人了,這期間我一直都保持著對技術誠懇學習的態度,
回顧自己做技術的3年,總結一句話就是:
打破個人局限性,保持刻意學習,輸入與輸出并行,才有進入大廠的可能,
關于如何學習?
如今技術的發展非常快,程式員怎么跟上?很多人會問我是怎么“一路逆襲”的,后來發現剛畢業的新人都有普遍的問題:作業那么忙,根本沒時間學習,

確實如此,互聯網行業的作業節奏快,強度高,下班又晚,但如果你就這么下去,確實是又忙又累之后,還在原地焦慮,有針對性的瞄準自己要提升的技術專案,系統性地學習,才是關鍵,
這不趕上金九銀十,最近就跟我的朋友技術大牛交流了一下,于是就有了這篇文章,
作業三年多了,做技術不能只顧埋頭搬磚,也要定期回顧,思考未來,不要讓自己成為那種一年經驗用了十年的開發者,這點要時刻提醒自己,
作業三年多,很多有能力的小伙伴都離職了,去百度搞云計算的,去阿里搞AI的,去大疆的,去美團的…對自己有觸動嗎?那是肯定,沒有才是假的,但是自己卻在舒適區里天天按部就班的過著,績效薪水都還不錯,但是技術能力呢?本來就不高,還遇到提高瓶頸了,囧~ 反觀周圍的老同事,好多搞管理了,帶版本管專案,天天拉通對齊端到端… 既然想走技術路線,就該好好想下作業后如何有效的學習了,
作業中積累的局限
從自己的作業談起,三年多Android開發,第一年識訓最多,作業需要的編程方面技能補齊后,就可以很好的應對業務需求的開發了,「作業后,你只需要比大家多努力10%,回報則勝過50%」,親身體會真是一點不假,

作業后,稍微深入點知識的學習都只能靠自己,觀察周圍同事,對技術很有熱情的并不是很多,除了一些專家大牛,很多老員工單就技術能力而言跟入職兩三年新員工的技術能力沒什么差距,我思考了下原因,大概如下:
- 作業所用到的技術知識有限,很多人也沒有去深入了解背后的原理;
- 業務代碼對演算法的鍛煉不太夠,時間長了演算法能力會減弱;
- 沒有那么多特性會給你架構設計的機會,并且架構都是專家定好的;
- 不去主動拓寬知識面,去學習新東西,技術堆疊長期不更新;
- 基礎知識掌握的不夠透徹與深入,畢竟經典是需要反復研讀理解的;
我作業這三年覺得自己識訓的最有用的經驗就是:問題定位能力,提前識別坑,快速填好坑,當然,也見識了一些優秀架構的設計,但也僅限于見識與使用,
作業外有效的學習
先說說我自己平時作業之外的學習,基本就是下面的三項:
- 看看書和網上的文章:作業相關、興趣愛好、技術熱點;
- 動手實踐并總結博客:類似課后題和課程設計,實踐總結;
- 刷刷LeetCode演算法題:提升演算法能力和寫代碼的手感;
自己的學習個人認為還是有效的,學習成長自己是能體會的到的,并且作業也做的不錯,只要稍微比同事多努力一點,就能有很多回報,作業后真的是這樣,但是呢,自己的水平自己清楚,并且自己的努力程度遠遠不夠,看一個大牛的心得《如何成為一位技術專家》:
如何成為一個技術專家?答案其實很簡單,努力學習,
從學生時代一路萬馬奔騰而來,什么時候努力的效果最差,高三的時候,因為大家都是如此努力,作業后,你只需要比大家多努力10%,回報則勝過50%,不止在技術上,其他領域也是如此,
《最牛B的編碼套路》一文提到了技術上的訓練方法:預期留出時間,集中鍛煉,留出技術梯度,時刻關注自己有完成目標,到達瓶頸,
程式員最重要的素質是“不斷努力學習”,要不斷地挑戰自身能力之外的東西,運動愛好者們經年的跑步鍛煉,可是仍然跑不過劉翔,業余象棋看上幾千盤,仍可能被一個初出茅廬的棋院學生殺個大敗,
不斷努力學習,不斷訓練,在于發現短板,并有針對性的提高,
套路一文提到了很多訓練方法,其實我很贊同最后的兩個方法:
1. 寫博客;2. 參與開源專案,
關于寫博客,牛人們是非重點不寫,自己則沒必要非得高大上,還要解釋一下,個人感覺剛開始寫博客則是要養成定時習慣,有什么寫什么,蝦米再小也是肉,這個月不寫,下個月要補上,當然中間的區別是,現在我是寫給自己看的,牛人們是傳播知識,
參照大牛的文章反觀自己:開源專案沒參與過,這點自己有待提高,
對于寫博客我比較認同大牛的看法,寫博客也就是記錄總結下自己學習筆記,方便自己回顧查看,沒必要想著多高大上,自己也就一水平普通的程式員記錄點東西而已,

之前在知乎看過一個問題,是關于微軟一員工和Facebook一員工PK的,覺得很有意思,我很欣賞里面一個回答,摘錄部分:
老鄉,江漢臣,他在一個回答里說自己得清華特獎的經歷是”下課做很多題目,然后提前看一些考研的題目,然后就超過了同班的同學,可以去幫助他們”,體會一下,特獎誒,清華誒,課下不應該去讀普林斯頓數學講義實作突飛猛進么,考研試題什么回事,太low了吧,清華peer pressure這么弱的么,實際上這一點都不low,這叫”祛魅”,這叫”平實”,你看ZB就從來不說自己是怎么學習的,他說自己是天才嘛,可能用的是記憶面包,所以我們快來膜拜他,
作者要表達的是什么?大牛靠的也是科學的方法和踏實的努力,
吹捧神化之類的真的也沒必,不盲目崇拜,不妄自菲薄,踏踏實實學習,博客寫的東西簡單不low,LeetCode題目做不出來也沒啥,靜下心來學習就是了,
天才是極少數,大部分牛人還是厚積薄發一步步積累出來的,靠的還是樸實科學的方法,再加上多一些勤奮,

在關于LeetCode刷題難不難時,很多北美FLAG員工也現身說法了,初期都會難,練的多了就好了,自己知道的讀書時的大神,作業后的大牛同事,靠的都是平時踏實的努力,
關于LeetCode刷題

單獨把刷題拿出來說,是因為刷題真的很重要,而且很有用,
作為一名developer,最本質最核心的作業就是:用代碼把功能特性給實作,能夠使用合適的演算法,快速寫出盡量bug-free的代碼!
作業三年來,我LeetCode其實沒刷多少,100道都還差的遠,真是慚愧,不過公司內部的OJ刷了100多道,因為是轉正要求,相比LeetCode水了點,囧~~ ,
雖然自己OJ刷的不多,但是仍然可以明顯感覺到刷題讓寫代碼的手感提高不少,也可能是因為自己當時太菜,再次囧~~,
定期刷題,是做的針對性訓練,這個是一般專案給不了的,
關于學習的時間安排

技術的學習,不像是背單詞,可以零散著來,需要有完整的大塊時間集中注意力去學,尤其是啃硬骨頭時,很多難點都是靠長時間專注思考突破的,
對于技術的學習,要做到長時間的專注,如果不能做到長時間的專注,那么學習的效果就要大打折扣了,知乎上一個問題:如何做到長時間(4 個小時以上)精神專注?,里面有個回答我非常贊同,
PS: 贊同來自己的經歷和親身的體會,而不是因為這個答案本身的高票,摘錄部分:
我聽聞番茄作業法已久,但是我自己從來沒用過,我很好奇的是,無數的人贊同他的時候自己是否用過,
對這個問題我有很多疑問,要是打斷的時候正好是我精力最集中的時候,怎么辦?不停地這樣中斷,每一次中斷我就要保存一次現在看到哪兒了,然后下一次開始的時候我再去進入狀態,接上思維,這個開銷可以忽略不計嗎?
還有不停的設定時間提醒自己,不嫌麻煩嗎?
PS: 這個我用過,發現不適合技術學習和編程練習,每次時間太短!讓你的注意力聚焦在你所做的事情上,你的處理速度趨近于你的接收速度,你的思維跟上你所做的事情的發展,然后保持,就OK了,
你就很難兩小時精神專注于教科書上,首先,你就不一定感興趣或者不想看教科書的內容,注意力就集中不了,其次就算你集中注意力開始看,你的處理速度是跟不上你的接受速度的,因為教科書的知識密度大,一頁書包含了可能很多的資訊,你大腦處理不過來,
PS: 學有點難度的新東西,我一般適當放慢速度,筆記演算,反復看!過快是沒有效果的,還容易注意力降低走神懈怠,
舉個閱讀的例子,閱讀長篇英文的時候,大家是不是會有經常看著看著就不知道看到哪兒去了的經歷?這時你的大腦就不是在積極主動作業,而是被動作業的,事實是,如果你一邊讀一邊想這段文字的他在表達什么,和上一段是什么聯系,和文章主題是什么聯系,說完這一段,下一段你預期他應該講什么,到了下一段是否符合你的預期,如果符合的話你可以加快處理速度,如果不符合你就去修正你的預期,
這樣去閱讀的話,那么你會發現你就不容易走神了,保持運動、充足睡眠,
保持運動是為了睡眠質量高,身體健康,醒著的時候精神狀態好,
精神狀態好,你的機體都能發揮正常的功能,大腦能夠正常處理它接受到的資訊,眼睛能夠正常地閱讀,
要對自己誠實

認清自己的不足,坦誠面對不逃避,自己過得好不好,作業開不開心,能力有沒有提高,技術怎么樣,自己最清楚,千萬不要自欺欺人,混混沌沌的過日子,一個前Google 程式員的文章寫得很好:從對自己誠實開始,摘錄部分:
現在回看以前自己的博客,悲哀的發現自己已遠沒有當年對技術的熱情,或是對人生目標的清晰——上學時自己的想法很單純——寫最好的程式,然后以此作為基石找到一份好作業,
現在看這個目標是實作了:找到了一個對應屆生而言還不錯的作業,自己還寫了一篇現在看起來十分可笑的心路歷程,當時那篇文章被各種轉發,自己的虛榮心也得到了極大滿足,
可笑的是,我在 Google 里作業不順,并沒有自己想辦法改變現狀,而是在作業以外的地方尋找慰藉,以填補自己的虛榮心,在這段時間,我創建了自己的獨立博客,并花費大量業余時間撰寫了諸如 Sublime 教程和程式員必讀書單之類的質量長文,這些文章的反響很好,我因為這些文章也成為了讀者口中的大牛,
虛榮心再次得到滿足,然而與網路的“成名”相比,自己在現實作業中毫無進展,自己在 Google 3 年始終停留在入門級別(一般來說,正常表現一年半到兩年就可以升一級),盡管有換組和專案被砍這些因素,但無可否認,自己前三年的作業(也許是最寶貴的三年),徹底的 doomed,
在 Google 時有不少人通過我的博客找到我,想和我約飯聊天(他們可能認為我真的是大牛吧),都被我自己的偷偷的躲掉了——我并不想讓他們看到現實中的自己,
2017 這一年中,我在 FB 寫了不少東西,也結識了不少新的朋友,讀了一些書,也獲得了一些新的技能(開車,攝影,舉重),
最大的識訓,是終于可以誠實的面對自己,不會因為自己在線上和線下的不一致而產生自我認知矛盾,
與其在網路上打扮成自己希望別人所看到的自己,不如對自己誠實,在現實中成為自己希望的自己,
希望這篇文章可以終結我自己的浮夸,終結我 5 年前寫的那篇文章的“詛咒”,Stay hungry, stay foolish, and be honest to myself,這是 18 年的第一篇文章,但不會是最后一篇,希望我可以通過寫作,鍛煉自己的思考能力,總結自己的識訓,清晰自己的目標,讓自己對自己更誠實,
最后
真情實感的故事,總能引起共鳴,
想成為自己期望成為的自己,首先要坦誠面對真實的自己,改變不是一蹴而就,而是從每天的一點一滴做起,謹以此文督促自己的改變!
越努力、越幸運,如果你不是官二代、富二代、紅二代,那么請記住:
勤奮才是改變你命運的唯一捷徑,
我相信喬布斯說的:
只有那些瘋狂到認為自己可以改變世界的人才能真正地改變世界,面對壓力,我可以挑燈夜戰、不眠不休;面對困難,我愿意迎難而上、永不退縮,
為此,我分享一份大佬收錄整理的Android學習PDF+架構視頻+原始碼筆記,高級架構技術進階腦圖、Android開發面試專題資料,高級進階架構資料
這些都是我現在閑暇還會反復翻閱的精品資料,里面對近幾年的大廠面試高頻知識點都有詳細的講解,相信可以有效的幫助大家掌握知識、理解原理,
當然你也可以拿去查漏補缺,提升自身的競爭力,
相信它會給大家帶來很多識訓,如果你有需要的話,可以點擊獲取!
喜歡本文的話,不妨順手給我點個贊、評論區留言或者轉發支持一下唄~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/66973.html
標籤:其他
上一篇:Sagit.Framework For IOS 開發框架入門教程14:STLocation 獲取地圖GPS城市、地址、經度、緯度、坐標距離判斷,跳轉設定與第三方地圖
下一篇:生活雜談-最美的青春
