七月過去就算正式畢業三年零一個月了,從畢業到如今,寫了三年代碼,走了很多彎路,今天就是寫個非正式的總結吧。java
我在上大學的初期其實對代碼沒什麼興趣,我也不知道本身未來要乾點什麼(可能這是大部分大學生的寫照),這種狀態其實很是很差,咱們在高中時盼望自由,在獲得自由時才發現無所事事纔是最大的地獄。因此我儘量讓本身稍稍有些不同凡響,我決定鍛鍊,減掉那一身肥肉,效果很好,一年瘦了40斤,以致於回家後我媽覺得我吸毒了;我去泡妞,後來這個妞就成了我老婆;去考各類證,什麼計算機二三四級,英語四、6級,我想過考研,想過跨專業考研,(由於那陣對中醫還挺感興趣);想過去搞金融,還去考了一個會計證,這個過程,我度過了大學三年,可是我依然迷茫,我不知道我想幹什麼,未來要去幹什麼。直到大三下學期仍是大四上學期,記不清了,開了一門android課,而後我找到了本身真正的興趣。 我在大學畢業的時候有段反思,若是知道當初要幹這一行,我就應該將更多的經歷放在設計模式,算法和數據結構上,這樣也不至於在剛進行工做的時候那麼狼狽。不少時候人是迷茫的,你不知道本身真正想要的是什麼,你的興趣是什麼,不少人窮其一輩子都在作本身不感興趣的事,走着別人設計的道路,這是一種對精神的損耗和折磨。越早試錯,越早找到本身的興趣點,對一我的的發展越有利,因此如今有些理解爲何家長會爲孩子報那麼多興趣班了。android
今年2月份我離開了第一家公司,我對第一家公司一直心懷感激,不只公司同事都人很好,並且我獲得了不少幫助,尤爲是在如何寫代碼上。剛入職的時候我發現我就是個菜雞,由於大學的時候雖然對android感興趣,可是也沒怎麼正經寫過項目,對java也不是那麼瞭解,什麼泛型啊,什麼正則啊,全不瞭解,能夠說剛開始工做的時候是橫攏地拉車,一步一個坎。好在當時組長和經理耐心,沒有開了我。可是面子是別人給的,臉是本身丟的,領導已經給了面子,那就不能不要臉,知道不足就要努力,而後就是對基礎的惡補,一本java編程思想,翻來覆去四、5遍,android開發藝術探索,翻來覆去四、5遍,學習加項目實踐,慢慢的也算知道怎麼寫了。ios
這期間有兩件事對我影響很大,一是當時去解析一個很是複雜的json數據,經理寫了ios端代碼,而後帶着我仿寫android端代碼,我記得當時問了一個比較二逼的問題,爲何要用遞歸,怎麼想到用遞歸的,經理笑笑沒說什麼,這件事我看到了我在算法和具象化思惟上的不足。二是初次作一個購買流程,由於涉及到任務綁定和權限認證等一些列問題,比較繁瑣,而後我這裏來來回回改,害的經理陪我加班,當時經理說,邏輯想清楚你再寫,就會很簡單。其實寫代碼,大部分人沒想好怎麼寫就開始動手了,致使寫的過程當中就會丟三落四,磕磕碰碰,若是整個編碼過程佔十成,那麼思考能夠佔到四成,想好再寫,這是我如今的行爲準則。程序員
還有一個重要的問題就是什麼的代碼纔是好代碼,我記得雷軍說他在大學時寫的代碼第二年就被選入教程了,老師說他寫的代碼像詩同樣。一開始以爲他在吹牛逼,隨着工做時間的加長,源碼閱讀的愈來愈多,發現之前的本身就是井底之蛙,好的代碼不只命名規範,方法簡明,並且設計合理,我也意識到設計模式是多麼的重要。面試
關於面試,我以爲美團的面試題是最好的,從設計模式,算法,到android原理,項目經驗,一環套一環,很能體現一個面試者的基本素養,傳說中的手寫算法確實是地獄,一個面試官問兩道,當時第三面的時候就是由於有道算法題沒答上被pass了。。。算法
作個小總結吧:編程
找到本身的興趣點,幹本身喜歡的事,否則人生很長,會很累。json
設計模式和算法,天天都要學,天天都要練,老一代程序員說的程序=設計模式+算法+數據結構,誠不欺我。設計模式
沒事多讀讀源碼,拆拆輪子,你會有所裨益。數據結構
計算法的方向太多了,找準一個主要方向,當深度足夠深的時候,再去發展其餘方向,否則什麼都想學,最後反而什麼都得不到,並且當某一方面深度足夠時,你會發如今其餘方面是相通的。
寫代碼,想比動手更重要,畫個UML圖,雖然有些小麻煩,可是須知磨刀不誤砍柴工。
這個世界牛逼人不少,不要急着去否定別人的想法,兩種對比,找出最好的,程序員要兼容幷包兼收幷蓄,對新技術也要敢於嘗試。