A. 想轉行做程序員,如何入門
轉行做程序員優先考慮編程語言,java就是一個不錯的選擇。
首先、學習門檻較低,入行難度不高
學習Java一般只要大專以上學歷就可以,年齡最好在20-30歲之間,相信這個門檻並不是很高,很多人都有機會進入這個行業。
學習難度其實也沒有大家想像中的那麼難,很多人會糾結於自己的英語差、數學差這些因素,其實這些都不是能影響你學好Java的原因。很多來參加Java培訓的學員都是零基礎、跨專業,為了能讓他們學好Java,成為一名合格的Java開發工程師。
其次、薪資高,發展前景廣闊
關於Java行業的薪資,相信大家已經了解的很詳細了。如今各個地區都在鼓勵和加快進行Java方向的建設,所以,在未來必將創造出更多的Java崗位。
在信息化時代,Java在未來的作用會越來越大,現在學習Java正當時。
IT行業薪資高、待遇好,在轉行的時候,好多人毫無疑問都會指向IT行業。IT行業領域眾多,哪個行業最值得進入呢?相信很多人在轉行之初都會被建議去學習Java,為什麼建議你在轉行之初選擇Java開發呢?如果對編程感興趣可以來我這看看。
我們都知道,IT作為一種新型產業,在過去短短的十幾年內,已經成為我國重要的經濟增長點,也受到國家的大力扶持。隨著「互聯網+」、「人工智慧」、「雲計算」、「智慧城市」等重大的戰略的實施,更是意味著IT行業將產生巨大的作用,而Java作為常年占據編程語言排行榜第一的位置,憑借自身強大的能力必將在這些戰略的發展中扮演更加重要的角色。
希望對您有所幫助!~
B. 成為程序員要什麼條件
第一步挑選一個語言: C/C++, C#, Java, Python, Ruby 這些是比較常見的語言,資料豐富,也不叫容易上手。如果想挑戰下自己,也可以學下 OCaml, Lisp 之類的純 functional 語言
第二步挑選一份好的教材:根據你所選的語言,去找一份入門級的書籍,編程的重點在於練習,所以按照教材上的操作一點點做,不要偷懶,後面的練習題也不要放過。編寫程序的部分不需要別人替你檢查,電腦能輸出正確的結果就是正確,不能就是錯誤。
第三步將編程帶到你的生活里:觀察生活,發先生活里可以用電腦實現的問題,之後解決它。
C. 軟體研發工程師(程序員)怎麼規劃自己的職業發展方向
軟體工程師的職業規劃主要有以下幾步:
兩年以上的小型企業-四年左右的中型企業-大型企業或跨國集團公司
第一步,小企業的軟體開發設計編程人員;
第二步,進入大中型企業,同樣的軟體設計編程工作,工資就可能完全不同了,一般都在3000元以上,做了部門經理時,還可高達5000元或以上;
第三步,學習更全面的知識成為普通的軟體工程工資高達3500元以上;
第四步,學習更全面的知識成為專業的軟體工程師,如軟體設計工程師,系統分析工程師的工資就可以高達8000元以上,做大型企業或專業軟體公司IT經理的工資就更高了,基本在萬元以上。。
D. Java程序員的職業規劃是什麼
如果你是在校學生,務必要在學好基礎(比如計算機系統、演算法、編譯原理等等)的前提下,再考慮去進行下面的學習。第一部分:對於尚未做過Java工作的同學,包括一些在校生以及剛准備轉行Java的同學。
一、Java基礎首先去找一個Java的基礎教程學一下,這里可以推薦一個地址,或者你也可以參照這個地址上去找相應的視頻。學習Java基礎的時候,應該盡量多動手,很多時候,你想當然的事情,等你寫出來運行一下,你就會發現不是這么回事兒,不信你就試試。學完以上內容以後,你應該對Java有一個基本的了解了,你可以用Java語言寫出一些簡單的程序,並且你用的是最簡單的編輯器,比如記事本。這個時候,不要急於進入下一部分,留下幾天好好寫一些程序,盡可能熟悉這些基礎內容。
二、Web開發等你寫上幾天程序以後,你往往會比較迷茫,因為你寫的東西似乎看起來毫無用處,比如實現一個簡單的計算器,讀取一個文件等。這個時候你就應該去學著寫一些讓你覺得有意思的東西了,所以你應該學習更多的知識。這些內容主要是Web開發相關的內容,包括HTML/CSS/JS(前端頁面)、Servlet/JSP(J2EE)以及Mysql(資料庫)相關的知識。它們的學習順序應該是從前到後,因此最先學習的應該是HTML/CSS/JS(前端頁面),這部分內容你可以去上面的那個runoob網站上找。
你可以試著自己寫一些頁面,當然,你可以盡你最大的努力讓它變得最漂亮。這部分內容對於後端Java來說,理論上不是特別重要,但至少要達到可以自己寫出一些簡單頁面的水平。接下來,你需要學習的是Servlet/JSP(J2EE)部分,這部分是Java後端開發必須非常精通的部分,因此這部分是這三部分中最需要花精力的,而且這個時候,你要學會使用開發工具,而不能再使用記事本了,可以選擇eclipse。當你下載安裝好eclipse以後,請視頻中的教程一步一步去學習,一定要多動手。關於Servlet/Jsp部分視頻的選擇,業界比較認可馬士兵的視頻,因此推薦給大家。
當然了,我本人並沒有看過他的視頻,所以不好說的太絕對,如果大家自己有更好的選擇,可以堅持自己的,不要被我干擾。原本我也是打算出教學視頻的,但是由於時間問題,還是決定放棄了。但是如果你看視頻的過程中遇到了問題,歡迎來我的交流群提問,或者去斗魚觀看我的直播提出你的問題,直播地址和群號都在我的個人博客左側。最後一步,你需要學會使用資料庫,mysql是個不錯的入門選擇,而且Java領域里主流的關系型資料庫就是mysql。這部分一般在你學習Servlet/Jsp的時候,就會接觸到的,其中的JDBC部分就是資料庫相關的部分。你不僅要學會使用JDBC操作資料庫,還要學會使用資料庫客戶端工具,比如navicat,sqlyog,二選一即可。
三、開發框架當你學會以上內容以後,這個時候你還不足以參加工作,你還需要繼續深造。公司里為了提高開發的效率,會使用一些Java Web框架,因此你還需要學習一些開發框架。目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學會這三個框架的搭建,並用它們做出一個簡單的增刪改查的Web項目。你可以不理解那些配置都是什麼含義,以及為什麼要這么做,這些留著後面你去了解。
但你一定要可以快速的利用它們三個搭建出一個Web框架,你可以記錄下你第一次搭建的過程,相信我,你一定會用到的。還要提一句的是,你在搭建SSM的過程中,可能會經常接觸到一個叫maven的工具。這個工具也是你以後工作當中幾乎是必須要使用的工具,所以你在搭建SSM的過程中,也可以順便了解一下maven的知識。在你目前這個階段,你只需要在網路上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經驗的增加,會逐漸接觸到的。
關於學習SSM框架的地址給大家推薦一個,這裡面有視頻,大家可以去觀看。四、找工作當你完成開發框架的學習以後,你就該找工作了,在校的找實習,畢業的找全職。與此同時,在找工作的同時,你不應該停下你的學習,准確的說,是你在以後都不能停下學習。上面這些內容你只是囫圇吞棗的學會了使用,你可以逐步嘗試著去了解更多的東西,網路是你最重要的老師。
第二部分:對於參加工作一年以內的同學。恭喜你,這個時候,你已經擁有了一份Java的工作。這個階段是你成長極快的階段,而且你可能會經常加班。但是加班不代表你就可以鬆懈了,永遠記得我說的那句話,從你入行那一刻起,你就要不停的學習。在這一年裡,你至少需要看完《Java編程思想》這本書。這本書的內容是幫助你對於Java有一個更加深入的了解,是Java基礎的升級版。這本書很厚,當初看這本書,我花了整整三個月。正常速度的話,應該可以在半年左右看完。我這里不要求過高,只要你在一年以內把這本書看完即可。當然了,我所說的看完,是充分吸收,而不是讀一遍就完事了,因此有些內容你可能會看不止一遍。總而言之,這個階段的核心學習思想就是,在工作中實踐,並且更加深入的了解Java基礎。
第二部分:對於參加工作1年到2年的同學。這部分時間段的同學,已經對Java有了一個更加深入的了解。但是對於面向對象的體會可能還不夠深刻,編程的時候還停留在完成功能的層次,很少會去考慮設計的問題。於是這個時候,設計模式就來了。我當時看的是《大話設計模式》這本書,並且寫了完整版的設計模式博客。因此,我要求大家,最多在你工作一年的時候,必須開始寫博客,而設計模式就是你博客的開端。
請記住,我所提的基本都是最低要求,因此不要有任何鬆懈的心理,否則五年後,你不要去羨慕別人高於你的工資,也不要去羨慕別人進入了某公司。這一年,你必須對於設計模式了如指掌,《大話設計模式》可以作為你的開端。此外,設計模式並不是你這一年唯一的任務,你還需要看一些關於代碼編寫優化的書。比如《重構 改善既有代碼的設計》,《effective java》。總而言之,這個階段,你的核心任務就是提高你的代碼能力,要能寫出一手優雅的代碼。
第三部分:對於參加工作2年到3年的同學有的同學在這個時候覺得自己已經很牛逼了,於是忍不住開始慢慢鬆懈。請記住,你還嫩的多。這個階段,有一本書是你必須看的,它叫做《深入理解Java虛擬機》。這本書絕對是Java開發者最重要的書,沒有之一。在我眼裡,這本書的重要性還要高於《Java編程思想》。這本書的內容是幫助你全面的了解Java虛擬機,在這個階段,你一定已經知道Java是運行在JVM之上的。所以,對於JVM,你沒有任何理由不了解它。
另外,在過去2年的工作當中,你肯定或多或少接觸過並發。這個時候,你應該去更加深入的了解並發相關的知識,而這部分內容,我比較推薦《Java並發編程實戰》這本書。只要你把這本書啃下來了,並發的部分基本已經了解了十之六七。與此同時,這個階段你要做的事情還遠不止如此。這個時候,你應該對於你所使用的框架應該有了更深入的了解,對於Java的類庫也有了更深入的了解。
因此,你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。這些源碼能看懂的前提是,你必須對設計模式非常了解。否則的話,你看源碼的過程中,永遠會有這樣那樣的疑問,這段代碼為什麼要這么寫?為什麼要定義這個介面,它看起來好像很多餘?由此也可以看出,這些學習的過程是環環相扣的,如果你任何一個階段拉下來了,那麼你就真的跟不上了,或者說是一步慢步步慢。而且我很負責的告訴你,我在這個階段的時候,所學習的東西遠多於這里所羅列出來的。
因此千萬不要覺得你已經學的很多了,我所說的這些都只是最低要求,不光是我,很多人在這個時間段所學習的內容都遠超本文的范圍。如果你不能跟上節奏的話,若干年後,如果不是程序猿市場還不錯的話,你很可能不僅僅是工資比別人低,公司沒別人好,而是根本就找不到工作。總而言之,這個階段,你需要做的是深入了解Java底層和Java類庫(比如並發那本書就是Java並發包java.concurrent的內容),也就是JVM和JDK的相關內容。而且還要更深入的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。另外,還有一種學習的方式,在2年這個階段,也應該啟用了,那就是造輪子。不要聽信那套「不要重復造輪子」的論調,那是公司為了節省時間成本編造出來的。重復造輪子或許對別人沒有價值,因為你造的輪子可能早就有了,而且一般情況下你造出來的輪子還沒有現存的好。
但是對別人沒有價值,不代表對你自己沒有價值。一個造輪子的過程,是一個從無到有的過程。這個過程可以對你進行系統的鍛煉,它不僅考察你的編碼能力,還考察你的框架設計能力,你需要讓你的輪子擁有足夠好的擴展性、健壯性。而且在造輪子的過程中,你會遇到各種各樣的難題,這些難題往往又是你學習的契機。當你把輪子造好的時候,你一定會發現,其實你自己收獲了很多。所以,這個階段,除了上面提到的了解JVM、JDK和框架源碼以外,也請你根據別人優秀的源碼,去造一個任何你能夠想像出來的輪子。
第四部分:參加工作3年到4年的同學這個階段的同學,提升已經是很難了,而且這個階段的學習往往會比較多樣化。因為在前3年的過程中,你肯定或多或少接觸過一些其它的技術,比如大數據、分布式緩存、分布式消息服務、分布式計算、軟負載均衡等等。這些技術,你能精通任何一項,都將是你未來面試時巨大的優勢,因此如果你對某一項技術感興趣的話,
這個時候可以深入去研究一下。這項技術不一定是你工作所用到的,但一定是相關的。而且在研究一門新技術時,切忌朝三暮四。有的同學今天去整整大數據,搞搞Hadoop、hbase一類的東西。過不了一段時間,就覺得沒意思,又去研究分布式緩存,比如redis。然後又過不了一段時間,又去研究分布式計算,比如整整Maprece或者storm。結果到最後,搞得自己好像什麼都會一樣,在簡歷上大言不慚的寫上大數據、分布式緩存、分布式計算都了解,其實任何一個都只是浮於表面。到時候面試官隨便一問,就把你給識破了。
一定要記住,作為一個程序猿,平日里所接觸的技術可能會很多,但是想要讓一門技術成為你的優勢,那麼一定是你對這門技術的了解強過絕大多數人才行。因此在這個階段,你就不能再簡單的去學習前3年的內容了,雖然前面的學習如果還不夠深入的話依舊要繼續,但這個時候你應該更多的考慮建立你的優勢,也可以稱為差異性。差異性相信不難理解,就是讓你自己變得與眾不同。你前面三年的學習足夠你成為一名基本合格的Java開發者,但你離成為一名優秀的Java開發者還有很大的距離。
所謂優秀,即能別人所不能。而你前三年所學習的內容,是很多做過幾年的Java開發都能夠掌握的。那麼為了讓自己有差異性,你就需要另闢蹊徑,找一個方向深入研究下去,以期在將來,你能夠成為這個領域的專家,比如分布式計算領域的專家,大數據領域的專家,並發領域的專家等等。此外,你除了建立你的差異性之外,還要去彌補你基礎上的不足,直到現在,我都沒有提及基礎知識。原因是基礎是很枯燥無味的,學的太早不僅容易懵逼,而且懵逼的同時還容易產生心理陰影,以至於以後再不想去研究這些基礎。但基礎又是你深入研究一些領域時所必須掌握的,比如你去研究分布式計算,你不懂演算法你玩個毛毛?比如你去做分布式緩存,你對計算機系統的內存不了解,你如何去做緩存?
如果你的基礎本來就非常強,那麼恭喜你,相信你在之前的工作中已經充分體會到了這些基礎對你的幫助。但我相信大部分人的基礎都很薄弱,哪怕是科班畢業的人,很多人也不敢說自己當初的基礎學的多麼強大,比如演算法、計算機系統原理、編譯原理這些。但是每個人時間都是有限的,而且這些基礎的書籍每一本讀下來,沒個一年半載的,還真拿不下來,因此還是要有所抉擇的。雖然藝多不壓身,但問題是藝多是有代價的,是需要你付出時間和精力的,而我個人更贊成在同等代價的情況下獲取最大的收獲。
首先,我比較推崇的基礎書籍有三本,分別是《深入理解計算機系統》,《tcp/ip詳解 卷一、二、三》,《數據結構與演算法》。其中TCP/IP有三本書,但我們這里把這三本看成是一本大書。這三本分別適合三種人,《深入理解計算機系統》比較適合一直從事Java Web開發和APP後端開發工作的人群。《tcp/ip詳解 卷一、二、三》比較適合做網路編程的人群,比如你使用netty去開發的話,那麼就要對TCP/IP有更深入的了解。而《數據結構與演算法》這本書,則比較適合做計算研究工作的人,比如剛才提到的分布式計算。另外,我要強調的是,這里所說的適合,並不是其它兩本對你就沒有用。比如你做Java Web和APP後端開發,《tcp/ip詳解 卷一、二、三》這本書對你的作用也是很大的。這里只是分出個主次關系而已,你要是時間足夠的話,能把三本都精讀那當然最好不過了。
但如果時間有限的話,那麼就先挑對你幫助最大的書去讀。理論上來講,這一年你能把這三本其中一本精讀下來,就已經非常厲害了。有了基礎,有了前面的工作經驗,你就可以去開拓屬於你的領域了。在這一年裡,一定要規劃好自己的領域,建立好自己的優勢,製造出差異性。如果你對自己的領域不夠清晰的話,隨著你工作的時間日益增多,你接觸的技術會越來越多,這個時候,你很容易被淹死在技術的海洋里,看似接觸的技術越來越多,會用的也越來越多,但你毫無優勢。有的同學可能會問,「我,我也不知道我的領域是什麼啊?怎麼辦呢?」對於這種人,我只想說,「卧槽,這還問我?要不幹脆我替你學習得了,好不好?」
第五部分:參加工作4年到5年的同學經過前面一年的歷練,相信你在自己所鑽研的領域已經有了自己一定的見解,這個時候,技術上你應該已經遇到瓶頸了。這個時候不要著急提高自己的技術,已經是時候提高你的影響力了,你可以嘗試去一些知名的公司去提高你的背景,你可以發表一些文章去影響更多的人。當然,你也可以去Github創建一個屬於你的開源項目,去打造自己的產品。
這次的開源項目不同於之前的造輪子,你這個時候是真的要去盡量嘗試造出來真正對別人有價值的輪子。技術學到這個階段,很容易遇到瓶頸,而且往往達到一定程度後,你再深入下去的收效就真的微乎其微了,除非你是專門搞學術研究的。然而很可惜,大部分程序猿做不到這一步,那是科學家做的事情。這個時候提高影響力不僅僅是因為技術上容易遇到瓶頸,更多的是影響力可以給你創造更多的機會。程序猿在某種程度上和明星很像,一個好的電視劇和電影就可以成就一批明星,程序猿有的時候也是,一個好的項目就可以成就一群程序猿。比如國內幾個膾炙人口的項目,像淘寶、支付寶、QQ、網路、微信等等。這每一個項目,都成就了一批程序猿。我敢說,這裡面任何一個項目,如果你是它的核心開發,光是這樣一個Title,就已經是你非常大的優勢。更何況還不止如此,Title說到底也是個名頭,更重要的是,這種項目在做的時候,對你的歷練一定也是非常給力的。
而你如果想要參與這樣的項目,除了靠運氣之外,影響力也是很重要的一個手段。比如你在分布式計算領域有一定的影響力,那麼如果有什麼好的關於分布式計算的項目,對方就很可能會邀請你。就算人家不邀請你,你自己主動去面試的時候,對方如果知道你在這個領域的影響力,也肯定會起到很大的作用,而這個作用,甚至可能會超過你現在的技術能力。所以,在這個階段,你最大的任務是提高自己的影響力,為自己未來的十年工作生涯那一天做准備。如果你能夠靠你的影響力和以前積累的技術,參與到一個偉大的項目當中,那麼你後面的五年也就有著落了。當然了,我現在滿打滿算,做程序猿也就4年半不到,因此關於4年到5年這一部分,我的見解不一定是對的,就算是對的,也不一定是適合任何人的。
所以,希望大家自己有的判斷力,去決定到底該如何度過這一年。結語本文到此就基本結束了,整篇文章很長,但其實主要就說了兩部分內容,一個是社招面試的准備,一個是Java生涯的學習。關於這兩部分,我已經給出了自己的見解,但是還是那句話,每個人吸收知識的時候,都要有抽取精華,去除糟粕的能力。我所說的,可能有些是對的,有些是錯的,有些是適合你的,有些是不太適合你的,你要自己能夠判斷。其實你在生活和工作當中也是一樣的,你身邊的人形形色色,有的人你喜歡,有的人你很討厭。但其實你喜歡的人也有缺點,你討厭的人也有優點。你要學會從你討厭的人身上學會他的優點,千萬不要一棒子打死,這只會讓你失去很多學習成長的機會。好了,說了這么多了,就到此為止吧
E. 一個.net程序員應所具備的知識
如果你已經有較多的面向對象開發經驗,跳過以下這兩步:
第一步掌握一門.NET面向對象語言,C#或VB.NET。
我強烈反對在沒系統學過一門面向對象(OO)語言的前提下去學ASP.NET。
ASP.NET是一個全面向對象的技術,不懂OO,那絕對學不下去!
第二步對.NET Framework類庫有一定的了解
可以通過開發Windows Form應用程序來學習.NET Framework。ASP.NET是建構在.NET
Framework之上的技術,你對.NET Framework了解得越深,學習ASP.NET就越快。
舉個例子:下面簡單列出幾個對掌握ASP.NET非常重要的概念:
對象的內存模型,委託,事件,多線程,程序集和應用程序域,安全模型
.NET Framework當然還有許多其它的東西,但不理解與把握清楚上述這些東西,是很難真正把握ASP.NET的。
出於急迫的心情與現實的考慮,不少人沒有扎實的面向對象基礎就想直接學習ASP.NET,其結果只能是欲速則不達。
在具備了OO基礎之後,以下是具體的學習ASP.NET技術步驟。
第一步:學習HTML與CSS
這並不需要去學一大堆的諸如Dreamweaver,Firework之類的各種網頁設計工具,關鍵是理解HTML網頁嵌套的block結構與CSS的box模型。許多ASP.NET控制項最後都必須轉化為HTML。而且,div+CSS是當前主流的網頁布局模型。
學習這部分時,關鍵在於理解概念,而不需要將精力花在美化頁面的許多技巧上,那是網站美工的工作,不是程序員的工作。
第二步:學習JavaScript。
JavaScript不是Java,它主要運行於瀏覽器端。可以完成許多工作,功能也很強大:比如它將客戶端網頁中的HTML元素看成一棵樹,可以編寫代碼訪問並修改樹節點,動態生成新的HTML代碼,從而達到動態修改網頁顯示特性的目的。
JavaScript在目前的網站開發中用得很多,非常重要。
另外,它也是目前非常流行的AJAX技術的基礎。
第三步:學習計算機網路原理
找一本大學<計算機網路>教材,重點看看它的有關互聯網的部分,了解一些域名解析和HTTP協議等知識。這是進行互聯網開發的理論基礎。
第四步:學習ASP.NET表示層技術,會設計Web頁面
需要結合先前打好的面向對象技術的基礎,至少掌握以下內容:
(1) 各種Web控制項的使用方法,
(2) 理解信息在網頁中的傳送方式,比如Cookie,ViewState,Session等的使用。
(3) ASP.NET應用程序與網頁的生命周期,以及相關對象(比如httpcontext,response,request)的用途。
(4) ASP.NET實現事件驅動的內幕
(5) 自定義用戶控制項
再次強調一下,沒有OO基礎,很難掌握上述技術,就只能被這些東東牽著鼻子走了,會很被動。
第五步掌握資料庫技術
具體地說,要學習以下內容:
(1) 學會使用SQLServer 2005:不要求精通它的各種工具與管理配置技術,但至少知道如何連接,如何建表,如何創建存儲過程
(2) 學習ADO.NET,掌握使用代碼人工訪問資料庫(別用VS2005的向導)的方法
(3) 學習數據綁定控制項的使用
第六步理解多層架構
這時,先前在OO學習階段涉及到的程序集與應用程序域等就派上用場了,現在,網站架構大多採用多層架構:表示層、業務邏輯層、數據存取層以及資料庫本身。
可以先上網找一此多層架構的資料看,再找一個現成的比較復雜的開源ASP.NET項目分析一下其架構就差不多了。基本上都是一個套路,到處應用。
有的朋友問:學習架構是不是必須學習設計模式。
我的看法是:不必!當然,你如果學習過設計模式,那當然更好。但在實際開發中,如果只想著機械地套用某種模式,反而起不到好的結果。我的觀點:在學習設計模式時要多思多悟,其思想就會漸漸地融入你的大腦,在真實的設計實踐中,忘掉所有的寫在書上的模式,一切從實際出發,相信你的直覺,只要達到設計要求的方案就是可行的方案,事實上,你這樣做了之後,回過頭來再看,會發現你的設計往往暗合設計模式的理論。
第七步學習XML與Web Service
先了解XML的基礎知識,找本講XML的書看一下就差不多了,然後,再學習Web Service。Web Service其實可類比為遠程方法調用(以XML格式表達的調用信息)。
學 到了這里,如果你還有興趣,不妨再去看看SOA,不過SOA的資料都是理論與概念,看起來比較郁悶,而且離實際開發可能比較遠。所以,這是可選項。
第八步學習AJAX
學習AJAX的主要目的是創建具有更豐富特性的Web表示層,而經過前面七步的學習,到此再學習AJAX已水到渠成,所有的基礎都已具備,不會有太大的問題了。
在基礎未具備的前提下直接學AJAX,就象「浮沙之上築高台」,所以,將AJAX的學習次序安排在這里。
第九步學習RIA技術
RIA:Rich internet application,可看成是將C/S與B/S優點合二為一的嘗試。就具體技術來說,主要指微軟的Silverlight(WPF_E),畢竟前頭一路行來都是微軟路線。
不過目前學習它主要是為了技術儲備。估計此技術的普及需要2到3年的時間,因為預裝Vista的機器今年才開始大賣
F. java職業規劃
(一)java程序員職業規劃步驟
java程序員職業規劃第一步:
1、基礎必備:至少看過2本語言基礎書和一本領域技術書。
2、部分參與項目1-2個。
所需時間:3-12個月
java程序員職業規劃第二步:
1、行業知識領悟、擴展相關應用知識。
2、完整參與項目1-2個。
3、可以指導新人完成工作。
所需時間:6-12個月
java程序員職業規劃第三步:
1、深刻理解面對對象知識。熟悉常用架構,對公司採用的架構能提出改善意見。
2、參與需求討論並能提出簡化方案。
3、能為決策提出一些建議。
java程序員職業規劃第四步:
1、能夠對整體需求方案做出精確描述。
2、運用一種架構對項目、產品進行設計。
3、評估項目風險、以及預留方案。
4、實現核心組件、技術難關。
5、行業技術指導。
(二)java程序員職業規劃要點
(1)只會編程是不夠的
仔細思考在哪個商業領域投入時間。軟體工程師(軟體工程培訓 )不能只會開發軟體,應該要成為這個業務領域的專家。你的行業經歷應該成為你的重要才能。有機會多與公司行業內人士接觸,選擇一本與你公司行業有關的雜志,找一個行業網站。只有了解了一個行業後,你才能創造性地有所建樹。學習行業是如何運轉的,了解一些財務基本知識,推薦一本商業教程: the ten-day mba。
(2)在思維上投資
要學會抓住機遇。
多學習新的技術,編程語言,可以改變你的思維方式。
(3)做一名通才
你的技術水平應該超越技術平台。
經常學習一些新技術。
(4)成為一名專家
不僅應該會處理高端抽象,同時也應該了解實現高端抽象的低端細節。
(5)切忌孤注一擲
不要把自己的職業發展完全依賴於一家技術公司。
(6)尋找良師
可以依賴別人,但要確保這個人是靠得住的。良師的首要任務是榜樣作用,還可以將你的學習過程形成體系,也是值得信任的朋友,可以幫助你作出職業導向,幫助你磨練技術。
(7)安分守己
要有雄心,但不必路人皆知。專注於現在的工作,不僅讓你更加快樂,也會讓你身邊的人更加快樂。你的同事,上司和客戶都能感覺到。你的工作成績會反映出你的態度。放棄你想要成功的期望可以提高你的能力,讓你走向成功。不要關注結果,要關注做事的過程。
(8)每天都有進步
如果在改善自己的道路上,每一天都比昨天多作出一點改變,就會發現—-擁有卓越的職業生涯,越來越容易達成,而不再像汪洋大海一樣沒有邊際。
G. 如何從初級程序員過渡到中高級程序員
在程序員圈,一直流傳著這樣一個傳說,用發量來判斷程序員的級別,這明顯是種調侃。那麼,中級程序員,相對於初級程序員,有哪些不一樣的特質呢?
總得來說,比較於初級而言,中級程序員在執行層面屬於攻堅力量,他們不僅能獨立完成高檔難度的開發使命,並且在用戶體驗(質量提高)和功能優化(優化效率)都能作更全面的考量。
以下,是小編總結的關於中級程序員七大特點,各位可以對號入座。
(一)善於溝通
程序員內向的居多,喜歡交流的很少,但中級程序員往往能夠克服自己的內新的恐懼心理,多和同事交流。
甚至有管理者認為,程序員應該80%的時間,花在同事的交流上。不僅是部門內的同事,也還包括跨部門溝通,敲代碼的需要經常與產品經理、運營的同事溝通需求。
日本不少跨國公司,甚至有讓程序員去體驗幾個月銷售員的傳統。公司要求,程序員在敲代碼的同時,也要能夠理解一線用戶的需求。
交流對於初級程序員了解技術的發展,也相當有好處:讀讀博客、學學新語言和框架、討論討論話題、看看同行在做什麼。自掃門前雪,很難成為一個優秀的程序員。閉門造車型的程序員終將被時代的潮流所淘汰。
(二)對編程有激情
有些程序員干這一行只是為了掙錢,如果有更好的職業,他們會毫不猶豫的辭掉程序員的工作。
能夠順利晉升為中級程序員的人,往往熱愛編程,喜歡鑽研代碼中的問題,他們感到能指揮電腦來幫助人們和自己解決現實生活中的問題是一種神奇的能力。當遇到問題無法解決時,他們會茶不思、飯不想,無法入睡。
每個人都有心理上的舒適區,但是中級程序員,會不斷地突破自己心理上的舒適區。
他們很樂於經常去研究沒有接觸過的代碼,也正因為這樣,成長速度快的中級程序員會越來越熟悉不同的代碼結構和設計模式。
(三)精通代碼調試
幾乎所有的程序員寫代碼都不是一遍就能寫好的。精通代碼調試 ( debug )很多人在寫代碼的過程中,經常會有的一個問題就是:為什麼我寫出來的代碼不能運行?為什麼運行的結果不是我想要的?
中級程序員非常快的就明白自己代碼的問題可能是什麼。代碼調試是一個很重要的能力,但是偏偏學校里不教,面試的時候考官也不經常提及。那麼怎麼去調試代碼呢?
代碼調試是有一套方法論的。最簡單的就是在代碼里輸出日誌來判斷,復雜一點則需要去接觸一些高級的工具,或者直接帶有 Debug 功能的編輯器。
(四)主人翁精神
部分初級程序員剛入行,可能還沒有進入狀態,往往認為自己是打工者,以打工者的身份和心態工作。
中級程序員卻會把自己當成企業的主人,他們知道企業的利益和自己休戚相關。
成熟的程序員明白一點,作為一名優秀的企業員工,自己是生產者而非消費者。他們心中一直想得是自己能夠為公司,為顧客創造什麼價值,而不僅僅只想著待遇。
(五)工具型思維
中級程序員知道如何能更高效的完成任務,如何更能有效的解決問題。其原因是工具型思維,如同荀子所言,「君子生非異也,善假於物也。」
Facebook 前技術總監 Bobby Johnson 說,高效率的程序員都把時間花在製作工具上。很多人也認為工具是很重要的,但是他們並沒有花時間去製作、整合自己的工具。但是,Jonson 團隊最出色的員工耗費了他們 1/3 的時間在工具製作上,這些工具可以用來發布代碼,監控系統,以及能讓他們花更少的時間去做更多事情。
中級程序員遇到問題時,不鑽牛角尖,善於利用外部工具解決自己的問題,特別是能熟練應用搜索引擎。
(六)刻意練習迭代速度
魔鬼在細節上,如果一個程序員想要提高自己的工作效率,就需要他能夠不斷地在細節方面,進行微創新,提高效率。
舉一個例子,假設一個初級程序員,每次要花 12 秒鍾去搜索某個函數是在哪裡定義的。如果,他每天做這個動作 60 次,就要花 12 分鍾去搜索函數定義。
中級程序員會選擇用一個好一點的編輯器,每次找到函數定義只要 2 秒鍾,那麼他每天將節約 10 分鍾,每年節約 40 個小時。如果能夠找到 3 個這樣的場景去優化一下,那麼對於中級程序員來說,每年可以節約一個月的時間。
(七)系統學習
學習是要有方法的,尤其是在職場中,程序員的自我學習要符合兩點要求:一是有結果;二是高效。因此,系統性學習,非常重要。
高級程序員系統學習指南如下:
第一步,源碼分析。看看大牛是如何寫代碼的,提升技術審美,提升核心競爭力。
第二步,工程化。工欲善其事必先利其器,不管是小白,還是資深開發,都需要先選擇好的工具,提升開發效率和團隊協作效率,讓自己有更多的時間來思考。
第三步,分布式。從深度到廣度的完善自己的知識體系,准備迎接高並發大數據的挑戰
第四步,微服務。繞微服務的通用模式,學習spring Cloud的常見用法及原理,讓微服務的開發更加方便 快捷,讓微服務應用更加穩定 可用。
第五步,性能優化。從JVM底層原理到內存優化 再到各個中間件的性能調優,做最科學和最嚴謹的性能調優。
第六步,並發編程。深入了解底層原理,不只是做一個開發者。
第七步,積極參加大牛的分享。
(八)總結
可以理解,對於初入職場的程序員來說,他們在內心也知道學習的重要性,但因為沒有時間,被老闆的需求給填滿,沒有精力去提升自我。
然而,根據人類的學習曲線來說,任何一門新的技藝,都是一條對數曲線。其分為兩個階段:緩慢期和高速發展期,即初期很慢,後期進展迅速。
如果,能夠讓程序員在剛進入職場的時候,便擺脫初級程序員的桎梏,直接擁有中級程序員的實力,是不是就能跨越學習曲線的緩慢期呢。
知名IT教育機構傳智播客已開通了中級程序員課程,發布了全新的項目,想學習的小夥伴抓緊
H. 如何成為最強壯的程序員
成為程序員的具體步驟:
第一步:
掌握一種編程語言。學習任意一種主流的編程語言,例如C++語言。熟練掌握一種語言的語法和基本的編程技巧。
學習時間:
3個月左右
注意事項:
編程語言和編程工具是兩回事情,編程語言是指C++、Basic、Object Pascal等。程序設計語言,它們是像漢語、英語一樣的抽象的語法規則,編程工具是指Visual C++ 6.0、Visual Basic 6.0、Delphi 7.0等包括了源代碼編輯器、程序編譯器 在內的集成化、可視化的軟體開發工具。C++源程序可以在Visual C++ 6.0里編寫,也可以在記事本里編寫,而同一個C++源程序可以用Visual C++ 6.0編譯、執行,也可以用C++ Builder 5.0
編譯、執行,所以: C++ 不等於 Visual C++ 6.0。
第二步:
掌握一種編程工具,學習任意一種主流的編程工具。注意編程工具要和第一階段學習的編程語言一致,例如你學習的編程語言是C++,那麼編程工具要選Visual C++ 6.0或者C++ Builder 5.0。熟練掌握這種編程工具基本用法,例如:菜單、組件、程序跟蹤調試、編寫Windows程序等。
學習時間:
3個月左右
注意事項:
這個階段側重編程工具的使用,同時進一步熟習編程語言,最後達到能熟練編寫各種基本的Windows程序。
第三步:
掌握「演算法與數據結構」這門課程,推薦許卓群的《數據結構》,熟練掌握各種常用的演算法與數據結構。
學習時間:
4個月左右
注意事項:
這是一門不可或缺的軟體開發課程,曾經有一本經典計算機專業書籍叫做《數據結構+演算法=程序》,這說明了數據結構和演算法的重要性。它能幫我們建立良好的程序分析與設計能力。
第四步:
實現一個模擬的小型軟體項目,掌握軟體項目的基本開發過程和方法。
學習時間:
4個月左右
注意事項:
自己完成一個模擬的小型軟體項目,強烈推薦做一個MIS(管理信息系統)軟體,參考用書推「中小型信息管理系統開發實例系列叢書」,人民郵電出版社,它的例子詳實有效, 以它為基礎再加以擴展,就可以做出實用的MIS軟體來。
I. JAVA程序員如何在業余時間精進技術!
第一步:學徒,買一本java語法書,java語法書我推薦(java編程思想),這時候你只要先通俗的讀一遍,有疑惑也是直接過,能理解20%足夠了
java程序員怎麼提高自己
第二步:搬運工,認認真真將裡面的代碼敲打一遍,特別是裡面的習題,一定要自己敲打代碼,這是關鍵!你會發現之前不明白的問題有一部分得到解決了,這時候能理解到40%就非常不錯了
java程序員怎麼提高自己
第三步:石匠,這時候你可以開始買一本jsp類似的數據了,還是敲打,特別是模仿,但是你已經能理解了
java程序員怎麼提高自己
4
第四步:石匠,這時候你找一個具體的項目,最好是之前別人已經寫好的,修改創新,這時候你應該多學習幾個項目
5
第五步:石匠,找一個項目,根據自己的思想設計,一直到完成,這時候你離架構師不遠了,祝賀你能更好的提高
J. 程序員接到項目後應該怎麼做
第一步:分析需求。也就是必須找客戶把需求確認好,這一步最重要,最好能形成書面的東西,防止客戶反復修改
第二步:設計模型。這一步其實是需求的補充,有了一個具體的東西,雙方更好交流,也能給予客戶部分信心,當然時間能快點最好了
第三步:框架選用或者設計。一定要選擇一個靈活的框架,防止有後續開發或者需求反復變更
第四步:模塊設計。設計各個模塊,充分考慮其中的耦合
第五步:編碼,同時思考測試用例
第六步:測試
第七步:項目驗收,可能會goto第一步
第八步:收錢