一個月薪過25k的iOS開發師,成功的背後究竟經歷了什麼?

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

作者丨原來是澤鏡啊

https://blog.csdn.net/iOSzhuoyuan/article/details/83089190

前言

一,工作經歷

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少一些。說白了,都是業務驅動的開發。業務做到需要用到這塊的知識,去Google一下學習一下,然後拿過來用。做到功能之後發現沒問題就結了。

4,最終造就了現在的結局:項目經驗豐富,解決問題的能力強,但是技術實力卻不怎麼樣。

四,重新出發

1,總結一下,自己這邊的問題就是平時只顧著業務功能的開發,在小團隊里面太過封閉。導致疏忽了技術的學習,雖然做了幾個項目,積累了一些項目經驗。但是對於語言知識的學習,對於底層做到的學習太少。

2,後面準備在開發的過程中加強這些方面的學習,比如並發編程、逆向工程、設計模式、Runtime、Runloop等,然後再把常用的一些開源框架深入研究一下。

五,學習

1、在公司項目開發中培養發現問題的意識,平時開發中多思考,多去發現問題解決問題

2、挑選一個常用的三方開源庫作為切入點,深入研究它的編碼和架構,碰到不熟悉的知識點,再去補齊相關的知識,最後學習並輸出相關文章

3、多閱讀一些大牛的博客,開拓視野、開放自己的思路,給自己樹立學習的榜樣

4、把學到的東西或者一些思考,通過文字記錄下來。加深理解和記憶。

5、工作中碰到的問題,或者項目中的一些獨立解決問題的模塊功能模塊,可以考慮再次封裝,做開源貢獻

堅持自我學習,加油!