談談程式設計師的焦慮感

IT_xiao小巫發表於2017-04-15

談談程式設計師的焦慮感

@(隨筆)

這篇文章繼續不談技術,我們來談談關於程式設計師的焦慮感,寫這篇文章源自有位同學問了我一個問題:

我接觸Android 應用層也快3,4年了,說實話,公司一直讓做app 層開發,工作之餘,學完ReactNative 和Weex,簡單的做了Demo,實際開發中不讓上,學完一年忘完了,之前大學專業還專門學了一年Linux 核心,開發中很少去用,慢慢就廢了。有公司前輩建議我學java後端 ,有前輩建議我去學混合開發,說實話,好迷茫,尤其是偶爾學的新東西,如果成為不了一種知識體系,很碎片化的在學習,跟我這樣,學了一個月的node.js,學完沒處上,慢慢就發現,不知道學啥了。

我一看,這不是我曾經迷茫過的類似的問題麼。我相信這也是工作幾年的程式設計師會產生的迷茫,因為工作的幾年已經不是那時剛步入社會的新人(菜鳥),已經可以做一些曾經做不了的事情了,也算是個熟練工了,能夠自己解決日常工作的一些問題,能夠比較輕鬆實現一些功能需求了。但是現在問題來了,技術到了瓶頸,怎麼辦?我曾經在知乎回答過一個問題:

感覺安卓應用開發就是一些介面的呼叫和ui介面的邏輯處理,還有其他可以深入學習的嗎? - 來自知乎

當時我的回答是這樣的:

獨立開發過幾個產品,說一下自己的見解,基本上有完整經歷過一個產品的開發過程都應該清楚UI層是應用開發中最常變的一部分,app開發者絕大部分的時間都花在UI微調上,而業務邏輯基本上需求定下來不會變動太多,除非是產品迭代一些功能性的追加,不然就是不停的堆UI、堆UI,幹過兩年以上的開發者基本的開發能力已經有了,業務能力也差不多,這時候會遇到瓶頸,基本上就是找不到更加深入的方向,這個時候就可以考慮一下自己參與過的產品所使用到的技術是自己深究過的,打個比方,開發app的時候,一般會用到Http框架,這樣的框架你是否有真正去實踐過,或者有研究過它的實現思路和設計思想,我們一般都會拿過來用,但為什麼要這樣設計就是我們需要去了解的,這可以提高你的架構的設計能力和編碼的水平,除了框架,更多的是深入framework層相關的,一些特殊的需求,比如動態熱更新、外掛化的實現,對應用開發者來說都是新的挑戰,還有對app的效能調優,產品上的優化,這些東西都是可以根據其中某一個點進行發散的。只做UI層的嘗試是沒有什麼前途的,不管幹多少年,眼界也是極其有限,做技術的只能不停的深挖,構建完整的知識體系,才能打通自己的任督二脈。我個人的一些觀點,僅供參考。

這個只是針對App開發的一些見解罷了。想一想,現在技術日新月異,層出不窮, 就拿Android領域來說:

RxJava、Kotlin、React native、MVP、MVVM、外掛化、熱更新、Data Binding…

這些技術的出現都是為了去解決以往解決不了的問題,那麼我們的問題來了,我們是不是每出一個新技術都要去學一下,當然我們作為程式設計師也應該與時俱進,去接受一些先進的思想。但這裡有個問題就是,我們太過於強調新,而忘記了這些新技術的本質,任何一門新的技術都改不了一個事實:底層技術是不會變的。至於學不學,可以問自己一個問題:

學這門技術能夠解決什麼問題?我如何在實際工作中運用上?

我們學習一門新的技術不是為了學習而學,最終還是要回歸實際應用上去,不然過一段時間你發現自己又給忘記了,不然怎麼叫學以致用呢。

前面的問題還有一個就是,要往哪個方向學更有前景?這個真不好說,很多人經常犯的一個毛病就是想得太多,做得太少,每天都在糾結學什麼,就是不動手。我們可以看到是前幾年移動開發很火,大家一股腦的就往這個領域鑽,再看看現在,移動開發似乎沒有這麼火了,想找工作的同學和想換工作的同學是不是發現難很多了,你能想到會是這樣的局面嗎,真不好說,現在也許是市場冷靜了,任何一門領域的火熱都跟市場的需求相掛鉤,一旦市場需求量少了,或者不再需要,我們都有可能面臨失業。

我們來看看現在什麼最火熱,列舉一些:

VR、AR、機器學習、深度學習、人工智慧

想必大家每天都會看到這些相關的新聞和資訊,也許這些是未來比較有前景的領域了,但我們不能因為這些概念的火熱就一股腦得投入到裡面,我的看法就是找一個自己感興趣的方向,持續發力,讓自己成為這領域的專家,但前提是你得打好基礎。

好了,說到這裡你的焦慮感是否少了些許呢?如果還沒有,我提個問題就是你想成為哪個領域的工程師:

  • 終端
    • Android/iOS
    • Cocos2d
    • Unity 3D
  • Web前端
  • 後臺
  • 運維
  • 測試

其實每個領域都有相應的技術棧,你可以從中選一個自己感興趣的方向去學習,但並不侷限於說你只關注於某一個方向,我的建議是:

專注於一個領域,橫向擴充套件其他領域的技術。

總之一句話,不要自我設限,沒有人說你一定要成為什麼樣的人,而是你想成為什麼樣的人。誰知道哪天你不想做程式設計師了,想回家賣鹹鴨蛋了,那你就不需要糾結學什麼的問題了,及時行樂,開心就好。

相關文章