對于現(xiàn)如今的互聯(lián)網(wǎng)環(huán)境,JAVA程序員該如何自處?
網(wǎng)友解答: 這個問題很適合搞過多年Java程序員來回答,我是其中的一個。先看現(xiàn)如今的環(huán)境?,F(xiàn)在2019年初,科技行業(yè)的寒冬,很多公司開始收縮招聘,比如京東、阿里,傳聞華為也是如此。下面是
這個問題很適合搞過多年Java程序員來回答,我是其中的一個。
先看現(xiàn)如今的環(huán)境。現(xiàn)在2019年初,科技行業(yè)的寒冬,很多公司開始收縮招聘,比如京東、阿里,傳聞華為也是如此。
下面是我的私人建議,供參考。覺得有點價值的請點個贊,編碼不易,碼字不易,我非搬運工,全是原創(chuàng),也歡迎在底下留言,我會盡可能地回復(fù)你。
一、縱深發(fā)展,將Java做精做深Java技術(shù)路線圖:初級開發(fā)工程師 - 高級開發(fā)工程師 - 架構(gòu)師 - 資深架構(gòu)師 - CTO。
1、底層能力:
JVM:核心知識、性能調(diào)優(yōu)、內(nèi)存管理和調(diào)優(yōu)、程序編譯和優(yōu)化等
常用軟件:Tomcat/Jetty的運行機制和性能優(yōu)化、Mysql/Mariadb的底層機制和調(diào)優(yōu)
Linux:不是會幾個命令行,簡單安裝某個包就行,而是精通和會調(diào)優(yōu)
Java語言和程序:代碼高效低冗余,高內(nèi)聚低耦合;程序性能優(yōu)化;線程安全,異步通信編程;緊跟最新版本,比如Java 11;精通Java 8中的特性:函數(shù)式編程,Lambda等等
2、精通使用各種工具:
編譯和第三方包管理等:Maven/Gradle
IDE:Eclipse/IntelliJ IDEA
CI/CD:Jenkins等持續(xù)集成和部署工具
源碼管理:Git
代碼質(zhì)量控制:Sonar、PMD、Findbugs
敏捷開發(fā)管理:禪道等
3、應(yīng)用框架能力:
Spring:整體體系和設(shè)計思想;IOC、AOP;源碼分析;Spring MVC;事務(wù)策略
Mybatis:源碼分析;配置和Mapper;性能優(yōu)化
4、架構(gòu)能力:
分布式架構(gòu):精通原理、策略和中間件;數(shù)據(jù)一致性問題
微服務(wù):這塊尤其要精通,因為現(xiàn)在都是采用微服務(wù)的架構(gòu)。建議選擇Spring Cloud,因為其技術(shù)覆蓋全面;Docker;谷歌的Kubernetes
設(shè)計模式:精通常用設(shè)計模式:代理、工廠、單例等并應(yīng)用
熟悉:SaaS,云計算,REST,建模等
5、技術(shù)領(lǐng)導(dǎo)能力:
項目管理:敏捷開發(fā),Scrum和看板模式;進度管理和風(fēng)險控制
團隊建設(shè):團隊激勵和懲罰;團建活動;文化氛圍維護;成員技術(shù)實力提升
合作:和其他部門或第三方
二、橫向擴展,學(xué)習(xí)該時代需要的新技術(shù):AI、區(qū)塊鏈、大數(shù)據(jù)純粹的Java實力并不能完全保證你的競爭力。
設(shè)想一下,你面試心儀的職位,面試官問你:你有AI或區(qū)塊鏈經(jīng)驗嗎?你說沒有。那面試官必定會說:我們需要有這方面經(jīng)驗的人,你不合適。
這塊要深入說,又要較大篇幅來講,點到為止吧,因為該問題的重點是Java。
三、(可選)開辟其他賽道:寫技術(shù)博客、做自媒體這個世界總是有2種類型的人才:通才或者專才。
每個人都有自己適合的事情,比如技術(shù)很好的,卻不善于溝通和表達;有的人喜歡發(fā)言,可以在這個領(lǐng)域試試。
四、(謹慎)拋棄Java,擁抱其他平臺要拋棄存量總是讓人很恐懼,因為沉沒成本太大。所以,對于這個建議,請仔細思考,并謹慎對待。對于Java存量不大的人,可以多想想。
不可否認,Java目前還是編程語言里面的第一名。但是,作為一門老語言,在目前互聯(lián)網(wǎng)社會要求越來越快,越來越輕的情況下,疲態(tài)漸顯。
在AI和區(qū)塊鏈領(lǐng)域,Python和Go崛起了;應(yīng)用型的互聯(lián)網(wǎng)公司,更青睞Nodejs。
Java仍然強勢,但在走下坡路;而另外一些相反。
所以,你需要深入做數(shù)據(jù)分析,再看自己的喜好,該舍棄的時候就需要勇敢地舍棄。
網(wǎng)友解答:謝謝邀請!
2019年的互聯(lián)網(wǎng)環(huán)境相對以往來說要更復(fù)雜一些,互聯(lián)網(wǎng)領(lǐng)域也正在經(jīng)歷從消費互聯(lián)網(wǎng)向產(chǎn)業(yè)互聯(lián)網(wǎng)轉(zhuǎn)型的陣痛期。其實不少公司從2018年開始已經(jīng)在陸續(xù)進行結(jié)構(gòu)化調(diào)整,這些調(diào)整中的重要內(nèi)容就是崗位調(diào)整,而崗位調(diào)整對于程序員來說既是機會,也是挑戰(zhàn)。
崗位調(diào)整的機會在于新的發(fā)展方向也許會有較大的成長空間,尤其在當(dāng)下產(chǎn)業(yè)互聯(lián)網(wǎng)發(fā)展的初期,大量的崗位將陸續(xù)釋放出來,一些涉及到大數(shù)據(jù)、云計算、物聯(lián)網(wǎng)、人工智能等內(nèi)容的工作崗位往往比較受歡迎,薪資待遇也比較高。從這個角度來看,大數(shù)據(jù)等相關(guān)領(lǐng)域的發(fā)展對于Java程序員來說是重要的機會。
雖然產(chǎn)業(yè)互聯(lián)網(wǎng)的發(fā)展會帶來大量的機會,但同時也會帶來一定的挑戰(zhàn),尤其在行業(yè)發(fā)展的初期,更是如此。目前大數(shù)據(jù)、人工智能等產(chǎn)品面臨著落地應(yīng)用的問題,要想把這些互聯(lián)網(wǎng)技術(shù)落地到傳統(tǒng)行業(yè),需要突破大量的行業(yè)發(fā)展壁壘,而這個過程往往是比較艱難的,這個過程也必將形成一定的淘汰,有的公司會生存下來,而有的則會慢慢轉(zhuǎn)型。因此,產(chǎn)業(yè)互聯(lián)網(wǎng)發(fā)展的過程對于程序員來說,也是一個重大的挑戰(zhàn)。
對于Java程序員來說,在當(dāng)前的環(huán)境下,應(yīng)該做好三件事:
第一:立足崗位緊跟技術(shù)發(fā)展趨勢。Java程序員一方面要做好本職工作,另一方面也要緊跟技術(shù)發(fā)展趨勢,尤其是大數(shù)據(jù)相關(guān)方向。大數(shù)據(jù)是未來Java程序員的重要發(fā)展方向之一,應(yīng)該做好提前準(zhǔn)備。
第二:掌握行業(yè)動態(tài)。對于Java程序員來說,一方面要埋頭苦干,另一方面也要抬頭思考,掌握行業(yè)動態(tài),對自己的職場規(guī)劃隨時做出相應(yīng)的調(diào)整。尤其要關(guān)注物聯(lián)網(wǎng)、人工智能領(lǐng)域的行業(yè)動態(tài),這是產(chǎn)業(yè)互聯(lián)網(wǎng)的重要技術(shù)領(lǐng)域。
第三:了解行業(yè)知識。在產(chǎn)業(yè)互聯(lián)網(wǎng)階段,行業(yè)知識的重要性將得到進一步的重視,因為要想破除傳統(tǒng)行業(yè)的發(fā)展壁壘,一定要有行業(yè)人士的參與。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計算機專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)在酷米寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)方面的問題,也可以咨詢我,謝謝!