只有你努力 堅持 堅持 就們沒有問題。我本人33歲轉(zhuǎn)Java開發(fā)從hello world開始 。10年過去已經(jīng)是加拿大一家公司CTO 但天天仍然寫代碼。為了第一份開發(fā)工作 把整本英文版java core,設(shè)計模式,算法 oracle oca 全部背下來 手機(jī)里也裝了 沒事就背誦 理解 。不理解的立馬上機(jī)寫代碼。天天白板手寫算法。沒有工作就到處求人免費幫人做系統(tǒng)。激情燃燒的歲月。所謂歲數(shù)精力不夠我個人覺得是偽命題。一個奔五的程序員仍然感覺比公司90后精力還充沛,算下來總結(jié)一下比起年輕人 最大優(yōu)勢就是學(xué)習(xí)能力和解決問題能力強(qiáng)。真心感覺成功人在于99%努力和120%的堅持。
作為一名從業(yè)多年的程序員,也出版過Java編程書籍,所以我來回答一下這個問題。
Java語言經(jīng)過多年的發(fā)展已經(jīng)建立了一個龐大的生態(tài)體系,在Web開發(fā)、大數(shù)據(jù)開發(fā)、Android開發(fā)等領(lǐng)域都有廣泛的應(yīng)用,而且Java語言憑借穩(wěn)定的性能表現(xiàn)和較強(qiáng)的擴(kuò)展能力也是不少大型互聯(lián)網(wǎng)平臺的重要選擇,所以當(dāng)前學(xué)習(xí)Java是不錯的選擇。30歲開始學(xué)習(xí)Java雖然不算早,但也不算太晚,還是具備一定崗位競爭力的。
由于Java語言有不同的應(yīng)用方向,不同的方向需要具備的知識結(jié)構(gòu)也并不相同,所以相應(yīng)的學(xué)習(xí)時間也有一定的區(qū)別。對于自學(xué)者來說,以Web方向來制定學(xué)習(xí)計劃是比較現(xiàn)實的,一方面Web開發(fā)容易學(xué)習(xí),另一方面Web開發(fā)的相關(guān)崗位也比較多。
Web開發(fā)通常需要學(xué)習(xí)三部分內(nèi)容,第一部分是Java的基礎(chǔ)語法部分,這部分內(nèi)容是學(xué)習(xí)的重點,涉及到大量的抽象概念,這部分學(xué)習(xí)時間通常在2到4周左右。第二部分是Web開發(fā)基礎(chǔ),這部分內(nèi)容涉及到后端開發(fā)(數(shù)據(jù)庫開發(fā)等),同時也涉及到一部分前端開發(fā)內(nèi)容(Html、CSS和JavaScript),雖然前端開發(fā)不算重點,但是也需要有一個系統(tǒng)的了解,這部分學(xué)習(xí)時間通常需要4周左右。第三部分是開發(fā)框架的學(xué)習(xí),目前比較流行的開發(fā)框架是Spring系列,包括Spring Boot、SpringMVC、SpringCloud等,這部分的學(xué)習(xí)時間大概也在4周左右。總的來說,如果順利的話,大部分自學(xué)者在3個月左右能夠完成Web開發(fā)的學(xué)習(xí)。
在完成Java基礎(chǔ)部分學(xué)習(xí)之后,如果想從事開發(fā)工作,最好先進(jìn)行一段時間的項目實習(xí),通過實習(xí)一方面可以積累大量的開發(fā)經(jīng)驗,另一方面也不會有太大的工作壓力,不少程序員都有過實習(xí)的經(jīng)歷。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)方面的問題,或者考研方面的問題,都可以咨詢我,謝謝!
我做了十年的java給你提點建議,想學(xué)好任何一門編程語言牽扯到的知識體系是相當(dāng)龐大的,如果你之前對操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)和基本的算法完全沒有基礎(chǔ),學(xué)習(xí)編程是比較困難的。
java入門會比C簡單一點,因為不涉及到操作系統(tǒng)層面,不用關(guān)心底層的知識,跟硬件也無關(guān),但這樣學(xué)完一個基礎(chǔ)可以說是什么都寫不出來,即使能寫也是寫出來和畢業(yè)生差不多的代碼,可能還不如,代碼質(zhì)量跟你的計算機(jī)知識體系和經(jīng)驗掛鉤。如果日后想往技術(shù)深度方向發(fā)展,就必須學(xué)習(xí)底層的東西,否則永遠(yuǎn)都是擰螺絲的層面,做個幾年到了瓶頸又得轉(zhuǎn)行,到時候估計也轉(zhuǎn)不動了。說到這里你可能會說不往技術(shù)方向發(fā)展往管理方向發(fā)展?我告訴你技術(shù)方面的管理對管理者的技術(shù)要求更高,達(dá)到一定技術(shù)深度是最基本的要求。
不要相信培訓(xùn)機(jī)構(gòu)的速成,多數(shù)好一點的大學(xué)畢業(yè)生都不會選擇去培訓(xùn),培訓(xùn)只是教個基礎(chǔ),工作才是真正實踐的東西,從去年開始互聯(lián)網(wǎng)寒冬之后,現(xiàn)在java崗的招聘要求是越來越高了,先不說你有大批畢業(yè)生和你競爭,30以上找開發(fā)崗位是有一定難度的,除非你技術(shù)特別牛逼,否則企業(yè)寧愿要畢業(yè)生,因為成本低精力還旺盛,30歲在精力方面比不過畢業(yè)生的,還有學(xué)歷也是一道門檻,現(xiàn)在互聯(lián)網(wǎng)公司基本本科起步,好一點的需要985和211,必須是第一學(xué)歷,不知道你學(xué)歷上有沒有優(yōu)勢。
如果你決定選擇這條路那就必須辛苦沉淀幾年好好學(xué)習(xí)并研究下深層的東西才有可能站穩(wěn)腳跟,如果你不反感外包公司當(dāng)我沒說,想學(xué)東西的就往互聯(lián)網(wǎng)公司發(fā)展,技術(shù)時刻在變,革新太快,今年用的東西明年可能就被淘汰,保持不斷的學(xué)習(xí)才能站穩(wěn),希望你選擇之前慎重考慮。