如何從一個菜鳥,變成自己理想中的程序員

程序員的思考

前言

從年初的寒冬,到現(xiàn)在的立秋,耗時近6個多月,我終于找到了一份心儀的工作,或者說,我終于找到了工作。工作年薪翻了一倍還要多不少(個人起點太低了~)。
也有將近一個多月沒有寫博客了,這里就把自己這段時間的感悟以及如何去學習的,與大家分享一下,可能摻雜了很多個人感想,所以廢話可能會有些多,望大家見諒?。?!

下面分幾個階段來描述一下筆者的心理歷程經(jīng)歷

第一階段 自我認識、危機感來襲

筆者16年畢業(yè),畢業(yè)后便入坑,第一家公司iOS開發(fā)也就我一人,完全靠自學(個人感覺啥都沒學到,整天上班就是網(wǎng)上找資料狀態(tài)),終于成功的在16年11月份倒閉了,然后我就失業(yè)了。

歷時幾個月筆者都沒有找到工作,然后自己就買了本《Object-C高級編程》來學習,當時看這本書,其實是相當于天書一樣,看不懂,但還是強迫自己看了。

終于在17年的2月份找到了一家公司,也是一家小公司。事后才知道自己被面上的原因是因為面試的時候,還在看上面說的那本書,然后面試官感覺筆者學習的態(tài)度可以,所以就打算讓我嘗試一下,有些尷尬。 不過也沒有讓公司失望,安全的度過了實習期,并且一直就職到現(xiàn)在,公司也快速的發(fā)展了起來,很為公司感覺到開心。

在18年年中,筆者開始接觸了Flutter,那個時候的Flutter并沒有現(xiàn)在這樣火,自學了一段時間,感覺自己的理解還是僅僅存在簡單的使用層面,并沒有大佬們說的那種語言都是相通的感覺。仿佛意識到了,我連自己賴以生存的語言都沒有學會,就想著擴展自己的知識層面,于是自嘲了自己一段時間。

上面事件之后,也是筆者學習的開始吧,后來,我停下了任何娛樂,比如小說、游戲和鍛煉,開始自我認識,實際上指的是iOS開發(fā)自己所擁有的技能的梳理,大致是這樣的:

  • 簡單UI界面沒問題
  • 對于什么設(shè)計模式,完全不懂,甚至單例我都沒有搞清楚怎么用的
  • 底層,我靠,底層怎么實現(xiàn)的我怎么知道?
  • 數(shù)據(jù)結(jié)構(gòu)、算法?我做移動端的要知道這些東西干嘛?

好吧,筆者不想描述的更清晰了,相信就單純的上面幾條,相信大家應(yīng)該都知道,菜到什么程度。

此時,甚至一段時間,筆者都非常的迷茫,感覺到了深深的危機,我該怎么辦,我能做什么?那段時間,一直在問自己這些問題。

第二階段 學習

經(jīng)過一段時間調(diào)整后,放棄了Flutter,拿起了大學的數(shù)據(jù)結(jié)構(gòu)的課本,開始認識啥是鏈表、哈希表等一些簡單的數(shù)據(jù)結(jié)構(gòu),此時的學習也就是簡單的知道這玩意到底是啥,因為iOS的封裝,日常開發(fā)根本用不到這些東西,但是大家都說這個基礎(chǔ),所以筆者就開始學這些。

與此同時,筆者也購買了《Effective Objective-C 2.0》學習,這些書籍也是大佬們在網(wǎng)上極力推薦的,所以我就買。

當認識了簡單的數(shù)據(jù)結(jié)構(gòu)以及讀完上面那本書之后,就有點自我感覺良好的感覺,然后就在我老婆面前show一下我的成果(我老婆也是程序員,后臺,比我優(yōu)秀),然后她就問了我一些關(guān)于簡單數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)方法,以及一些簡單的底層問題。 啊~,被虐的體無完膚,甚至感覺到了羞愧。因為不懂,無法組織語言描述出來,她還問我,能否用OC去實現(xiàn)一個簡單的鏈表和hash表,啪啪啪,臉很疼。

男人可以認慫,但是在自己女人面前認慫,是絕對不可能的。在這種羞愧感之下,我認真的去了解鏈表、hash表以及簡單的二叉樹。同時用OC語言去實現(xiàn)它,其實關(guān)于hash表的實現(xiàn),筆者也以博客的形式分享給大家了筆記-數(shù)據(jù)結(jié)構(gòu)之 Hash(OC的粗略實現(xiàn))。

了解相關(guān)的數(shù)據(jù)結(jié)構(gòu)之后,我就帶著我的理解,去看我上面所提到的兩本書,關(guān)于數(shù)據(jù)結(jié)構(gòu),在iOS中的利用,也已博客的形式分享給大家了筆記-集合NSSet、字典NSDictionary的底層實現(xiàn)原理。 當然這些都是淺顯的了解,不過正是因為這些簡單的了解,激發(fā)了我對底層方面研究的興趣。

這個階段的學習,持續(xù)了近半年的時間,工作中要求做視頻相關(guān)的播放,然后我一人“獨挽狂瀾”的接下了這個模塊的任務(wù)(實際上也就是利用第三方庫ZFPlayer去做視頻的播放),然后自己利用空余時間去研究數(shù)據(jù)結(jié)構(gòu),感覺學到了很多。于是又出現(xiàn)了自我膨脹的感覺,所以就牛逼哄哄的出去找工作,剛好處于18年年底,行情還是可以的。

第三階段 谷底,徹底的谷底

18年年底的時候,出去面了一家公司,屬于小公司,需要做視頻相關(guān)的App。先給我來了一個簡單的電話面試,問了工作中做了些什么,以及遇到了什么樣的困難,然后怎么解決掉的,正?;卮鹬螅娫捗嬖囘^了。

