-
1 # 膺醬尾巴還在
-
2 # 優質資源分享
第一 興趣 我覺得這個是非常大的原動力,無論你想達到什麼程度,想要做到什麼位置,肯定是一直堅持一件事情的去做,才多少年之後才能達到什麼水平。
第二 堅持 在堅持這塊就可以刷掉一大堆人,在對於這技術這塊其實也就是那麼多而已,剩下的就是每天的去做,就是我們每天做的事情其實都是重複的事情,堅持到底。
第三 方法 事半功倍這個詞就是在說方法的重要性。
第四 去培養自己的快速學習能力
第五 要不斷的去學習更好的新技術。堅持不懈,總有量變到質變的那一天。
加油!!!
-
3 # Java實戰技術
工作四年遇到了瓶頸期,筆者這裡分析兩種可能的情況。
1.在現在工作崗位上久了,在公司的內部圈子裡接觸的新東西太少,對工作任務能應付的得心應手,內心覺得工作簡單,沒有挑戰,時間久了人變得愈發懶散,忽然有一天你醒悟了,發現不能再這樣下去,但是又不知道如何去突破,內心更加空虛和焦躁,所以你迫切想突破這個瓶頸期。
2.程式碼寫多了,見識也多了,面對不斷冒出來的新技術,有些急躁,想迫切都學到手,但是又沒那麼多時間和精力,一時間有些迷茫,不知道如何去突破。
說實話,上面的兩種情況大部分人都會遇到,解決方案就是居安思危,讓自己忙起來!
工作4-5年是一個提升的黃金時間,作為技術人,面對新老技術的挑戰,我們不可能全都完全掌握,所以,我們需要綜合分析自己的條件和能力,有選擇的深入某一方向深耕,成為專才。新技術的出現都是為了解決現有問題而產生的,它也是在現有的計算機基礎上發展的,從原理上來說基本是相通的,所以,某一方向專注了,大方向上的原理也就明白了,面對新技術也能快速上手。
-
4 # 拖延症_晚期_
大學四年該有的基礎有了嗎。學習使用的東西深度夠了嗎。喜歡的東西深度學了嗎。看看這三個問題的答案再想想你的瓶頸。
-
5 # javaadu
要解決這個問題,首先要說清楚突破瓶頸之後的方向有哪些?如果技術做技術,Java程式設計師的發展方向有兩個:(1)結合業務,做相關業務的領域專家;(2)專精技術,做相關技術領域的技術專家。這兩個方向怎麼選,要結合自己的優勢、劣勢和興趣。
以做技術專家為例,要做非常底層和基礎的技術點,越底層的越基礎,越基礎的受眾面越廣,越基礎的越不容易被替代,對於Java領域來說,那就是JVM虛擬機器;對於雲計算領域來說,那就是Docker、網路、Xen/KVM虛擬化等技術。
再講一些學習的規則
1. 知行合一,完成學習閉環:我們要結合自己現在工作中能實踐的場景去學習,學習了什麼東西馬上就要用在實踐中驗證,驗證過了要做總結,總結過了要分享出去,這樣才能完成一個完整的學習流程。
2. 持之以恆:不管做什麼事情,都沒有一蹴而就的,持之以恆得做一件事非常重要。
-
6 # IT主宰
使用Java---->深入理解Java積累經驗------>獨立設計分析能力------>獨當一面的多面手!
因此,必須學習:
列舉一些技術
比如對集合類,併發包,IO/NIO,JVM,記憶體模型,泛型,異常,反射,等有深入瞭解,最好是看過原始碼瞭解底層的設計。比如一般面試都會問ConcurrentHashMap,CopyOnWrite,執行緒池,CAS,AQS,虛擬機器最佳化等知識點,因為這些對網際網路的企業是絕對重要的。而且一般人這關都過不了,還發鬧騷說這些沒什麼用,為什麼要面試。舉一例子,在使用執行緒池時,因為使用了無界佇列,在遠端服務異常情況下導致內層飆升,怎麼去解決?你要是連執行緒池都不清楚,你怎麼去玩?
1. 資料庫再舉一例,由於對ThreadLocal理解出錯,使用它做執行緒安全的控制,導致沒能實現真的執行緒安全。所以作為一個拿兩萬的JAVA程式設計師這點基礎是要有的。最常用的是Oracle了(當然銀行專案等需要DB2等),熟練掌握使用儲存過程,觸發器等;
2. UML
專案中經常要寫文件,專案經理的基本功,程式設計師走向設計的基本功;
3. 設計模式
這個建議多看吧,在閱讀原始碼中體會;
4. linux系統
需要掌握常用的linux命令------部署在windows作業系統上的專案很少吧。
其他就不多說了,大家可以補充。
學習上,興趣是最大的老師;專案驅動也是不錯的選擇,總之,不學習不行。
5.現今面試基本都會問到這些:多執行緒 、高併發 、IO、 NIO、 分散式、 JVM原理與調優 、各種框架(原始碼級別)、 SQL效能最佳化、 搜尋引擎、 規則引擎、叢集、 負載均衡、 Tomcat效能最佳化、 Nginx、 RabbitMQ、 Redis、 Memcache、 MongoDB、 AngularJS、 Activity工作流、 WebService、 Https、網路通訊、Linux還有各種設計模式。
所以為了將來不被問倒,那就需要現今的努力學習,增強自己的力量。
-
7 # 會點程式碼的大叔
關於Java程式設計師如何突破自身的瓶頸期,我談談自己的看法。
在工作中突破瓶頸首先我有一個觀點,可能和很多人的想法不太一樣。
大家應該看到過很多這樣的說法:“工作八個小時是為了生活,下班後的N個小時是為了更好的生活,建議大家下班後如何如何”,我是不太贊成這樣的說法的,我認為:
不反對下班之後花時間研究技術,但是更重要的是上班的八個小時;
“完成工作甚至超水平完成工作”,對技術能力的提高,是非常明顯的,比你自學要明顯的多;
工作的時候適當的有些壓力,效果更好。
所以我認為,Java程式設計師如何度過和圖片自身的瓶頸,還是以工作為主,工作以外的努力為輔。
超水平的完成本職工作有些人不明白這個“超水平”是什麼意思,反正都是完成本職工作,這還有水平的高低麼?其實很多時候,程式設計師不是隻把程式碼寫好了就行的,還包括很多方面:
程式碼執行效率如何,當資料量大的時候程式執行速度怎麼樣;
未來需求有變化的時候,程式碼是否容易擴充套件(也要防止過度設計);
開發過程中的一些重複性工作,是否可以使用工具或框架實現,等等等等;
一定要思考,現在的工作如何能做的更好。
嘗試更多的工作如果一個程式設計師常年累月的只做一項工作,會很快遇到瓶頸期,那麼最好的方法是超水平完成本職工作之後,嘗試做更多的工作。如果你是個初級Java程式設計師,那麼你可以:
比如在專案中負責更多的功能模組,從整體上把握專案;
把自己工作中做的好的部分,分享出來;
可以負責一些非技術類的工作,比如需求溝通,雖然和技術無關,但是會對你溝通、業務能力有提高;
如果你不知道需要做哪些工作,那麼就看看比你級別高的程式設計師、專案經理、架構師在做什麼工作。
最後,還是得利用工作以外的時間,輔助你突破職業成長的瓶頸期,在工作過程中發現自己在哪些方面有缺陷,那就花時間惡補一下吧。我之前為了彌補資料庫方面的不足,還花錢報了一個培訓班,按照DBA的標準培訓了一番。
-
8 # AI的視角
首先你得清楚定義自己的瓶頸,這與你的職業目標相關。
如果你指開發能力,那麼提高水平度過瓶頸,我認為有兩個方向的能力需要提高。
1,對你當前從事開發的系統或負責的模組,要做到既專業,又有大局觀。專業指從業務熟悉度到實施最佳化,別人問到時,你能清楚的告訴他當前現狀方案的優劣,下一步計劃。而大局觀指的是周邊互動的其它系統,前後端對接等全域性眼光,這對最佳化架構方面有很大幫助。這種高標準的自我要求一旦加身,需要學什麼怎麼學這種具體事宜,相信你自己能知道怎麼樣去針對性的解決。
2,要有熱愛。這個說法有點兒寬泛,但是我擔心說小了,又會出現因地制宜的偏差。比如我,因為喜歡,熱愛,或者說是賺外快的動力,我會自己學習java生態的東西,學前端,搭建github, 碼雲的開源app去折騰。其實這對第一點也有相輔相成的作用,畢竟見多識廣肯定對工作有幫助。
如果你指的是工作水準、晉升方面的瓶頸,我也說兩條。
1,工作能力要強。需求,方案,實施,任何一個階段都要有意識的去提高,去擴大影響力,讓同事依賴你,主動找你聊。要有精力去幫助到同事。
強調責任心,認真努力。
當然你可以自己生髮一下,比如學會彙報,學會曝光自己,不展開。因為老闆和同事認可你,你才強,不是你學了多少東西能幹多錢東西就是強。
題主所謂瓶頸,一定不要自己定義,確保你的結論是和同事對比,揣度老闆對你的心思之後的判斷,也許你認為的瓶頸,在別人眼中只是正常表現(也許稍高?)
2,發現問題並提出、落實改善方案的“分外”
的事情,要主動做,做的多又好。這才是主要的提升推動力。做好了1,你可能得到認可,也可能僅僅得到老好人的感覺,但是做到2,老闆才會知道離不開你。
手機碼字有贊再最佳化
回覆列表
瓶頸是什麼?不能進步了?一直補充新技能怎麼會有瓶頸。上學時有個大學英語講師說:你們看我就上大學和研究生累點,以後當了老師很輕鬆,也不用再學什麼了。也可能是在安慰或鼓勵學生,但我從不認同。
Java4年感覺有瓶頸。這四年都在職業上付出了多少?上班工作做完被分配的任務的同時有沒有關注過技術?
比如編碼,Java現在是第幾版本?每個版本對於上一個版本有哪些改進都清楚?都寫過小練習?jdk自帶的類庫都研究過了?
使用廣泛的Spring基礎API都會用?熟練?Spring專案都有哪些子專案?Springboot,Springdata,Springbatch… 瞭解工具才有在真實案例中做出解決方案的可能,前提在Java平臺下。
比編碼高階一些的設計:設計模式可瞭解?在真實專案中是否用到了?為什麼用?用了得到了什麼好處?是模組化更強了嗎?模組化強了有什麼好處?
自己能否獨立設計編碼出一個小應用實現小功能(這裡不是指在已有的程式中添加個小模組)。比如簡易的郵件,簡訊通知,簡單做可能一個class搞定。問題是能不能配置發件帳號?如何支援不同的供應商(不同簡訊供應商的發簡訊API不一樣)?如何讓你的程式支援用模板呼叫著只傳輸引數?用模版有好處嗎,&為什麼?你的程式能否精確控制呼叫者的許可權,讓每個呼叫者只能使用自己的模版?能否做個額外功能控制模版的狀態,隨時讓模版生效失效?能否再做個統計看看呼叫者使用了多少次?
看技術資訊的同時免不了會掃到一些新技術的帖子,稍微看一看,神麼時序資料庫,虛擬化或者docker什麼的,用起來不難而且文件豐富,還有一群熱心腸寫的入門教程。你入了門再做深入研究啊。
還有你四年不會只懂Java吧,如果是,看一點其他開發語言比如c#,python,nodejs,golang啥的。懂開發的再看其他程式語言並不難,寫函式大同小異當然還有每種自己的特性,要不然也不推薦你看了。python和nodejs是解釋語言基本不用提前編譯,而且執行起來佔用資源少,不像Java幾百M起步,Java和c#屬於強勢型別,python和nodejs屬於弱型別,問題來了什麼叫強型別什麼叫弱型別?那golang一類的屬於什麼型別?
手累,其他的先不說了。你把上面的問題都能回答出來肯定不在瓶頸裡。另外再說如果你面試遇到挫折不要灰心,這跟相親一樣看能力還要看緣分。因為面試你的那個貨可能在你說的瓶頸期。