談?wù)劤绦騿T的焦慮感

@(隨筆)

這篇文章繼續(xù)不談技術(shù),我們來談?wù)勱P(guān)于程序員的焦慮感,寫這篇文章源自有位同學(xué)問了我一個(gè)問題:

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

我一看,這不是我曾經(jīng)迷茫過的類似的問題么。我相信這也是工作幾年的程序員會(huì)產(chǎn)生的迷茫,因?yàn)楣ぷ鞯膸啄暌呀?jīng)不是那時(shí)剛步入社會(huì)的新人(菜鳥),已經(jīng)可以做一些曾經(jīng)做不了的事情了,也算是個(gè)熟練工了,能夠自己解決日常工作的一些問題,能夠比較輕松實(shí)現(xiàn)一些功能需求了。但是現(xiàn)在問題來了,技術(shù)到了瓶頸,怎么辦?我曾經(jīng)在知乎回答過一個(gè)問題:

感覺安卓應(yīng)用開發(fā)就是一些接口的調(diào)用和ui界面的邏輯處理,還有其他可以深入學(xué)習(xí)的嗎? - 來自知乎

當(dāng)時(shí)我的回答是這樣的:

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

這個(gè)只是針對App開發(fā)的一些見解罷了。想一想,現(xiàn)在技術(shù)日新月異,層出不窮, 就拿Android領(lǐng)域來說:

RxJava、Kotlin、React native、MVP、MVVM、插件化、熱更新、Data Binding...

這些技術(shù)的出現(xiàn)都是為了去解決以往解決不了的問題,那么我們的問題來了,我們是不是每出一個(gè)新技術(shù)都要去學(xué)一下,當(dāng)然我們作為程序員也應(yīng)該與時(shí)俱進(jìn),去接受一些先進(jìn)的思想。但這里有個(gè)問題就是,我們太過于強(qiáng)調(diào)新,而忘記了這些新技術(shù)的本質(zhì),任何一門新的技術(shù)都改不了一個(gè)事實(shí):底層技術(shù)是不會(huì)變的。至于學(xué)不學(xué),可以問自己一個(gè)問題:

學(xué)這門技術(shù)能夠解決什么問題?我如何在實(shí)際工作中運(yùn)用上?

我們學(xué)習(xí)一門新的技術(shù)不是為了學(xué)習(xí)而學(xué),最終還是要回歸實(shí)際應(yīng)用上去,不然過一段時(shí)間你發(fā)現(xiàn)自己又給忘記了,不然怎么叫學(xué)以致用呢。

前面的問題還有一個(gè)就是,要往哪個(gè)方向?qū)W更有前景?這個(gè)真不好說,很多人經(jīng)常犯的一個(gè)毛病就是想得太多,做得太少,每天都在糾結(jié)學(xué)什么,就是不動(dòng)手。我們可以看到是前幾年移動(dòng)開發(fā)很火,大家一股腦的就往這個(gè)領(lǐng)域鉆,再看看現(xiàn)在,移動(dòng)開發(fā)似乎沒有這么火了,想找工作的同學(xué)和想換工作的同學(xué)是不是發(fā)現(xiàn)難很多了,你能想到會(huì)是這樣的局面嗎,真不好說,現(xiàn)在也許是市場冷靜了,任何一門領(lǐng)域的火熱都跟市場的需求相掛鉤,一旦市場需求量少了,或者不再需要,我們都有可能面臨失業(yè)。

我們來看看現(xiàn)在什么最火熱,列舉一些:

VR、AR、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、人工智能

想必大家每天都會(huì)看到這些相關(guān)的新聞和資訊,也許這些是未來比較有前景的領(lǐng)域了,但我們不能因?yàn)檫@些概念的火熱就一股腦得投入到里面,我的看法就是找一個(gè)自己感興趣的方向,持續(xù)發(fā)力,讓自己成為這領(lǐng)域的專家,但前提是你得打好基礎(chǔ)。

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

  • 終端
    • Android/iOS
    • Cocos2d
    • Unity 3D
  • Web前端
  • 后臺(tái)
  • 運(yùn)維
  • 測試

其實(shí)每個(gè)領(lǐng)域都有相應(yīng)的技術(shù)棧,你可以從中選一個(gè)自己感興趣的方向去學(xué)習(xí),但并不局限于說你只關(guān)注于某一個(gè)方向,我的建議是:

專注于一個(gè)領(lǐng)域,橫向擴(kuò)展其他領(lǐng)域的技術(shù)。

總之一句話,不要自我設(shè)限,沒有人說你一定要成為什么樣的人,而是你想成為什么樣的人。誰知道哪天你不想做程序員了,想回家賣咸鴨蛋了,那你就不需要糾結(jié)學(xué)什么的問題了,及時(shí)行樂,開心就好。

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

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

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