然后去他們公司面試,去了之后發(fā)現(xiàn)是一個項目負責人面我,而且這個是新項目,之前的那個電話面試我的人是兼職的,現(xiàn)在沒時間兼職了,所以需要找一個iOS開發(fā),要求就是有視頻相關(guān)的經(jīng)驗,然后我就把我的經(jīng)驗分享了一下,當然存在了一些吹逼。然后就拿到了一個17k的offer。

恩,確實,拿到這個之后,完全膨脹到了極點,因為這個薪資比我當時的工資高的太多。但是因為某些原因,我拒絕了,因為當時某些原因,不能換工作,而且我感覺我能拿到更好的offer。

度過春節(jié),來到金三銀四,我投了很多家大廠,比如B站、攜程、聽喜馬拉雅等等。當時簡歷寫的也確實漂亮,都成功的拿到了面試邀請,當時開心的很。

恩,后面在面試的過程中,沒有一家的面試時間超過半小時,也沒有一家給我二面的。懷疑人生,徹底的懵逼了。

其實一面都非常的簡單,簡單的羅列幾點:

  • block本質(zhì)
  • ARC內(nèi)存管理的原則
  • 多線程之間的通訊
  • runtime、runLoop的理解和使用
  • 常見三方庫的源碼等等

說實在的,一面的這些東西,真的非?;A(chǔ),然而筆者當時僅僅停留在聽過,網(wǎng)上看過相關(guān)的博客,當真正需要我用自己的語言去描述的話,那就是漏洞百出。

后面不用說太多,筆者深深的陷入了懷疑自我的狀態(tài),想過轉(zhuǎn)行,想過就呆在現(xiàn)在的公司挺好,后期甚至對面試產(chǎn)生了一種抗拒,害怕面試。

第四階段 再次學習

在一段時間的緩沖之后,我選擇了再次學習,學習初期,比較盲目,只是通過網(wǎng)上資料、書籍來自學,收獲很低。

下面的描述,絕對不是廣告,確實是個人的學習之路。

在一次偶然的機會,觀看了邏輯教育的公開課的視頻,先是看了Cooci老師的公開課,后面又看了CC老師關(guān)于圖片渲染的公開課,后面幾天就一直跟著這個學,但是公開課,能學到的東西確實少,就下定決心報了一個VIP的課程。

貴,當時確實感覺好貴,一個課程都要7K+,當時猶豫了幾天,后面在自我安慰的狀態(tài)下,報名了進行了系統(tǒng)的學習。直播課時間是每周的一、三、五晚上8點開始。
說上課時間,為了更好的表達我自己的學習時間安排。

  • 周一、三、五晚上上直播課,每晚基本上10點后結(jié)束,上完課,我就復(fù)習總結(jié),自己寫筆記,能忙到凌晨1~2點鐘
  • 每天的上下班的路上,就看直播課的視頻,反復(fù)學習
  • 周二、四、六晚上沒有課,那我就總結(jié)筆記,寫博客,有疑問的直接問上課老師或者和同學交流,真的是一點不愿意耽誤時間。
  • 周末時間,公司是大小周,小周的話,我就全天學習,去消化一周所學的知識,大周的話,我會留出半天時間陪老婆,實在忙不過來的時候,我會兩天都處在學習階段。

其實這么的努力學習不為別的,就為了那昂貴的學費,就為了能夠多學點知識。

就這樣的持續(xù)學習,一直到現(xiàn)在,其實直播課,課堂上能學到的東西有限,畢竟大家的接受能力不一樣,筆者就是屬于理解能力比較差的,需要用更多的時間去總結(jié),然后使用。

再艱難的過程,簡單的文字能夠輕描淡寫的描述過去,其中的經(jīng)歷體驗只有自己知道。當自己沉下去,去學習的時候,需要的就是堅持,堅持,再堅持。當你感覺時間不夠用,或者感覺放松都是在浪費時間的時候,我感覺,你離成功不遠了。

第五階段 再次出發(fā)

就在2周前,我再次出發(fā),投簡歷,反應(yīng)很快,兩天時間,安排了5家公司的面試??墒切睦锶匀粚γ嬖囉行睦镪幱埃桶炎钕肴サ墓景才帕俗詈?。

這次面試前,沒有看任何相關(guān)的面試題,因為自己一直處于學習的過程,感覺面試題對我的幫助不是很大,或者也算是一種自信吧。

黑暗之后,黎明終會到來,結(jié)果也讓筆者自己滿意,面試了5家,也成功的拿到了5個offer,最終選擇了自己最心儀的一家公司。拿到了20k+,16薪的工作。

面試中,也有一次面了5輪的,也有視頻面試的,總之面試很累,還有一家8年的老開發(fā)一起交流技術(shù),他們給了筆者很多寶貴的建議,以及學習的方向,很是感謝他們。

學習的方式很多,對于筆者這種自學能力不能太好的,或者說沒有學習方法的人來說,付費學習,也是一種捷徑。

這個過程,筆者拋去了以往容易自我膨脹的心態(tài),讓自己時刻處于一種不滿足的緊張感,時時刻刻處于學習的狀態(tài)。

以上就是筆者近一年的歷程,感覺自己成功的度過了菜鳥的階段,現(xiàn)在已工作了3年,爭取在第5年的時候,上升一個更高的層次,希望大家也在這里對我進行監(jiān)督。

也希望這篇文章能給學途比較迷茫的小伙伴帶來一點點堅持下去的動力,要相信,熬過了最難的時間,美好便會降臨。

后面又是一個新的開始,仍然需要沉下心來,去學習,去沉淀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容