① 作為剛入職的java程序員,一年時間內如何提升自己的實力,更有競爭力
剛入職,就意味著你有基礎,但是還沒有到精通,那以下這幾點你要好好看看
1.用好互聯網
在你入行的第一年,肯定會遇到各種各樣的問題,但不用擔心,這些問題其他人肯定也遇到過。
這是一個開源的時代!人們習慣將解決辦法記錄在網上。
越早的學會使用goole尋求幫助,問題就會越早得到解決。(但是在看別的代碼或解決bug的時候,不能直接Ctrl+C,Ctrl+V,要弄明白其中的原理)
2.養成良好的編譯習慣
你是公司的一員,是團隊協作來完成整個項目的,也就是說你的代碼不僅要你自己看得懂,更要讓團隊中的小夥伴和你的領導看得懂。
所以起名稱規范一些,保持代碼結構清晰,多寫一點注釋!
3.基礎理論很重要
如果你只想成為一個普通的碼農,基礎理論知識的確沒那麼重要;
但當你想往上走,想成為一名專業的架構師,數據結構、操作系統原理、資料庫原理等基礎知識是必不可少的,這些基礎知識決定了你能在技術這條路上走多久,走多遠!
4.不斷學習
這不是什麼雞湯,而是程序員界一個殘酷的現實。就拿游戲開發者來說 一個引擎unity3D,幾個月就要更新換代一次,是想,你如果不學新技術根本就無法繼續操作,如果技術一年不跟進,你和unity3D就會形同陌路。任何課程、資料都該看要看。
5.你是一個開發者,而不是一個碼農
很多新人在入行前幾年一直以一個流水線員工的心態做業務,這樣是不行的。
於自身發展來說,長期重復的工作使你接觸不到核心業務,限制你能力的拓深和發展;於企業而言,企業需要的不是只會搬磚的碼農,而是一個開發者。
6.多讀優秀的代碼
山外有山,人外有人。
世界上比你優秀的程序員太多了,想要跟著大神學習進階,還得感謝這個開源的時代。不錯的平台有很多,裡面有很多優秀的程序員們的代碼,只要你需要就可以閱讀。
希望這些建議對你有用,有所收獲。
② 一個java程序員如何從新手慢慢成長
一、首先初識語法的階段,必須要學會怎麼操作對象,操作if和for,操作list set
map,然後是線程、IO和jdbc什麼的,其餘的,若是一時不理解,可以後邊需要時再學。
這階段完了,你可以寫些能在控制台列印出來的小程序,鍛煉下邏輯思維。也就是號稱JAVASE畢業了,其實不過是入門而已,如果要往WEB方向發展,這些倒是基本足夠了。
二、接下來要學HTML JSP SERVLET 資料庫 JAVASCRIPT
TOMCAT,目標,寫出第一個動態網站,也許只是個登陸功能,只能展示下個人資料,但這是很重要的一步,你要弄清楚的是,一個用戶的點擊產生的請求,是從哪裡發起,哪裡接收,哪裡處理,哪裡返回,你得理解瀏覽器和伺服器的關系和分工,cookie和session,request和response。這個是個WEB開發的學習初級階段,這都是些JAVA誕生以來最原始的最官方的WEB開發技術,當然現在真正的項目很少直接採用這些技術了,為了不斷提高技術的易用性、開發效率和可維護性、可擴展性,無數開源項目都是在這些原始技術的基礎上封裝、改進。所以這個階段不要盲目樂觀地跑去找工作或者對實習挑三揀四,你會被打擊到的。
三、初始階段完成,開始進入WEB開發的正題,首先是傳說中的三大框架,struts hibernate
spring成為熟練的增刪改查程序員是必須的,在這個階段你還要理解為什麼要用這仨而不是那些JSP SERVLET
JDBC,你要體會到寫MVC、三層架構的好處。這個階段不要輕易質疑三大框架的價值,也許剛開始你會覺得麻煩,覺得他們有時候是多此一舉,一兩年後回過頭來你會覺得少了這些框架你已經很難幹活了。這個階段還要避免的心態是能熟練地增刪改查了,就認為寫程序不過如此,然後往簡歷上填個精通,這也是新手面試被批得體無完膚的原因之一。如果你學得好,這會應該能熟練地寫個博客啊,小論壇啊之類的WEB項目了,也就是達到了就業的基本要求。
接下來就沒有固定模式了,你的第一家企業對你的影響會很大,在這頭一年裡,定個標准吧,你應該能做到的有:
1、把一些常用的瑣碎技術學會了,比如xml的作用和實際運用,如何操作文件,如何運用日誌,如何簡化封裝常用的工具類,比如日期操作、編碼處理、分頁模塊等等,這些小東西會佔用你大量的時間去處理摸索。
2、把資料庫用好。資料庫不是會增刪改查就可以了的,你要關注事務設置是否合理,是否有可能產生臟數據,是否要動用樂觀鎖悲觀鎖等等,重要數據出了錯,無論是技術上還是業務上都是很麻煩的事。
3、懂得什麼是集群,什麼是分布式,懂得怎麼向別的系統發請求,交換數據,webservice。
4、如果你也寫頁面,你要會用JAVASCRIPT,不一定要很深入,你可以用JQUERY代替,做到無刷新的頁面操作以及AJAX請求。
第一年能達到這個程度,你絕對已經在平均水準之上了。
下一個階段,你應該考慮你的代碼質量了。
1、多線程和非同步、並發的概念會忽然變得很重要,因為在一個對性能有要求的系統里,是不會允許你把各種瑣事都排著隊一件件去辦的,你不能老寫些a方法調b方法再調c方法再調d方法然後返回的代碼。
2、你會發現資料庫性能實在不行,出於不甘現狀,或者趕時髦,你該去了解nosql了,memcached redis
mongodb,眼花繚亂,沒關系,試著用用,能很好地緩解mysql之類關系資料庫的壓力。
3、出於公司某些業務需要,你可能會鑽研一個特定技術領域,比如全文搜索技術,lucene\solr,比如工作流jbpm,比如許可權系統,單點登陸之類的,又或者某些特定業務領域的演算法研究,這些是你的加分項。
4、你開始發現你的代碼很亂,久了以後自己都看不懂,重復的,難以重用的代碼堆積如山,不想維護,BUG百出。於是你要開始重視設計模式,合理地改造下自己的代碼習慣,不再被僵化的SSH,MVC三層架構束縛住。
5、Google和各種資料是你進步的動力,極少再遇到必須請教別人才能解決的問題,如果你這個階段還老是問別人,你的技術生涯也就快到頭了。
這個階段,如果你的交際和自我推銷能力不是太差,你的收入將是白領水平,至少接近了。
接下來又是個全新的階段。
1、你要讀讀優秀開源項目的源碼,你要搞懂一些當年不懂的基礎知識,你開始理解thinking in
java的精髓,你能寫一些底層的代碼,有時還會覺得自己封裝的比某些開源工具更好用更簡單。
2、WEB的難點和重點永遠都在於性能、負載能力上,而現在網路的發達造成了數據量和操作密度的大大上升,硬體卻沒有相應的進步,你得試著更好地運用更多的伺服器來協同工作,從WEB端到服務端到資料庫,全都需要集群,需要分布式,需要合理的控制數據的流向,掌握好網站上下,一大堆機器的平衡,找出性能的瓶頸,找出穩定性和安全性的瓶頸,硬體出現故障,第三方技術出現錯誤,將被當成家常便飯融入到你的系統和代碼里仔細考慮。
3、開始覺得方案無比地重要,一將無能累死千軍將不斷應驗,一個不好的設計,一個不好的方案,會讓一群優秀的程序員工作成果大打折扣。你要關注架構知識,不能再滿足於SSH三層架構到底。領域驅動設計,面向事件開發,敏捷開發等等一系列的思想在關鍵時刻能決定你項目的生死,這個階段不再有標准範例讓你照抄,你只知道思想和原理,實踐卻需要自己不斷嘗試和改進。
4、多關注各種雜七雜八的開源技術,有些你可能前面已經接觸過了,和通信有關的,和集成開發環境有關的,和架構有關的,各個領域你都應該能信口說上幾個主流技術,雖然你可能只是聽說過,了解,但關鍵時刻你得知道如何去選擇技術,並快速掌握它。你還會去考慮嘗試下別的語言,這里不是說轉向什麼C++
C#之類的,那和JAVA程序員不相干,我說的是一些運行於JVM之上的語言,比如scala和groovy,初識他們時你會覺得java真的老了。但當你回到一個綜合性的大型項目中,又會覺得java積累下來的整個體系技術是如此完善,就像一個工業化標准一樣。
你能把這個階段實踐好,勝任項目經理,乃至中小公司的技術總監都是可以的。
③ 對於新入行的程序員來說有哪些好的建議
首先就是該明確自己的發展方向和道路,要是一直停留在舒適區,那就永遠改變不了。另一個就是其實在互聯網行業,是不是科班,本科或者專科,這些在幾年後都沒那麼重要。更重要的還是能力。有能力就是學歷低點也沒什麼。
在工作中發現知識不夠用了,面臨工作上的壓力,不如先提升自己的技術水平和實際操作能力,這才能夠在就業中起到一個實質性的推進作用。有的已經參加過培訓的已經工作了的,這樣的程序員也不能鬆懈,因為在工作中還是有很多東西是需要自己學習的。所以小夥伴們知道進入職場該如何做了吧!
④ 曲靖java培訓學校告訴你初級Java程序員成長的方法
對於初級Java程序員來說,剛開始接觸Java工作時,覺得什麼都很新鮮,隨著工作時間變長了,發現新鮮感慢慢地消失了,如果你覺得你工作幾年後,還是願意跟新入行的Java程序員一樣,那麼接下來你就不用往下看。今天就跟北大青鳥http://www.kmbdqn.cn/一起來看看,初級Java程序員如何成長為高級?
初級Java程序員如何成長為高級?
1.堅持學習
初級Java程序員要想自己快速向高級Java程序員靠攏,唯一的辦法就是堅持學習,你的Java技能變得更加強硬,你才能夠從初級Java程序員進行升級,怎麼學習,你可以經常瀏覽Java技術博客、Java技術論壇,也可以跟你公司的前輩學習,學習方式很多。
2.累積經驗
在Java行業中,工作經驗是特別的重要,我們知道剛入行的Java程序員,跟入行1-2年、3-5年擁有真本身的Java程序員的薪資待遇存在天壤之別,你想從初級Java程序員成長為高級Java程序員,那麼你必須累積一定的Java工作經驗,行業經驗、技術經驗。
3.保持上進
從一個初級Java程序員到一個高級Java程序員,這不是一個容易的過程,每個人所花的時間也不一樣的,得要好幾年這是確定的。很多朋友覺得這個過程太漫長了,很多時候都是愛誰誰,完成當下工作就不錯了,其實這就是心態出了問題,缺乏了上進的心,所以要保持上進的心。
⑤ 北大青鳥設計培訓:初級Java程序員成長的方法
對於初級Java程序員來說,剛開始接觸Java工作時,覺得什麼都很新鮮,隨著工作時間變長了,發現新鮮感慢慢地消失了,如果你覺得你工作幾年後,還是願意跟新入行的Java程序員一樣,那麼接下來你就不用往下看。
今天就跟北大青鳥http://www.kmbdqn.cn/一起來看看,初級Java程序員如何成長為高級?初級Java程序員如何成長為高級?1.堅持學習初級Java程序員要想自己快速向高級Java程序員靠攏,唯一的辦法就是堅持學習,你的Java技能變得更加強硬,你才能夠從初級Java程序員進行升級,怎麼學習,你可以經常瀏覽Java技術博客、Java技術論壇,也可以跟你公司的前輩學習,學習方式很多。
2.累積經驗在Java行業中,工作經驗是特別的重要,我們知道剛入行的Java程序員,跟入行1-2年、3-5年擁有真本身的Java程序員的薪資待遇存在天壤之別,你想從初級Java程序員成長為高級Java程序員,那麼你必須累積一定的Java工作經驗,行業經驗、技術經驗。
3.保持上進從一個初級Java程序員到一個高級Java程序員,這不是一個容易的過程,每個人所花的時間也不一樣的,得要好幾年這是確定的。
很多朋友覺得這個過程太漫長了,很多時候都是愛誰誰,完成當下工作就不錯了,其實這就是心態出了問題,缺乏了上進的心,所以要保持上進的心。
⑥ 剛踏入職場的程序員,如何快速踏實地提升自己的能力
程序員提升主要靠實踐,跟一個完整的項目能最大限度的提升項目能力,以後找工作不用愁啊,現實工作中很難達成,你可以去找找培養這方面人才的,提升一下自己,你看看願碼ChainDesk,有你需要的
⑦ 程序員如何進階
程序員是一個沒有極限的職業,所以要成為一個成功的程序員,你就需要不斷的超越極限。在程序員職業生涯的開始階段,他們將面臨許多挑戰,面對困境,他們之中有一些人將會放棄,而只有少數人會堅持到底,並成為這個領域的領頭羊。
1.學習新技術
隨著新技術的不斷進步,我們學到和實施的技術會很快地過時。所以,作為一個程序員,你就需要了解與學習這些新技術,保持與時俱進。出現的這些所謂的新技術通常由一些進程和語法變化而構成,但邏輯是相通的,所以你可以很快地掌握,不要害怕去學習。
2.調試技巧
程序員不但需要創建代碼,當軟體未能按照預期方式工作時,程序員還必須能夠快速而有效地解決問題。
3.解決問題的技巧
當一名程序員獲得項目時,會直接寫代碼。但一名進階的程序員會試圖找出代碼出現問題的根源,並通知團隊領導或項目負責人。因為有時在文檔化項目需求並啟動項目後,甚至在完成項目後,我們才會在項目中遇到一些問題。所以最好在出現問題之前先找到問題。最好可以快速地找到解決問題的方法。
4.對工作的熱情
我們的工作時間大多為朝九晚五,但是當你對工作迸發激情時,那麼不要到了休息日就將工作束之高閣。一直工作直到完成它。當然,我的意思不是說如果你沒有解決方案,還得成天垂頭喪氣對著電腦,我的意思是如果你已經接近於完成的時候,那麼索性一鼓作氣搞定吧。
⑧ 程序員入行後怎麼提升自己
以下是我總結的五個方面,從上到下都是個有序的漸進過程,缺一不可!希望對你有幫助!
1. 通過分析目前的現狀快速定位自我
什麼是分析現狀?這里的分析現狀就是指充分明白目前自己在公司的位置,整個市場中的價值,自己的技術程度後。
當我們發現我們的技術落後了,待遇低於市場了,或者職級沒得到發展,都可以視為對自己現狀的分析認知,在這種先前條件下才能去定位自己。
這種定位手段可以通過社群社交,同行交流,博客技術論壇介紹的東西對比,更粗暴的方式就是面試,這樣才能更好的完全的認識自己的不足,自己的短板,才能讓自己掌握哪些方面需要去學習,從而得到有效的提高。
從宏觀層面講
現從宏觀來講,包括你的職級,你所做事情的影響力。如果你是領導,那麼你有一定的主導權,你就應該讓這種領導效益做到最大化,提高自身效率,提高團隊協作,盡可能的讓下屬也得到提高,只有個人和團隊一起發展,才證明你在發展。
如果事實不是這樣,那麼你確實是需要自我反省,自我認知了,不是做到領導就能覺得自己很厲害,相反你也要和其他領導做比較,是不是他的團隊,人員更穩定,產出多,口碑好呢?
如果你非領導,只是一個核心開發,那麼你也必須做到你負責的東西,如果你負責的這個框架,那麼應該讓這個框架做到穩定,易拓展,方便調用,甚至更多!
如果你開發的這個模塊不夠好用,甚至造成了其它新增的問題,那麼你也要重新自我認識,技術高低並不是說你能寫出多牛逼的框架和項目,而是你能做到每一件事完美解決。
從微觀層面講
微觀相對宏觀更細化,如果是領導,你自己是否做到了一個流程中任何環節的把關,推進和收尾總結,如果你有任何一點覺得交給下屬辦不好的事情,甚至覺得這個人無用。
那麼你就應該摒棄這個可怕的思想,別人不是給你打工,你也是在給自己打工,如果下屬能完全解決你交代的問題,那麼你是不是該下崗了。
作為領導,情緒控制力,溝通能力,領導力,協作力,和為人口碑,都是影響你上升的關鍵因素,如果有不夠好的地方,那麼你已經定位到自己了。
作為普通的開發,新的框架你是否了解,項目現存的業務模式你是否熟悉,交流總結你是否做到,技術文檔有去編寫,其他技術方向有去拓展等,都能對比出自己不足的地方,這種通過對比的方法論是提高自我審視的最好辦法。
2. 拓展自己的知識網路拓撲圖,持續提高知識
上面我們通過通過分析目前的現狀,可以快速定位出自我 。當你更好的認清自己的時候,你是時候去改變了,如果你缺乏溝通,你可以加強交流,試著多去參加群體活動。
如果你缺乏對新技術的掌握,可以去瀏覽各種論壇、官微、博客等涉取,從而彌自己的不足。如果你缺乏對基礎知識的掌握,你可以去扎實基礎,從而讓自己的水平提高。
很多時候很可能我們掌握了項目中的技能之外,就懶得去學習其他技術,這種觀念不能要,永遠不能將對比參考點放在自己的項目組的成員中,一定要放到同行業的競爭者中,這樣你才能知道自己需要去學習哪些技術。
就拿 Android 程序員來說,RxJava、OKhttp 必須要掌握,插件,熱更新技術、混合開發技術需要掌握,Java 基礎、設計模式也需要懂,演算法、數據結構那更不用說,學過計算機網路的人都了解網路拓撲的概念,上面這些都是我們需要拓展的知識網路拓撲圖。
掌握更多的技能不代表讓你去做全棧工程師,而是面對機會時你有更多的選擇!目前的 Kotlin、JS, 甚至人工智慧,也應該去關注!
3. 提高全量思維,不放過任何一個成長的機會
在平時的工作中,你需要放開眼界,持續提高並全面發展,甚至每一個成長的機會。舉個栗子:
參加公司每一次對你有用的技術分享,從而學習到他人總結的知識。
盡可能多地參與公司的項目,從而達到量的改變,這樣在領導眼裡對於提升你來說就有更高更多的砝碼,從小的方面來說你可以熟悉更多的業務,掌握更多的技能。
盡量去做框架和底層,杜絕一直以業務開發和上層開發為主。這樣你才能在團隊中脫穎而出,才能得到好的認可。
上面三點都是對內層面,相反多外層面來說,你需要時刻關注行業動態,若有更好的平台,更好的機會,不能抱著害怕甚至排斥的態度,應該勇於去挑戰,去嘗試。
上面的每一個做法,都有提高待遇的可能,待遇就是每一個細節的積累,最後沉澱出果實。你的綜合能力提高了,薪資待遇也自然而然的提高。
4. 養成規劃職業生涯意識,關注職業素養
程序員一定要養成職業規劃意識,千萬不能有我牛逼我就跳槽,不爽就跑路的思想,從我這幾年的開發觀察來看,除了學歷的篩選,加上技術的參考,更多的公司慢慢考核候選人的穩定程度。
不跳槽不能說一定是敬業,跳槽也不能說這個人就一定不忠心,在同樣的水平之下,企業更願意找穩定的人,我也曾面過很多人,我也會衡量面試者的穩定程度,畢竟穩定程度也能反映出他處事的能力。
職業規劃另一個含義是每一個階段有一定的 level 提高,從初級、中級、高級,架構師、總監、CTO 都是一次飛躍,無論你是對內,還是對外,長時間無法提高,那麼也該去關注職業規劃了。
很多人不明白,在一家公司服務時間短,會認為不靠譜,服務時間長,但是沒任何發展會被認為你不夠聰明,無論哪一種,目標企業都不會喜歡。
5. 機遇和運氣很重要
善於抓住機遇,有助於自己成功,上面第三點說的只是小的機會,機遇是一個大的質的改變,這個就靠自己的眼界,觀察去發現了,大佬們無非就是加上自己的努力,長時間的積累,靠一個機遇稀里糊塗的成功了。
由於這個是非必須因素,這里我也不打算用過多篇幅去說明。只要你知道這個有這么個理就行了
⑨ 初級程序員怎麼讓自己快速進步
首先當然是要解放雙手,如果整天只把時間浪費在敲代碼還有改bug上,進步的空間會很慢。所以這時候可以藉助一些實用工具∞比如SoFlu軟體機器人去幫我們完成一些重復度高的工作,而且它本身有前後端開發+測試+運維能力,日常也能幫我們提升工作效率。
⑩ 如何從一個剛入行的程序員成長為架構師
認真寫好自己的代碼,然後有空的時候多讀整個項目(包括其他人寫的)的代碼,尤其是核心代碼,認真學習設計模式,並思考項目中的架構用到了哪些設計模式,能夠帶來哪些好處。
這方面經驗積累多了,就有機會成為架構師。