今天從自己的經歷跟大家聊聊做程式設計師的四個階段。
1、沒意識沒能力(不知道自己不知道)
我在這個階段的時候是大學,年少輕狂,越學越覺得自己牛,其實知道的都是皮毛但是覺得自己太牛了。而且當時不知道以後會用什麼框架,就覺得自己所有框架都會了,甚至不知道該學啥了。你們有這個階段嗎?
2、有意識沒能力(知道自己不知道)
大概工作一年左右發現了這個階段,因為總會遇到自己沒有辦法解決的問題。對於程式設計就是知其然不知道所以然。比如有關效能和可用性還有邏輯相關的問題。這個時候已經沒有那種覺得自己特牛了,開始學習,但是學了還是已經很菜。這個階段是突飛猛進的階段,對於我而言。
3、有意識有能力(知道自己知道)
經過了幾份工作,解決過很多問題。遇到的很多問題都知道解決方案,在這個階段已經可以獨立解決自己遇到的問題了,那時候從單系統架構到分散式架構,從單系統發展到上百系統,日獨立PV從幾十W發展到接上億,每天上億的交易資料。
4、沒意識有能力(不知道自己知道)
如果說上一個階段,是知道自己可以解決什麼問題,這個階段就是可以解決一些自己根本沒遇到過的問題,這個階段就是抽象思維能力提高;再比如就是接觸一個新語言的時候,可能之前都沒看過,但是因為對自己熟悉的語言底層和設計模式非常瞭解,大概看一下就知道新語言是如何實現的。
剛開始工作的開發,會越來越熟悉公司的業務,很多工作也會小有成就,但技術就是增刪改查。這種情況非常容易出現在小公司,所以如果你一兩年的工作僅僅是增刪改查,那麼要有危機感了。這種技術根本不值錢再這樣下去就到自己的職業天花板了。
儘量提早進入大廠,這裡並不是鼓吹大廠是程式設計師的最終歸宿,但是咱們在網際網路行業當中,也要圖個自己的發展方向、穩定和高薪吧。進入大廠之後,接觸分散式、叢集、深度學習等等技術,這個時候就是突飛猛進的階段。
如果你現在還沒有機會接觸,那麼就開始學學相關課程,對自己進行拔高。有的博主會告訴你要注重基礎,注重os等等。但是提升自己不是單靠基礎,你要先給自己進入大廠的機會,再慢慢學會實際解決問題的能力。
最後:
- 程式設計師的程式設計水平不是訓練出來的,是累積;
- 程式設計師的專案是分三六九等的,好的平臺可以給你更多機會
- 單純的靠學習提升變成水平不現實,充實自己,準備好面試