-
1 # zhangyiant
-
2 # 慕司專屬的小司
可以多看Java高併發、jvm等之類的,比如你可以看一下《深入理解Java虛擬機器 jvm高特性與最佳實踐》
-
3 # 辛貳柒
這個問題其實分兩種情況,第一種是個人基礎很紮實,第二種是個人基礎一般。第一種建議多看原始碼,多專注系統架構類書籍的研讀和實戰。第二種建議平時多注意基礎修煉,原始碼也看看,多動手操作,看看基礎類書籍,熟悉框架的基本原理。
-
4 # De神評6
感謝邀請。Ted演講中說過。如果你什麼都不會。每天堅持幾個小時,只要20個小時就會達到你吃驚的地步。心無旁騖,學習時候遠離任何東西,剛開始學習會遇到很多困難覺得自己很笨,其實每一個人剛開始都會遇到大量困難和障礙,只要堅持20小時。你就會學到很多了
-
5 # 使用者103334922367
對於程式設計師我想許多人都走過那段路,剛到一家公司導師給的小練習,在公司的大專案里加點小功能,需求覺得挺簡單,自己設計流程後發現自己的思路和實現都有很多問題,訪問資料庫也老是拋異常,覺得自己挺差勁的,不要小看那些小功能, 小功能其實也包含很多技術的,比如類和變數的命名,怎麼樣才能讓類或者方法的名字更加實用呢,你是怎麼命名的,資料庫的表是怎麼設計的,程式碼是最最佳化的嗎,eclipse 的一般設定都知道嗎,還有快捷鍵, 你是實習生當然不會給你安排比較重要的工作, 你要是老闆你會放心嗎...... 還有你學的框架什麼的 都是理論吧, 讓你說出spring hibernate 什麼的 原理 你應該能說的出來,但是 讓你 不用eclipse去搭建一個 web 專案的時候,你能在10分鐘搭建完成嗎, 還有 各種配置檔案,隨時需要的時候 你能馬上搞定嗎, 也許你組長馬上喊你 配置一個 log4j 的配置,或者修改部分原來的配置,你能馬上搞定嗎,..... 這些看起來都是小事,但是需要非常熟悉才能快速搞定,......其他小事情就更多了, svn linux maven 虛擬機器什麼的,都熟悉嗎, 慢慢來, 做一個專案不是光靠敲程式碼就搞定了的....... 還有,至於你設計流程,我想這不可能吧,公司怎麼可能讓你去設計呢,一把都是經理或者組長 召集大家開會搞定的,還有 UML 類圖 時序圖什麼的,我覺得不可能是由你來搞的,因為這涉及到 設計模式什麼的,不是想當然的去畫的,之後可能要重構好幾次 才動手去敲程式碼..........加油吧~, 建議你自己弄個練習專案,從搭建到豐富功能,一點一點來,不要貪快......還有多請教前輩吧 請勿著急。努力吧騷年......
-
6 # 郭德宇
不好意思,今天有點事,沒能第一時間回覆,實在抱歉,來吧,我以我個人的經歷來回答這個問題,我的職業路徑是從java工程師-->高階工程師-->專案經理-->架構師-->技術總監這樣一個經歷。對於java程式設計師晉升的問題我個人覺得應該從如下:一、Java基礎要紮實其實現在回頭看呢,java基礎知識呢包含不多,但是這些知識要深入掌握,卻是需要大量的動腦和動手,通常情況,即使做到高階工程師,很多對底層的邏輯或者忘記或者不知,其實這是硬傷,充分說明你的知識沒有豐富感、不豐滿,舉個例子,你看到一個臉面長的很漂亮的女孩,可是她骨瘦如材、個頭矮小,我相信你的興趣會銳減。這就是比喻職業素養的問題,IT是個專業素能非常強的職業,沒有職業素養,你覺得會有多大的發展呢?我試問web前端工程師,你們整天和瀏覽器打交道,你們瞭解瀏覽器的發展歷史嗎?俗話說“男人關心女人的過去,女人關心男人的未來”,瀏覽器和你相處的時間比你和你漂友相處的時間還長,請問你瞭解它的歷史嗎?這是愛與不愛的問題,即是職業不職業的問題!所以動手也要動腦去愛它,不愛就換吧!二、深入學習Java生態相關框架和中介軟體--精通spring無論框架還是中介軟體,其實都是工具,都是為取代程式設計師體力勞動的而被封裝的一個工具,對於這種工具只要深入理解spring技術框架,其他基本都懂了,至少即使沒有接觸過的,他們的套路你也會懂,spring是一個思想大雜燴。ORM沒有嗎?有!不同時的是和mybatis實現方式不一樣,但是思想都是很接近的,SOA沒有嗎,有!而且效能還很高。mvc就不用說了,目前沒有哪個企業不用到spring mvc的,struts已經被邊緣化。spring boot,spring cloud已經在至少金融行業大量普遍使用,其實無論哪個框架,市場上都有相關的產品,比如spring cloud,市場上ice
、thrift等等都有不錯的選擇,但是思想差距不遠。瞭解一個,其他基本手到擒來!
---------三、業務量推動技術
其實IT相關技術,我一直相信一個問題,誰的業務量大誰的技術就牛逼。一個系統整天對面對一個使用者時,我作為一個技術人員我怎麼寫程式碼都行,我採用什麼樣的策略都可以。可是當一個平臺每秒鐘訪問量在10w的時候我就脫變了。我就會想到用快取資料庫、用cdn、用mq、用負載等等。當這些都解決不了問題我有昇華了,我就是不是技術了,而是上升到一個策略分析師了,比如雙十一各大平臺的網頁必須靜態(其他時間可能是動態化),這就是策略。12306當面對訂票高峰時為什麼需要排隊,這是策略,不採用策略,他從技術上也解決不了!
-
7 # 翰林融媒體
能把客戶需要的功能搞出來就算是高手啦,什麼程式碼規不規範、資料庫設計的合理不合理,都得服從功能。把功能搞得讓使用者滿意,系統使用起來方便順手,符合使用者日常工作習慣,那就是好程式設計師。你的程式碼再簡潔再規範,對使用者都關係不大,你雖然節約了伺服器資源,程式執行效率較高,但是使用者基本感覺不到。如果功能做不到位,為使用者著想的不夠,使用者是完全有感受的,比如多欄位錄入問題,使用者的習慣和期望是每輸入完成一個欄位後回車焦點就轉到下一個文字框,但是不少程式設計師開發的管理系統都沒做到這點,而是輸完一個欄位後必須右手離開鍵盤去操做滑鼠,用滑鼠把游標切換到下一個文字框,這種程式程式碼既使再規範又能怎麼樣?還有就是一些程式設計師喜歡畫蛇添足,原本很簡單的需求,程式設計時卻把功能搞得很囉嗦,比如註冊、登入問題,要這個要那個的,把使用者搞得很煩。
能盡心盡力滿足使用者要求,就是好程式設計師。能讓使用者滿意,你就是高手。
程式設計師快速成長的最好途經就是為使用者著想,一個好的程式設計師不會寬恕自己的作品存在一絲一毫的瑕疵。具備了基本知識和技能後,多開發大型的綜合管理系統就是最好的成長途徑,遇到難題不要繞著走,要努力突破。
再有就是軟體介面問題,介面就是軟體的顏值,人人都喜歡美的東西,介面清爽,美觀大方,色調搭配得當,能增加使用者第一好感,首先給使用者一個賞心悅目的愉快,能增加使用者的良好體驗。
-
8 # 拜物主義
多寫程式碼
多寫程式碼
多寫程式碼
不是無腦寫。而是要明確你寫的是什麼,多查文件資料。不要留任何疑問。要有刨根問底的精神,但也不要死鑽牛角尖
-
9 # 千鋒頭號粉絲
java程式設計師,從小白到高階程式設計師的轉變,並沒有什麼捷徑可言,都是時間的沉澱,經驗的積累,知識的不斷豐富,技術的不斷學習。程式設計師三五年後的發展好與不好,其實都是取決於自己的未來這三個階段你怎麼度過?!
第一階段:三年
我認為三年對於程式設計師來說是第一個門檻,這個階段將會淘汰掉一批不適合寫程式碼的人。這一階段,我們走出校園,邁入社會,成為一名程式設計師,正式從書本 上的內容邁向真正的企業級開發。我們知道如何團隊協作、如何使用專案管理工具、專案版本如何控制、我們寫的程式碼如何測試如何在線上執行等等,積累了一定的開發經驗,也對程式碼有了一定深入的認識,是一個比較純粹的Coder的階段。
第二階段:五年
五年又是區分程式設計師的第二個門檻。有些人在三年裡,除了完成工作,在空餘時間基本不會研究別的東西,這些人永遠就是個Coder,年紀大一些勢必被更年輕的人給頂替;有些人在三年裡,除了寫程式碼之外,還熱衷於研究各種技術實現細節、看了N多好書、寫一些部落格、在Github上分享技術,這些人在五年 後必然具備在技術上獨當一面的能力並且清楚自己未來的發展方向,從一個Coder逐步走向系統分析師或是架構師,成為專案組中不可或缺的人物。
第三階段:十年
十年又是另一個門檻了,轉行或是繼續做一名程式設計師就在這個節點上。如果在前幾年就抱定不轉行的思路並且為之努力的話,那麼在十年的這個節點上,有些人必然成長為一名對行業有著深入認識、對技術有著深入認識、能從零開始對一個產品進行分析的程式設計師,這樣的人在公司基本擔任的都是CTO、技術專家、首席 架構師等關鍵的職位,這對於自己絕對是一件榮耀的事,當然老闆在經濟上也絕不會虧待你。
1、我到底適不適合當一名程式設計師?
2、我到底應不應該一輩子以程式設計師為職業?
3、我對程式設計到底持有的是一種什麼樣的態度,是夠用就好呢?還是不斷研究?
每一個人都應該有每一個人不一樣的人生,而每個人生的精彩與否是取決於自己,程式設計師的人生也不一定盡是程式碼和bug,需要自己去追求目標,明確自己的職業規劃,對自己的規劃負責併為之努力。
回覆列表
好好學基礎,語法。基礎學得好的話,往上學什麼都會快很多。程式設計師最重要的不是語言,而是解決問題的思路。如何把複雜問題切成多個簡單問題。