-
1 # 舒子apple
-
2 # 龍葵司
就現在的環境而言,java程式設計師的日子很不好過,但是這裡指的是隻會簡單操作的一大部分人。如果做到高階java構架師,薪資很容易就可以達到3W左右,但是相應的也需要有java開發的經驗,對開源框架的原理機制的瞭解,能獨立進行網站架構,核心問題的掌握等等。市場是飽和的,但是人才還是缺。
當然也可以選擇學習其它類計算機語言技術。
-
3 # 程式設計師小葛
雖然現在的網際網路環境算不上太好,很多的公司為了過冬,也停止了招聘計劃或是開始裁員。但是我們仔細觀察,還是可以發現這些被裁員的部門大多並不是技術部門。而且,雖然部分公司裁員,但並不意味著整個網際網路行業就是在萎縮,科技還是一個重點發展的行業的。所以,只要我們能力足夠,有競爭力,失業這個詞距離還是很遙遠的。
而JAVA是當下網際網路行業最常用的一種語言,網際網路公司對於JAVA的程式設計師需求量大,JAVA程式設計師的基數也大。任何行業,都是適者生存,而在現在的環境下,更是如此。被淘汰的只會是不適合的,能力不足的,對於很多熱愛這個行業,學習能力強的程式設計師來說,機會還是不會少。因此,我們想要自處很簡單,持續的學習,持續的保持一個良好的工作狀態就行了。
可能有些同學們在過去的時間裡,沒有做好自己的學習計劃和職業規劃,以至於可能在當前這個經濟不景氣的時候同身邊的同事朋友橫向比較時發現自己的能力稍稍有點差。沒有關係,我們也不要太緊張,現在開始做規劃也不晚。
就好像羅振宇在跨年演講時說的一樣,“種一棵樹,最好的時間是10年前,其次就是現在。”所以,學習,就從現在開始吧。
-
4 # 電商和區塊鏈
這個問題很適合搞過多年Java程式設計師來回答,我是其中的一個。
先看現如今的環境。現在2019年初,科技行業的寒冬,很多公司開始收縮招聘,比如京東、阿里,傳聞華為也是如此。
一、縱深發展,將Java做精做深Java技術路線圖:初級開發工程師 -> 高階開發工程師 -> 架構師 -> 資深架構師 -> CTO。
1、底層能力:
JVM:核心知識、效能調優、記憶體管理和調優、程式編譯和最佳化等
常用軟體:Tomcat/Jetty的執行機制和效能最佳化、Mysql/Mariadb的底層機制和調優
Linux:不是會幾個命令列,簡單安裝某個包就行,而是精通和會調優
Java語言和程式:程式碼高效低冗餘,高內聚低耦合;程式效能最佳化;執行緒安全,非同步通訊程式設計;緊跟最新版本,比如Java 11;精通Java 8中的特性:函數語言程式設計,Lambda等等
2、精通使用各種工具:
編譯和第三方包管理等:Maven/Gradle
IDE:Eclipse/IntelliJ IDEA
CI/CD:Jenkins等持續整合和部署工具
原始碼管理:Git
程式碼質量控制:Sonar、PMD、Findbugs
敏捷開發管理:禪道等
3、應用框架能力:
Spring:整體體系和設計思想;IOC、AOP;原始碼分析;Spring MVC;事務策略
Mybatis:原始碼分析;配置和Mapper;效能最佳化
4、架構能力:
分散式架構:精通原理、策略和中介軟體;資料一致性問題
微服務:這塊尤其要精通,因為現在都是採用微服務的架構。建議選擇Spring Cloud,因為其技術覆蓋全面;Docker;谷歌的Kubernetes
設計模式:精通常用設計模式:代理、工廠、單例等並應用
熟悉:SaaS,雲計算,REST,建模等
5、技術領導能力:
專案管理:敏捷開發,Scrum和看板模式;進度管理和風險控制
團隊建設:團隊激勵和懲罰;團建活動;文化氛圍維護;成員技術實力提升
合作:和其他部門或第三方
二、橫向擴充套件,學習該時代需要的新技術:AI、區塊鏈、大資料純粹的Java實力並不能完全保證你的競爭力。
設想一下,你面試心儀的職位,面試官問你:你有AI或區塊鏈經驗嗎?你說沒有。那面試官必定會說:我們需要有這方面經驗的人,你不合適。
這塊要深入說,又要較大篇幅來講,點到為止吧,因為該問題的重點是Java。
三、(可選)開闢其他賽道:寫技術部落格、做自媒體這個世界總是有2種類型的人才:通才或者專才。
每個人都有自己適合的事情,比如技術很好的,卻不善於溝通和表達;有的人喜歡發言,可以在這個領域試試。
四、(謹慎)拋棄Java,擁抱其他平臺要拋棄存量總是讓人很恐懼,因為沉沒成本太大。所以,對於這個建議,請仔細思考,並謹慎對待。對於Java存量不大的人,可以多想想。
不可否認,Java目前還是程式語言裡面的第一名。但是,作為一門老語言,在目前網際網路社會要求越來越快,越來越輕的情況下,疲態漸顯。
在AI和區塊鏈領域,Python和Go崛起了;應用型的網際網路公司,更青睞Nodejs。
Java仍然強勢,但在走下坡路;而另外一些相反。
所以,你需要深入做資料分析,再看自己的喜好,該捨棄的時候就需要勇敢地捨棄。
-
5 # 等⼀個睛天
大環境其實還不會被怎麼改變,網際網路是會一直在存在的。還是好好加深一下自己的基礎和技能。畢竟真正有實力的人是不會被淘汰的。而且其實很多Java程式設計師是實力不怎麼行的,只要你夠努力就可以了。實在不行就轉行吧
-
6 # 曹操創業
我覺得不僅是JAVA程式設計師吧,所有的程式設計師都會遇到和你一樣的問題,程式設計師一般職業線路比較簡單,沒太多選擇,除非換行業者另說。下面是我個人的一些觀點。
1、程式設計師,如果你覺得你喜歡程式碼,喜歡開發工作,那麼一直做開發也是一件的不錯的事,不過要考慮當你做開發10年後,你所做的工作,一個大學畢業2、3年的開發人員一樣能做時,你的價值在走下坡路,越來越不值錢。所以要時刻保持學習,並且深入研究技術。
2、架構師,是往真正技術大牛的方向發展的職業線路。若未來你想成為架構師就需要現在你的不斷專研技術和積累研發經驗。不是隨便開發人員憑藉10年開發經驗就可以成為架構師。成為架構師需要完善和紮實的技術體系,具備較好系統分析和設計能力,豐富的專案研發經驗。建議前期可以先去專案外包型別,然後再去網際網路平臺型別。
3、技術經理,是往技術加團隊管理的方向發展的職業線路。往此線路發展的同學,需要一定的技術能力和團隊管理能力。做管理與性格有關,首先得分析自己性格是否適合做管理的工作,這點也是很多做技術出身的人員,轉型時最大的挑戰。有技術經理崗位的存在,一般都是搭配偏需求、產品的專案經理進行專案實施。技術經理的技術可以不用深入研究,但是需要具備一定的廣度和專案開發經驗。
4、專案經理,是往管理的方向發展的職業線路,一般專案經理主要側重專案管理工作,專案經理很關鍵的能力就是計劃、溝通及組織協調的能力。溝通和表達是開發人員短柄,所以想往此線路發展的同學,從日常的工作、生活中就得逐步加強鍛鍊這方面能力,其次學習一些專案管理的知識,至於你適合哪種方向,還要看你個人能力把。
-
7 # 職場操作手冊
首先說明下:
JAVA語言現在是移動網際網路的主流語言;個人認為移動網際網路有很好的發展趨勢;
另外,作為程式開發著不能侷限在一個程式語言裡。隨著5G技術的應用越來越廣泛職能硬體也將很快進入發展的風口階段,然而職能硬體底層開發所需要使用的程式語言更多的是使用c語言及c++語言。
所以建議在提升java語言的學習同時應該也提升學習c、c++語言的學習能力。
還有就是無論是移動網際網路還是PC網際網路以及職能硬體只要產生使用者、服務商互動都需要基於伺服器的使用,對於一名更高階程式設計師來說伺服器的運維、框架的搭建、資料庫的建立這些都是必要的能力,建議早點學習及這方法的知識。
-
8 # IT人劉俊明
當前的網際網路領域正處在結構調整的時期,從大的發展趨勢來說,正在從消費網際網路向產業網際網路轉移,這個過程對於Java程式設計師的影響主要集中在三個方面,其一是技術升級要求;其二是行業經驗要求;其三是創新要求。
雖然Java語言是全場景開發語言,而且在生產環境下采用Java會明顯降低開發風險,但是目前有大量的Java程式設計師存在技術結構陳舊的問題,比如不少Java程式設計師依然沒有掌握大資料、雲計算等開發技術,而這些技術未來的應用場景會不斷增加,釋放出來的機會也會越來越多。所以,對於Java程式設計師來說,如何及時進行技術升級是必須要思考的問題。
行業經驗對於Java程式設計師的發展也會起到非常關鍵的作用,尤其在產業網際網路階段,掌握一定的行業經驗能夠明顯提升Java程式設計師的崗位競爭力。當前雲計算技術正處在從IaaS向PaaS和SaaS發展的過程中,未來雲計算平臺必然會做行業垂直整合,這個過程會明顯降低軟體開發的技術難度,而此時行業經驗將成為程式設計師能否高效開發的關鍵因素。所以,Java程式設計師應該在工作崗位上積累更多的行業經驗。
最後,在大資料、雲計算和物聯網技術的推動下,程式設計師自身的創新能力也將越來越受到關注,尤其在雲計算技術的推動下,未來大量的應用級程式設計師將向研發級程式設計師方向升級,而研發級程式設計師的核心能力就是創新能力。對於初級Java程式設計師來說,要想培養自身的創新能力,讀研是個不錯的選擇。
回覆列表
當今世界缺不了網際網路,寒冬只是針對混日子的人,真正有真本事,能創造價值的人是沒有寒冬的,所以大家不要一直擔心這擔心那,應該不斷的提高自己,相信寒冬永遠不會跟你有關係!