從三流小公司到一線大廠,聊聊程式設計師的成長之道
我想,沒有一個程式設計師能夠一步登天,一下子達到很高的高度,有些路是我們必須要走的,有些階段是我們必須要經歷的。有入門,才有進階,才有更上一層樓。
別看我現在在大廠,但是我也待過小到不能小的小公司,也許你會感興趣,那麼不妨聽我說說,我在學習程式設計路上待過的公司吧。
不到20人的小公司
我在大學的時候學的不是計算機,上的課程基本上和計算機也沒太大關係,但是我從小還是比較喜歡搗鼓電腦的,不瞞你說,以打遊戲為主,修電腦為輔。
興趣使然,於是大學期間想要自學程式設計,但是無從入手,於是讓家裡人介紹了去了當地一個小公司學習php,對,就是那個世界上最好的語言。
公司一共就10多個人,大老闆就在旁邊辦公。當時我對計算機語言的認知是:Java好像很火,php沒聽說過,上班(學習)之前只在w3cschool上看了一些簡單的教程,然後就自信滿滿地去公司實習了。
結果一看公司裡的程式碼就懵圈了,這啥玩意啊,我學的怎麼都用不上呢。再看看其他人,都很熟練地寫著php程式碼,所謂的“師傅”壓根也沒空搭理我,索性我就開始自學,學了幾天html和css,寫了幾個小頁面就開心得不得了,給我師傅一看,他特別鄙夷地看了看,然後再也沒管過我。
一個月之後,我就開溜了,當時主要也就是想體驗一把程式設計師的生活,順便學習一下世界上最好的語言。
這麼一體驗可把我打擊壞了,原來寫程式碼這麼難啊,這麼小的公司程式碼我都看不懂,哪有可能去大公司啊。
所謂初生牛犢不怕虎,大概也就是這個意思吧,無知可怕,但一直無知就很可怕了,後來有一個契機,讓我再次接觸到了程式設計。
500人左右的公司
大三的時候交換了一段時間,學習了幾門程式語言,像Java、前端、php、Android等技術都接觸了一些,算是對程式設計有了比較具體的理解,特別是在Android課程上,寫app讓我特別有成就感,那時候我就想,我以後就搞Android吧!
當時想法很單純,感覺搞app有意思呀,於是想找一份Android的實習,我們家那邊的IT公司本來就不多,稍微大點的也就一個,幾番爭取之後,在這家公司也獲得了一個實習機會,只不過當時他們不需要Android工程師,於是安排我做Java Web,於是我和Java Web就這樣結下了樑子,以至於我後來就在這條路上走到黑了。
這是我大學畢業那個暑假參加的實習。因為當時已經考上了研究生,所以想積累一點實習經驗。
這個公司比上一家靠譜一些,當時用了一些框架,還需要我自己寫前端程式碼,那時候我基本也是0基礎的狀態,一邊學Java語法,一邊學html、css、js,然後還要完成部門安排的新人作業。那時候感覺自己真的菜啊,隔壁幾個學歷不高的小哥哥都可以熟練上手,各種開發,我還一臉懵逼,無從下手呢。
那時候我學會了向技術大牛提問,用有道雲筆記做筆記,以及使用eclipse,也算是誤打誤撞地入了門,當時覺得Java Web好難啊,我要去做Android開發,不過最後還是沒有等到機會,於是呆了兩個月就走了。
然後,我就開始念研究生了。
網易和百度
在讀研之前,我是沒有想過我能進大廠工作的,我記得大四的那個招聘季,投了我們省內的一些公司,罕有面試機會,有面試機會的崗位也都沒有通過,當時仗著自己有Java實習經驗就去投Java崗位,結果各種吃閉門羹,其實都不是什麼有牌面的公司,但是卻都拒絕了我,可見當時我的水平有多次。
於是從研一開始,我終於確定了Android這個方向,並且瘋狂補基礎,需要什麼補什麼,大廠怎麼要求我就怎麼學 ,可能是我的執著也感動了我自己,後來就拿到了網易的實習機會,再後來也拿到了百度的實習機會。
在網易實習讓我過了一把大廠癮,當時去實習也就是打打雜,做點邊邊角角的任務,但是已經很震撼了,大型專案用到的技術、程式碼量、架構設計、標準業務流程,都讓我很興奮,不過當時光顧著興奮了,沒用到多少資源西就走了。
百度是第二次大廠之旅,相對來說沒有那麼興奮,但是百度的技術還是比網易要靠譜一些,能學到的東西也更多,部門的技術棧雖然和我不是很搭,但是作為熱愛學習的我來說,還是願意花時間去學習的,在百度呆了半年,說實話技術沒提升多少,其他的東西倒是學習了很多,比如百度自研的一些技術,以及部門在用的OpenStack和docker。
有了兩段大廠經歷加持之後,秋招也變得順風順水起來。最後能拿到不少大廠offer,我想是時間幫了我最大的忙。
在這裡也推薦一下我學習方向的一個Android技術大綱技術大綱腦圖詳細地址
有需要學習的朋友可以加一下這邊一個Android高階架構的學習交流群騰訊@Android高階架構