前言:前端
一,工做經歷面試
1,畢業四年,第一家公司就是作iOS開發,一直到如今,作了四年多iOS開發。先後換了四家公司,第一家是外包公司,那個時候我剛入門,在公司的項目中邊學習邊參與項目開發。後面的幾家公司,都是一個新的項目,我過來從零開發,一我的獨立負責項目框架搭建、業務功能開發、測試發佈、項目的後期維護等流程。工做很忙,但也都能應付過來。編程
2,作時間久了,就慢慢發現,作業務功能的開發愈來愈沒意思了,又都是一我的就能搞定的小項目,並無太多技術含量。主要工做就是尋找合適的開源框架和技術方案,在業務中實踐以完成功能的開發。重複這個過程完成一個個功能的開發。設計模式
3,就拿我如今作的項目來講,是公司內部的移動辦公項目。這樣的項目,作的好壞公司其實並不會太care,只要沒有明顯的bug就行。基本就是能用就行,對性能、安全性、代碼質量要求都不高,運營需求基本沒有。另外,咱們團隊專業的測試、UI都沒有,UI切圖前端兼職、交互體驗要本身想、測試基本都靠本身點。即使你想去作一些優化,也沒有專門的時間分配給你。你本身花時間作了也沒人在乎,若是優化的時候改出問題了,又要本身背鍋。有些時候就會讓人很沮喪,沒有成就感。安全
4,好比項目中純原生開發的IM模塊,我本身一我的參考微信、各類逆向工程,技術選型都換了好幾回、加班絞盡腦汁優化體驗,微信IM模塊能看到的東西大部分都實現了。當時由於有安卓端在用也不急,這一個模塊我就作了三四個月,還列出了後期種種優化的點。微信
5,然而最後卻由於沒有跟PC端通訊打通,被告知這個模塊根本沒人用。後來就泄氣了,IM模塊就沒有再維護過了,開發時列的那些優化的點也都沒有去實現。腦子裏面就會想作的再好有什麼意義,有沒有人在乎,根本就沒人用,業績也不會由於這個獲得提高。哎,傷心。網絡
6,可是上心歸上心,工做還要繼續,仍是要給後續的工做尋找意義。後來又原生獨立開發了郵件模塊,同樣是打起12分精神,當是作本身的做品,絞盡腦汁把體驗作到最好。這個用的人多一些,反響也不錯,也讓我找回了一些成就感,也算是一個小小的安慰。架構
二,面試被拒併發
1,慢慢地就想,在小公司作了這麼多年了,也都是一我的在作開發,都沒有經歷過大的iOS開發團隊。是時候去大的互聯網公司歷練一下了吧。因而就開始整理簡歷,在拉鉤和boss上修改了求職狀態。而後還真有大公司的hr或者技術邀請我投簡歷,投簡歷面了幾家大公司。可是都是以底層知識瞭解太少、開發技能只是知足平常的業務需求的緣由被拒。框架
而後就愈來愈沮喪,也促使本身開始自我反思。
三,自我反思
1,作iOS開發四年多,都在不停地作項目,還都是一我的獨立開發的項目,本身一直都在忙於應付各類業務需求的討論、開發、測試、發佈、維護升級,再有新的需求的循環開發。都是重複的勞動。
2,前幾年跳槽都是奔着能繼續作項目練手學習更多知識,而後工資上也能多漲一點。可是幾年的歷練下來,回頭才發現,確實是積累了不少作項目的經驗,可是在大公司嚴謹的技術面試下暴露了本身不少的不足。沒有認真研究過底層知識,對OC的原理了解太少。
3,沒有深刻研究過第三方源碼,對於技術學習的自我驅動力太差等等。總之開發技能大可能是能知足當前的業務需求開發,再好一點可能就是能把業務功能的體驗作的好一點,bug少一些。說白了,都是業務驅動的開發。業務實現須要用到這塊的知識,去谷歌一下學習一下,而後拿過來用。實現功能以後發現沒問題就結了。
4,最終造就瞭如今的結局:項目經驗豐富,解決問題的能力強,可是技術實力卻不怎麼樣。
四,從新出發
1,總結一下,本身這邊的問題就是平時只顧着業務功能的開發,在小團隊裏面太過封閉。致使疏忽了技術的學習,雖然作了幾個項目,積累了一些項目經驗。可是對於語言知識的學習,對於底層實現的學習太少。
2,後面準備在開發的過程當中增強這些方面的學習,好比並發編程、逆向工程、設計模式、Runtime、Runloop等,而後再把經常使用的一些開源框架深刻研究一下。
五,學習
一、在公司項目開發中培養髮現問題的意識,平時開發中多思考,多去發現問題解決問題
二、挑選一個經常使用的三方開源庫做爲切入點,深刻研究它的編碼和架構,碰到不熟悉的知識點,再去補齊相關的知識,最後學習並輸出相關文章
三、多閱讀一些大牛的博客,開拓視野、開放本身的思路,給本身樹立學習的榜樣
四、把學到的東西或者一些思考,經過文字記錄下來。加深理解和記憶。
五、工做中碰到的問題,或者項目中的一些獨立解決問題的模塊功能模塊,能夠考慮再次封裝,作開源貢獻
堅持自我學習,加油!
做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個個人iOS交流羣:638302184,無論你是小白仍是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!
文章來源於網絡,若有侵權,請聯繫小編刪除。