-
1 # 老顧聊技術
-
2 # 甜橙很酸
我認為不管工作幾年的程式設計師,都應該不斷的提升,因為軟體行業變化太快了,不進步,就等於退步。
工作5年肯定基礎已經相當雄厚,那麼我們可以考慮繼續提升Java程式設計技術,也可以深入原理,專研理論,還可以學習一些其他程式語言,擴寬自己的知識面。下面分別介紹一下。
深入學習Java並結合原理譬如讀一下Java API原始碼,或者其他開源框架原始碼,比如Spring,Netty,HDFS,HBase,分析一下每個功能是怎樣實現的,反問下自己,如果我來實現我該怎麼作,還沒有更好的方法?這些實現背後的原理是什麼?關於網路的,分散式系統的,資料庫原理的,軟體設計模式與架構模式的,等等。要是真能把這些都弄懂,那必然會有極大幅度的提升。但是說來容易作來難,上面每一項要想真正弄懂,沒有一年也得半年。剛開始或許會艱難點,多看看部落格或書籍
學其他語言目前看來,很多企業都是混合程式設計,所以多學幾門語言還是很有必要的,他們就像我們藏起來的暗器一樣,關鍵時刻有救命地作用(可以自己鬧補一下,一個會很多語言的工程師,幹好幾人的活,哈哈)
譬如Python,用的越來越多,再有Spark的一等公民Scala
最後想說的是,五年Java經驗,可以帶團隊了,那麼面臨著如何帶隊,讓大家高效愉快的完成任務。為了達到這個目的,我們要快速提高自己的領導能力和對專案的把空能力。希望以上舉例對大家有幫助,我自己也在不斷的努力著,天天都想著提升自己,我能想到的都列舉到這了,希望大家補充
-
3 # 思念是一種病痛
這個怎麼說呢?國內來說,要看年齡了,如裡入很早,那麼還能做.不過做了五年了,還沒有做到資深的話,說明前面沒有怎麼努力.可以轉產品,轉管理,這都是很好的路子.
這時候已經進入了技術的瓶頸了,如果要再想深入的話很難了,那麼可以去大公司,參與大專案,如阿里,騰訊,或其他.比如你參與了,天貓雙十開發,那麼這樣一個專案經驗可以夠你吃很長的時間.
-
4 # 碼農向前衝
開發技能,重點關注下分散式與微服務,比如Spring Boot,Spring CIoud技術棧等,向系統架構師方向發展。也可以向技術管理方向,培訓方向發展。
-
5 # 閃大章
個人覺得,如果還想繼續向技術走,那可能就要多學習架構相關的知識了,比如,微服務,分散式,大資料。還有就是有對原始碼有一定的分析能力,深入去了解一下底層的知識。
-
6 # 淺海筆記
不管是java,還是生活,想要前進的路順暢,肯定不能一股腦的往死裡鑽。有時候得停下腳步,回想過去走過的路,看看其他方向,甚至去其他地方逛逛,漲漲見識。然後你會發現,很多事情殊途同歸,你自然會發現一條坦蕩大路。這就是古人說的頓悟
-
7 # 那個叫什麼的來的
這個要看你目前達到什麼程度了。java開發很多都會用到很多框架,如果你現在還只停留在框架使用上,對原始碼或原理不是很瞭解的情況下,我建議先把自己經常用的框架搞明白了,原理了解清楚了,再向其他一些比較主流的技術學習。比如雲計算,大資料等等。
-
8 # 高階Bug調查員
回答這個問題我本人可能會有一些紙上談兵的感覺,這是因為我目前也才工作3年多一些。不過還是儘量說出自己的觀點,同時以此共勉,相互學習。
總結過去我絕對認為總結和溫故的行為是好的。“溫故而知新”這是孔聖人告誡我們的教誨。
總結,不應該侷限於1年3年5年,而應該是堅持不懈的行為。不論你做多少年開發,都應該每天總結和反省。
這不僅會讓你從自己的失敗教訓中少走彎路,同時可以讓過去的自己與現在的自己對話,達到一種“通靈”的效果。你看到過去的自己,看到自己的成長,就會帶給自己信心和動力。
所以,總結下去!
學習架構Java語言已經陪伴開發者走過20載春秋,成熟度已經相當高。
架構是高於程式設計開發的另一種設計形式,完美的架構需要架構師在不斷的嘗試中摸索前行的,所以5年,應該開始學習架構了。
勇於嘗試勇於嘗試,我一直這樣要求自己。
Java開發最痛苦的地方就是需要不停的學習新的知識,新的框架,新的概念,卻永遠也學不完。
但是Java開發最快樂的地方也是這裡,學習新的知識,新的框架,新的概念,卻可以變化萬千!
只要勇於嘗試,就一定會有所提升。
-
9 # 說言風語
三點建議:
1、理清自己的成長路徑
2、分析並找到當前路徑下適合自己的成長方法論
3、在實踐中不斷提升修正自己的行動
首先,這是一個搞清楚why的建議,要明白一點,是否成長的核心關鍵,不是時間的長短而是,你選了一條什麼路,以及你該如何實現這個目標。
尤其是對於程式設計師群體,很多時候都沒有搞清楚為什麼要提升?就在開始盲目的提升?
是成為某個領域的技術專家然後一直鑽研技術走上架構師的崗位?還是到一定階段轉技術管理期望帶領團隊?更或者期望能成為技術合夥人走上人生巔峰?還是賺更多的錢然後回家養老逍遙自在?
想清楚很重要,不怕目標遠大,就怕沒有目標瞎整。
舉個最簡單的例子,到時間是不是就該當技術專家?架構師了?現在招聘不都是這樣說的嗎?
到時間就能xxxx,這就是一個最大的誤區所在,有的人3年時間能抵別人5年,有人5年時間其實只有一年經驗。時間只是一個入門的衡量標準,而背後的核心在於你走的什麼樣的路,目前在哪個階段。
其次,你找到了自己的一套方法論沒有?前面如果是在確定目標的話,那在確定的目標下,就要開始真正的提升。
而這個關鍵的點在於,不斷打磨找到適合自己的方法論。
舉例來說,想要成為架構師的通常路徑是工程師==>高階工程師==>技術專家==>架構師
每個階段都有一個大致的衡量標準,而不是說到了5年就是高階,10年就一定是專家或者架構師了。
關鍵的核心在於你有沒有一套行之有效的方法論在推動你的成長。
很多人不明白,為什麼要打磨方法論,其實原因很簡單,你需要一些工具來高效的幫助你快速成長。
不同的技術棧的具體操作都是千差萬別的,但底層的原理其實都是一樣的,就是不斷有效的積累知識,轉化知識,在實踐中反覆的驗證,構建一套知識系統。
專家都有自己的一套行之有效的系統理論,即便有些在別人看來有點扯淡。
但有時土法煉鋼可能才是最有效的辦法。
最後,就是堅定的行動。
一切空談都容易,行動最難。
比如,原始碼研究,並不是說找一個框架用IDE開啟,看看程式碼的樣子就是原始碼研究了,可能你需要從安裝開始,然後找到配置,測試,執行,然後結合實際場景的分析,單機和叢集的區別與聯絡,隱藏的坑在哪裡?原理是什麼。
比如,Netty用Reactor模式,Ngix也用Reactor模式,怎麼就如此的不同,背後道理是什麼原理?這些原理對我們有什麼幫助?我們該怎麼拿來解決實際問題。
而這些都是在不斷的行動中積累思考而得到的,只是會用,那只是最開始的路徑要求,越到後面可能要求會不一樣。
資料結構如何組織?演算法如何選取如何實現?都是要在行動中不斷反思才能獲得。
而不是說我是Java高手,spring全家桶用得很溜,然後就是專家,那不是專家,那只是高階熟練工罷了。
-
10 # 我是一隻魚43803690
程式設計分為幾種,網路io程式設計,磁碟io程式設計,圖形程式設計,框架程式設計,資料庫程式設計,大概這幾種。
回覆列表
技術眼界
如果你不是在一線大廠,或者做類似專案外包的工作,那技術視野是很窄的,都是重複的增刪改查,好一點的可以設計一下業務資料庫;千萬不要認為你的技術水平已經很高了,還差很遠。這是因為在你的技術認知範圍內,類似井底之蛙以為天就這麼大。
技術方向有5年的工作經驗,應該有對技術的一些看法了,有知道一些技術領域了。之前也許看到一些技術很牛,就去了解一下。老顧之前就是看開發3D遊戲很牛,就去了解,去了一家知名的遊戲公司。工作了1年多,但發現技術也就這樣,都是做的外圍的工作,遊戲引擎根本沒發了解。更主要的原因是老顧是不喜歡玩遊戲的。工作過程中感覺很痛苦,最終還是辭職了,選擇老顧喜歡的網際網路應用領域。
這個經歷我相信很多人遇到過,這個就是要對技術人員個提醒,如何選擇自己的技術領域,技術太龐大了,我們如何抉擇?老顧認為選擇你喜歡的。
類似現在應用領域:Java平臺應用,大資料,人工智慧,演算法,區塊鏈等,5年了需要自己抉擇個領域進行深入。
技術深耕如果你想在技術方向有更大的提升,需要有兩個方面的提升。
第一:全面性
要求一定要知道整個系統是如何架構,如何資料流轉,各個環節點運用的是什麼技術,為什麼要用這個技術。技術方案是不只一個的,能不能換另一個方案?
這個需要常年的關注,也許有些工作不是你負責的,但對於有上進心的你,一定要去了解。這樣才能夠提高你的知識面。
人的知識一共有三個圈
在我們學習過程中,會遇到阻礙,遇到很多問題,一定要堅持下來;我們看一下上面三個圈,有個很鬱悶的規律,就是你所知道的越多,那你不瞭解的會更多,這就是技術無止盡。
學習方法其實每個人都有自己的學習方法,老顧這裡只說個人的看法
技術知識棧
1)先去了解自身領域的整體技術知識棧,梳理一下哪些是自己瞭解的,哪些不瞭解,制定計劃去學習,自學是很累的過程,一定要堅持;
2)推薦你去一些線上影片網站,花點錢學習,這樣進步會很快,人家講師會分享總結,可以一下子幫你帶入門,提升眼界(老顧強力推薦)。
動手記錄
1)動手把學到的知識記錄下來,不是簡單的操作一篇,而是寫下來;這個是對你回顧是很有幫助的。
2)還有這個會幫助你提升你總結的經驗,而且會幫你靜心;多寫,多寫,一定要多寫。