當我面對著電腦決定寫下這篇總結的時候,北京恰好下起了雪。
在北京這座匆匆忙忙的城市,難得能有這樣一個周末,讓我不再被時間追趕,仔仔細細思考到北京的這段時間發生的事,心里的起起伏伏,來爭取寫下一些值得自己回看的文字。
這是我第一次見到北京的雪,看著窗外車道上從東向西行駛的車,路燈的色調、遠處商鋪的霓虹燈,都像極了讀書時在沈陽所見到的。
為什么還要提沈陽,可能是念舊,又或者是剛畢業半年沒有從一個學生的身份真正轉變過來。不去深究,既然想了干脆就好好回憶回憶。
三月份來北京投簡歷找工作,之后實習,一切總體上算是順利,五月份回學校答辯。當我再背著筆記本電腦走在去圖書館路上的時候,心態變了特別多。當我知道馬上就會離開這個生活四年的地方,以后也不會有任何充分的理由能讓我不管帶著怎樣的面目來到這里,所以無論心底有著多少不解,有著多少怨恨,有著多少不甘,也都能煙消云散,這個地方對于我又變得珍貴了起來。
五月是沈陽最舒適的時候,冬天的雪已融化,太陽也不會像夏天那般照射得那么熱烈,每天下午讀一會書之后都會去籃球場看看,這條小路上有一排我叫不出名字的樹,陽光照在上面拉出長長得樹影,我就在樹蔭里插著兜走著,聽著樹葉發出沙沙的聲音,那不是下課的時間,路上同學很少,我喜歡人少的時候,不嘈雜擁擠,加上心里溫暖平靜,所以真的覺得四年里,這個時候時間過得最慢,我也最滿足愜意。
晚上在操場夜跑的學弟學妹們很多,聚在一起聊著最近在學校發生的瑣事,聊門口哪家的外賣好吃,回想自己當時也是這樣,對這里感覺一切新鮮,也會抬頭看操場上的星空,定下一個個不切實際的目標然后低頭就忘記了。剛才說到快餐,學校門口那家辣白菜炒飯好吃極了,在北京價格三倍也吃不到,哈哈哈,感覺突然好餓。
食堂二樓有一家檔口我經常去吃,大姐每次都會多盛一些給我,半年之前還與我聊了聊考研和工作之間的選擇,現在再去的時候祝愿我在北京一切順利,真的熱心善良的人。
跟班里和宿舍朋友們打球、玩游戲、聚會的頻率明顯變多了,大家心里都知道下個月就各自奔向新的旅程,不知道什么時候還能再相聚。這段時光好像一場寧靜酣甜的夢,走在一條短短的街,微笑著與每一個朋友擺手道別,真的不希望任何人來叫醒我??墒菚r間跑得飛快,轉眼我還是真真正正離開學校,畢業了。
既然是年終總結嘛,這次可以多寫寫技術之外的事情,好讓愿意了解我的人多知道一點,哈哈。來到北京也算是人生地不熟,找一個住處成了當務之急,所以我選擇住在自如,關于租房這件事,下文再多說幾句,好讓有相同需求困惑的朋友能心里有個數。
中介黑不黑?確實黑啊,我其實可以負責任的說,中介確實沒有不黑的??此品孔獗阋说闹薪?,可能會找各種借口扣你的押金,多交物業費、或著下各種各樣的套路讓你栽進去。房租不便宜的中介,就是在賣自己的服務了。自如就算是花錢買省心的一個中介,總體上除了貴其實別的方面還可以。因為貴嘛所以我住的地方距離公司很遠,上班差不多需要一個小時。出門要去擠地鐵,下了地鐵之后還要頂著灼熱的太陽步行十多分鐘才到公司,夏天的時候同事們經??次疫M門的時候滿身大汗,問我是不是跑著過來的,哎,都是淚。這些非主觀因素無形之中都會折損這一天的精力,所以我在住了三個月之后,寧可違約交罰金也搬到了公司旁,節省出來的兩個小時我可以多看一些書,多睡一會覺,或者做我想做的事,與此相比,多花點錢還是非常非常劃算的。
從實習到最初的工作任務都比較簡單,幫忙調 UI,做一個非常小的獨立的功能等等。老大肯定是希望我剛畢業開始熟悉熟悉公司代碼。再說我的老大之前,先來說說我的“師傅”。 為什么會稱我的同事為師傅呢,因為從技術角度上,他對我的幫助很大。師傅是一個工作快五年的程序員,我請教他的每一個問題他都會,技術細節都能給我講得明明白白。就算是他不熟悉知識領域,也會告訴我怎樣去查詢,技術上從不將就,處理起來問題非???,那種面對問題解決的思路沒有時間肯定沒法積累出來。并且師傅很勤勉謙遜,做菜還很好吃,哈哈,是我仰望并且努力追趕的目標。
在工作的初期那個時候對知識的積累非常迅速,通過利用碎片化的時間來閱讀,在地鐵上看關注的公眾號文章,在公司工作時把不會的或者掌握不牢固的知識點統統記錄下來,晚上披星戴月地回家也不覺得辛苦,還能看一會技術書再睡覺,回想起那段時間渾身都充滿了動力,學新東西并且運用出來的感覺很美妙。感覺是一個小孩子走進了禮品屋,隨意去挑選禮物。充實專注和好奇是當時我生活的主旋律。
工作半年里技術提升最快的是畢業的兩個月之后,也就是差不多八月的時候。有個同事因為一些原因離職了,當時我參與開發的 app 準備重大改版,所以幾乎改版的所有需求都由老大和我共同完成。對于剛畢業的我來說,承擔的壓力很大,時間也很急迫,手上緊,心里更緊。當然期間遇到了挺多困難,工程中的代碼和學校里寫的 Demo 完全不一樣,要考慮的東西很多,那段時間回家基本上累得倒頭就睡,夢里都在想今天白天寫的代碼可讀性怎么樣,有沒有更優雅的實現方式,使用的控件或者三方庫原理是什么的,如果讓我自己設計會怎么做。遇到一個功能實現不出來,或者一個 bug 怎么也解決不掉,這些都挺打擊自信。當時的心態不是很好,有時候甚至會懷疑自己到底適合不適合當程序員。想在代碼中逃避出來,不過雖然心態上有起伏,最終還是完成了開發任務。有一天老大把我叫到一旁,說你剛畢業這么重的擔子放在你身上,其實有一點揠苗助長,去稍微逼迫一下你也是看看你的抗壓能力,你完成的很出色。老大與管理層商量還給我加了薪水。我記得那天晚上特別開心,一路哼著歌就回家了,哈哈,其實我們大多數程序員對薪水這個數字不是特別敏感,主要是老大說我身上的潛質比他面試面過的一年到兩年的程序員還好,認可了我的價值,這句話讓我真正的放下了包袱,不再去懷疑自己的能力,靜心地讀書學習敲代碼。
老大已經工作十年有余,之前始終在一線互聯網公司做開發工作。總是滿懷熱情的面對技術,面對工作,有用不完的精力,這是我最欽佩他的地方。像去年大火的 Rxjava Retrofit 和 MVP 等等,都是老大提示我,讓我了解并保持關注一下。公司每周三都會組織打籃球,這點上我和老大愛好相同,技術上或者生活上有疑問我也會選擇跟老大聊聊。最近有點貪睡遲到了好多次,他也會私底下提醒我要準時一點。。。總之,哈哈,老大很 nice 就對了!
每個人的想法心態和對事情的理解都會隨著年齡或者處境發生變化。在這里想說下這半年以來我對技術的感悟和對編程的理解。
先來說一下學習方法:
學一個新的知識點,要去查官方文檔,先粗讀后細讀最后動手實踐。英文不好沒關系,可以學嘛,或者使用一些翻譯軟件一樣可以理解。遇到問題永遠是優先 Google + 英文搜索,你會發現基本上 StackOverflow 都會解決你的疑問。 三方庫或者一個控件會使用了不是最終目的,了解他們的原理和設計方式更有必要。如此設計的原因是什么,還有沒有其他別的方式實現?相互比較各有什么優點,如果讓你去設計,去編寫代碼,你會怎么做。你看這么一想是不是能挖掘出很多的知識點~在學校自學編程的時候,就是單純覺得安安靜靜寫代碼踏實又愜意,看到寫的 Demo 跑在手機上很有成就感。不過在當時對編程沒什么比較深入理解,通過這半年的工作談談我對編程淺薄的認識。
首先編程目的是解決現實場景中的需求,或者未來人類的某些需求,將需求映射到代碼上。當然實現的過程中要從許多方面考慮具體的實施過程,比如設計模式讓代碼可讀性更好,可維護性更高;面對不同的需求在時間和空間中尋找一個平衡點,需求是對性能要求更高?還是要求時間更少?這就涉及到了數據結構和算法。對于 Android 來說,你需要關注事件的起始和流向,比如一個點擊事件會觸發網絡請求,網絡請求本身也有成功、失敗、超時的回調,在正確的地方做恰當的操作就可以了。對于 Android iOS 和前端工程師來說,我個人覺得,產品和設計都要懂一點,沒必要多么專業,但是這個需求是不是合理,設計的好看還是丑,要自己有個感覺,畢竟你們聚在一起目的就是把手里的產品做好。
有關編程的學習,每個人都會有自己的方法,最終能達到什么程度,取決于你的學習能力、學習方法,對此付出的精力,以及開發這份工作處于你整個職業生涯中的什么地位。我也在不斷地摸索中,覺得路線偏離了就馬上糾正,狀態不好的時候及時調整狀態??傊痪湓?,道阻且艱,學而多思,一步一步來。
畢業之后工作的這半年,始終堅持的一件事就是寫文章了。在我寫下這篇總結時,在180多天里,完成了44篇文章,81604字的篇幅,收獲了2842個喜歡,得到了1557位朋友的關注。因此經常會有朋友來私信我,讓我給一些建議、指導等等。面對很多力所不及的問題,讓我感到誠惶誠恐。因為目前可能還沒有足夠的閱歷經驗,給出一個相對合適的建議,并且每個人所處的境地也各不相同。不過這里我可以總結一下,堅持寫文章這件事給我帶來的影響,和我的一些感悟,希望更多的人能有這個還不錯的習慣。
對我來說,寫文章是一個總結梳理思路的過程。寫一篇技術文章容易嗎?其實并不容易。代碼是理性的、是冰冷的、是程序化的。但是文章本身是感性的、是主觀的、是溫熱的。通常我完成一篇技術博客可能需要半周的時間,期間需要知識儲備,把要寫的東西弄清楚才能動筆寫得清晰。寫文章的過程中還需要把握文章的結構,從易到難,層層遞進。再運用一些寫文章的技巧,最終將文章闡述的觀點和傳授的知識都表達清楚,易于接受。
可以看到我在畢業之初寫文章的頻率還是蠻高的,之后就慢慢降了下來。其緣由不是變得低產了,變得懶惰了。而是我掌握了正確的搜索知識、學習掌握知識的方法。如果網絡上已經有不錯的、高質量的文章了,我也就沒必要再寫一次。而當我覺得搜索到的文章都不滿意、或者有哪些技巧和知識寫出來可以做到推陳出新,我自然會動筆將它整理成文分享出來與大家交流。
從讀者的角度來說,最直接的當然就是掌握知識、解決技術上的問題。不過我更喜歡更希望能在文章的下面得到讀者的一些回復,觀點在交流中才有價值。比如我最樂意看到別人說我寫的哪里有問題,或者說告知我有更好的解決辦法,這就幫助了我糾錯或者提升自己,讀者也能更好的掌握文章本身。
生活上,堅持寫文章也讓我結識了許多志同道合的朋友,這真的非常可貴。我們在一起討論討論技術,評論評論一些新聞,聊聊各自的工作生活和情感,我們還成立了一個小小的組織 itsCoder,目的僅僅是督促成員間學習,保持對技術的熱情,并且如果能為技術分享做出一點貢獻,就再好不過了。技術本身是枯燥的,技術人也是要耐得住寂寞的。但是人類作為群居動物,還是應該要交幾個朋友的哈哈。認識你們很幸運,由衷地希望我們的故事不斷繼續。
這篇文章從年前一直寫到了年后。。??嘤诒煌涎影Y困擾,hhh,有時候想想,哎,拖就拖吧,人生難免得有個打盹的時候。太累太急太追趕反而得不償失。
新的一年,也給自己提一點要求,也立下一個 flag,未來的某一天我重新打開這篇文章的時候,盡量多完成一些,不要太羞愧。
早睡早起,不熬夜,規律作息。堅持寫作,一個月一篇就好。完整地完成一個開源項目。扎實編程基礎知識,讀完兩本技術書籍。陪心愛的姑娘外出旅游兩次,不要嫌麻煩總是宅在家。堅持鍛煉身體。那就先這樣吧,2017 祝你我都一切順利。
新聞熱點
疑難解答