⑴ 想轉行做程序員,如何入門
轉行做程序員優先考慮編程語言,java就是一個不錯的選擇。
首先、學習門檻較低,入行難度不高
學習Java一般只要大專以上學歷就可以,年齡最好在20-30歲之間,相信這個門檻並不是很高,很多人都有機會進入這個行業。
學習難度其實也沒有大家想像中的那麼難,很多人會糾結於自己的英語差、數學差這些因素,其實這些都不是能影響你學好Java的原因。很多來參加Java培訓的學員都是零基礎、跨專業,為了能讓他們學好Java,成為一名合格的Java開發工程師。
其次、薪資高,發展前景廣闊
關於Java行業的薪資,相信大家已經了解的很詳細了。如今各個地區都在鼓勵和加快進行Java方向的建設,所以,在未來必將創造出更多的Java崗位。
在信息化時代,Java在未來的作用會越來越大,現在學習Java正當時。
IT行業薪資高、待遇好,在轉行的時候,好多人毫無疑問都會指向IT行業。IT行業領域眾多,哪個行業最值得進入呢?相信很多人在轉行之初都會被建議去學習Java,為什麼建議你在轉行之初選擇Java開發呢?如果對編程感興趣可以來我這看看。
我們都知道,IT作為一種新型產業,在過去短短的十幾年內,已經成為我國重要的經濟增長點,也受到國家的大力扶持。隨著「互聯網+」、「人工智慧」、「雲計算」、「智慧城市」等重大的戰略的實施,更是意味著IT行業將產生巨大的作用,而Java作為常年占據編程語言排行榜第一的位置,憑借自身強大的能力必將在這些戰略的發展中扮演更加重要的角色。
希望對您有所幫助!~
⑵ 程序員入門:如何自學編程
1、選定方向
編程的世界是多元紛繁的,大的方向就分前端開發、後端開發、移動開發、雲計算、數據處理、智能硬體、物聯網、虛擬現實等等,光編程語言都幾十種。如果沒有做過功課,貿然進入只會分分鍾懵逼。所以最好是根據自己的興趣愛好再結合市場前景,先選定一個方向,再選擇一門語言,然後頭也不回的深深扎進去。
2、優化學習方式
做好筆記,記錄經驗,我們大多數人並沒有過目不忘的神技,很多時候我們學了也不一定馬上掌握,需要過後花時間慢慢領悟,而且還有忘掉的風險,所以對於重要的知識點都要做好筆記。
3、多看官方文檔,外文資料
互聯網是一個更新迭代很快的行業,所有編程語言都會不斷的更新新功能和修復舊Bug,網上查的資料很有可能是舊的解決方案,現在已經不適用了。所以最好最快的方法就是查看官方文檔。
4、動手做項目
我們學習編程的最終目的就是用所學的做出具有一定功能的項目,而做項目又是最好的學習和鞏固知識的方式。如果前期能力不足就先做一些簡單的功能模塊,一步一步慢慢來,不要一開始就要實現各種酷炫炸天功能,遇到不會的就在網上查, 現在互聯網這么發達,獲取資源也及其方便。
⑶ 程序員如何進階
程序員是一個沒有極限的職業,所以要成為一個成功的程序員,你就需要不斷的超越極限。在程序員職業生涯的開始階段,他們將面臨許多挑戰,面對困境,他們之中有一些人將會放棄,而只有少數人會堅持到底,並成為這個領域的領頭羊。
1.學習新技術
隨著新技術的不斷進步,我們學到和實施的技術會很快地過時。所以,作為一個程序員,你就需要了解與學習這些新技術,保持與時俱進。出現的這些所謂的新技術通常由一些進程和語法變化而構成,但邏輯是相通的,所以你可以很快地掌握,不要害怕去學習。
2.調試技巧
程序員不但需要創建代碼,當軟體未能按照預期方式工作時,程序員還必須能夠快速而有效地解決問題。
3.解決問題的技巧
當一名程序員獲得項目時,會直接寫代碼。但一名進階的程序員會試圖找出代碼出現問題的根源,並通知團隊領導或項目負責人。因為有時在文檔化項目需求並啟動項目後,甚至在完成項目後,我們才會在項目中遇到一些問題。所以最好在出現問題之前先找到問題。最好可以快速地找到解決問題的方法。
4.對工作的熱情
我們的工作時間大多為朝九晚五,但是當你對工作迸發激情時,那麼不要到了休息日就將工作束之高閣。一直工作直到完成它。當然,我的意思不是說如果你沒有解決方案,還得成天垂頭喪氣對著電腦,我的意思是如果你已經接近於完成的時候,那麼索性一鼓作氣搞定吧。
⑷ 一個程序員所要經歷的步驟
程序員應具備的12種能力
畢業四年來,感覺自己也是從一名不合格的程序員一步步走過來的。回頭反思一下,合格的程序員有很多標准和要求,下面是我總結的一個合格程序員應該具備的12種能力。中國軟體行業的崛起,靠的是合格的程序員。任何華麗的管理制度都不能保證軟體項目的成功交付,合格的程序員就是有力的保證,是項目成功的基礎。寫下這些,是為了給剛剛進入程序員這個職業的新同學們一點參考。我一直以為,當程序員是很辛苦的,如果不是真正的喜歡,很難堅持下去。如果真的不喜歡這個職業,也該尊重這個職業,尊重自己,趕緊改行。
1. 編程語言能力
不用多說,作為合格的程序員,精通一門語言是必須的。這種精通,不是說看了一本《24小時精通XXX》,抄了幾個程序就能說精通的,要靠長時間的積累和浸淫。
2.編碼能力
我曾經看多很多程序員寫的代碼,在同一個jsp或者java源文件里,出現了三種以上的對方法的命名方式,有下劃線間隔的,有全大寫的,有拼音首字母的。就像一個菜市場,雜亂無比,估計10天後,他自己都無法看的懂。遵守編碼規范,是一個程序員最基本的要求,可悲的是,很多程序員根本沒有意識到這個問題的嚴重性。隨意堆砌網上搜來的代碼,根本不管可讀性和可維護性,只要能實現功能就行了,心想做完這個項目,就拍拍屁股走人了,缺少最基本的職責素養。我經常把代碼必須成程序員的孩子,你就是是孩子他爹,孩子他媽,是有感情的。對你自己的孩子,你能不仔細呵護嗎?你是稱職的父母嗎?這是我編寫的一個Java編碼規范,供大家參考,這里可以下載http://gurudk.javaeye.com/blog/111734
另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
思維的條理性,寫代碼之前,先簡單計劃一下,用自然語言把流程寫下來,用於整理實現思路。不要看了需求或設計之後,馬上就敲代碼了,敲完代碼馬上就debug。花點時間思考,敲代碼只是最後一個很簡單的工作,不要把自己變成一個代碼打字員,編寫邊想,寫了刪,刪了寫。安安靜靜把實現過程想清楚,在腦子里先實現一遍。再去敲代碼,水到渠成。
3.面向對象思維能力
如今,多數編程語言都是面向對象的編程語言。而這些面向對象的編程語言的共同的精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。我面試過很多程序員,沒有一個能說得上幾句的。
4.利用工具能力
工欲善其事,必先利其器。有了趁手的傢伙,工作效率可以提升數倍。你編程序,有沒有選擇一個很好的IDE,以前聽說編程高手都用記事本寫程序,我覺得那是一種自虐。就像以前看到的一篇文章,說一幫戶外旅行愛好者,出去旅遊,背了重重的旅行包,裡面裝著什麼壓縮餅乾等快速食品。他們寧可就著礦泉水啃壓縮餅干,也不肯去1里路都不到的快餐店,農家菜館吃飯。工具是為目的服務的,好用,提高效率就行,形式無所謂。
另外一個常用的工具就是日記本,好聽點可以稱為知識管理工具,我用的是myBase,感覺非常好用,在之前,我的所有的片段內容都是記錄的單獨的文本文件里的,非常不好找,管理也很混亂。
經常上互聯網,看到好多好的資料想保存下來,作為日後查看之用.一開始,我用的是firefox自帶的書簽,但是自己分類太累,多了之後不便於查找,很麻煩。後來用了得樂書簽(del.icio.us)的firefox插件,非常方便,現在成為了我必備的一個工具。
還有一個最重要的工具就是搜索引擎了,我裝了google forfirefox插件,感覺不錯,還有英文翻譯功能。按照我同事的說法,內事用,外事用google。很多技術資料都是英文的,用google搜索效率高一些。搜索引擎用好了,就等於打開了一扇通向知識寶庫的門,使用搜索引擎,關鍵字選擇很重要。
經常去瀏覽大牛的blog,逐個網站訪問很麻煩,去看了又可能沒有更新,可以藉助於RSS訂閱工具,我是用iGoogle桌面工具,每天早上花半個小時掃一下,大牛的最新文章盡收眼底了。
5. 英語能力
新的技術資料都是英文的,英語國家的IT技術走在我們前面至少10年(這是我自己估計的數字,可能正在縮小)。就連印度,一個連基礎設施建設都不太完善的國家,因為其英語基礎較好,其在軟體外包領域的發展也非常迅猛,遠遠超過了我們。學英語,首先是有信心,其次就是花時間。多閱讀英文資料,使用金山詞霸,google的firefox插件等工具配合,貴在堅持。
6.學習能力
在IT也混飯吃不容易,整個環境進化的太快,你不學習,就等於落後了。學習要有針對性,別今天學ruby,明天學python,後天php的。首先要認清自己的目標,自己短期目標是什麼,1年後,3年後,5年後的目標是什麼。結合這些目標,確定自己的學習計劃,人的精力畢竟是有限的。當然,多掌握幾門編程語言也是好的,可以擴充自己的知識面,重要的是為自己的目標服務。
要想系統的學習一門技術或工具,看書是最好的方法。看完後,然後上網找相關資料,進行深入學習。學習要抓緊一切可以利用的時間,比如電腦啟動要花1分多鍾,旁邊放一本書,可以看上幾頁了。公交車上,地鐵上也可以看。
當然,不能只學習技術,要經常聯系自己的軟技能,比如溝通能力,表達能力。你可以把自己學到的東西,解釋給自己的同事聽,既加深了理解,又增進了同事之間的交流。學習的最高境界就是你能夠把學到的東西解釋給別人聽,這才說明你理解了。在學習心理學上,稱之為構成主義。
我學一樣東西,總是先上網了解有沒有相關書籍,如果想學,就買一本或者去圖書館找相關的書來讀。我買的書,家裡快放不下了(到目前位置,我買了1萬多塊的書)。我多半是把目錄看完,了解這本書講解的主要內容,然後需要的時候,我就可以立即補充它進入到我的知識結構。每個人可能都有自己的學習方法,意識到學習的重要,並能夠根據需要補充自己的知識,這種能力更重要。
7.創造能力
普遍認為,東方人模仿能力很強,但創造能力差。我見過很多這樣的程序員,經常說,「這個只能這么解決了,我想不出有什麼別的方法。」可能他根本都沒想過別的方法,或者懶得去想。對任何一個問題,找出兩種以上的解決辦法都是非常容易的,簡單的google一下,可能就是數十種。悲哀的是,有些程序員經常止步於自己構建的狹小領地之內。對待客戶也是這種態度,不是積極的幫助客戶解決問題,而是推脫這只是唯一解決方案。
打破這一思維定勢的首先的一個辦法就是在面臨一個問題時,首先想到的是「沒有不可能」,或是「一切皆有可能」,前面那個是阿迪的廣告語,後面是李寧的。只有這樣去想,才能尋找解決問題的別的出路,即使最後我們試了很多種辦法,還是只有著一種解決方案,但我們在這種尋找解決方案的過程中,常常會產生很多好的想法,這樣才會使我們真正深刻思考一個問題。建議大家看一看《水平思考》這本書,他提供了一些進行創造性思考的方法和工具。
但我認為,堅持認為存在另一種解決方案的信念是第一位的,方法和工具都是其次。
8.文檔能力
也許有人會質疑,程序員跟寫文檔有什麼關系。大家開源軟體也用過不少,看看Spring,hibernate,Struts等最流行的開源軟體的文檔就知道,他么的tutorial,他們的getstarted,他們的reference文檔寫的多麼的易懂。其實寫代碼也相當於寫文檔,只不過用的是編程語言。同樣,寫文檔,用自然語言,也相當於寫程序,簡單明了,清晰易懂,這樣的「程序」誰看誰舒服。同樣,對於想進階到設計師或者需求分析員角色的程序員,文檔能力更是非常重要。
word是一個最實用的工具,很多程序員,多級編號都不會用,索引目錄也不知道如何生成,更別靈活應用樣式了。很多排版都是所謂的dirty work。垃圾樣式一大堆。其實,靜下心來,稍微學習一下,就能寫出一篇格式漂亮的文檔。
9.抽象能力
抽象能力是認識事物從現象到本質的能力。如果你只是停留在「見山是山,見水是水」的層次,客戶說什麼,你就做什麼,設計怎麼做,你就怎麼實現,從來不過問為什麼,也不去想他是滿足了用戶哪些方面的需求呢。這樣可能只解決了表面的問題,可能會引起返工。認識到本質,才能讓你的程序具備更大的靈活性和可擴展性。在做企業應用軟體開發中,抽象能力體現為對問題域的理解能力,對領域模型的抽象。合理的抽象也是代碼重構的前提,每一次重構,都是向更好的抽象邁進了一步。
10.代碼評審能力
代碼評審和單元測試是保證代碼質量的兩種常用手段之一。代碼評審能力,說明了你的審美標准,知道什麼是好的,什麼是不好的,什麼是優雅的代碼,什麼是糟糕的代碼,你才能讓自己做的更好。
11.單元測試能力
沒有單元測試的代碼,只能說是半成品。因為沒有什麼能證明你的代碼是可以運行的。測試驅動開發是一個非常好的敏捷過程的最佳實踐。單元測試還可以作為回歸測試,在修改代碼時,起到警戒線標志的作用。是否具有單元測試的意識是區分程序員是否合格的重要標准。寫不寫單元測試是區分平庸程序員和優秀程序員的重要標桿。
12.DRY
DRY是一種原則,就是Don't RepeatYourself.出自《程序員修煉之道-從小工到專家》。這條原則可以用到很多地方,比如你經常要編譯,打包,部署應用程序,供集成測試用。每次你都在重復你自己,寫一個自動化腳本(比如用ant,批處理命令)來將這些工作自動化,以提高效率。
還有一個就是我們經常在不同的地方切換IP,如果每次手工做,也非常浪費時間,寫一個bat命令可以解決,找一個小工具也可以解決。
編碼時,對代碼的復用也是在重復你自己,雖然拷貝過程很爽,但是維護一致性就要付出巨大的工作量,特別是將來維護的人不是你的時候,使用代碼生成工具可以解決這個問題。類似的例子太多了,如果你發現你經常做一些重復的工作,就要警惕了,是否違背了這個原則,想一些辦法將他們自動化。
⑸ 程序員入行門檻真的那麼低嗎
程序員入行難易度分析:
程序員門檻
①從業不需要執照或資格證書,能寫代碼即可入行
②學習渠道豐富,可以通過課堂、網路、書籍、培訓等獲取相關行業技術知識。
③需求量大,校招搶學生的時候,不會寫代碼都能招進去。
入行門檻是不高,發展門檻就不低了。
①行業在高速發展之中,造就了無數的崗位,崗位一多沒經過系統培訓的人就這么入行了。如果工作過一段時間,你就會發現那些程序員會「差那麼一點點東西」。
②現在的碼農隊伍起碼縮水90%。就互聯網來說,到處充斥著 一群 「HTML文本構造人員」。僅此而已。
③程序員這個概念太大了,會 html/css 的人、會寫 linux 內核的人,都是「程序員」,前者門檻有多高?後者門檻又有多高?
④程序員這個行業,能力層次太多。而恰恰社會也需要各個層次的程序員。
⑤再比如同樣會寫 html/css 的人,能寫出優雅的兼容的 css 和不兼容的 css 又是不同層次,而且層次相差也不小。
入行門檻不高,多掌握技術才是發展硬道理
這行競爭很激烈工作強度大,入行也只是萬里長征的開始而已。一個行業,都有他的付出。不斷的學習才是程序員的歸宿。
⑹ 新手怎麼入行java程序員
和Java相關的技術很多,讓人眼花繚亂,但要想作一個優秀的工程師,不能被那些看上去時髦的名字迷惑。寫程序歸根到底就是在實現演算法和數據結構,對於Java工程師來說,掌握語言和程序編寫的基礎比學習什麼框架、第三方包重要得多。
因此,我的建議是優先打牢基礎,熟練掌握常用數據結構和演算法分析方法,深刻理解Java語言(面向對象、JVM、設計模式)。在這樣的基礎上再去學習一些第三方的框架、技術就會覺得簡單多了。這是我寫了近10年程序的感受。
⑺ 初學程序員要掌握些什麼,要怎麼學習
零基礎的我該如何學習?
如果想做一個程序員,在沒有基礎的情況下,買書自學是一個辦法,但是大多數人會因為沒有相關的基礎知識,導致看書看得一知半解,因為有不同的語言,不同的開發環境,在你不了解的時候,買的書不一定合適。
比較速成的辦法還是去報名一個培訓班,系統的學習一下基礎知識,然後選擇一個發展方向,再具體的針對性的買點書籍來學習。
遇到不懂的問題的時候,盡量少的去網上上直接找答案,而是去各種論壇或官方網站了解比較底層的原理,然後思考解決方案,這樣才能知其然知其所以然。
程序員是一個不停學習的崗位,你需要每天除了工作以外,花一定的時間了解新的技術或正在使用的技術的原理,這樣才能一直提高,不然,可能會被淘汰。
在你了解代碼以後,你還需要了解邏輯,就等於你要熟悉你所從事的這個領域及行業,比如你做教育,那就要熟悉教育行業的業務,做財務,就要熟悉財務的邏輯,這樣才能寫出好的代碼。
首先要學習什麼?
我覺得可以先選一門簡單的語言進行學習,這樣可以先對編程有一個初步的認識,我學習的第一門語言是c,學得不精,簡直就是入門中的入門。我覺得c、java、Python都是不錯的入門語言。
然後這樣一邊認識編程,一邊去了解自己想開發的東西需要什麼技術,比如開發安卓要用java。
詳細的了解之後需要的就是不斷地去補充這些自己不懂的東西。我覺得沒有必要在第一門語言選什麼上糾結太久,就我個人而言,才學編程對時候連什麼是面向對象編程都不知道,根本無法知道自己真正需要的技術是什麼,又怎麼選呢?
我認為最重要的就是盡快選一個語言開始學習吧!
給自學成材的新手程序員的六個建議
1、讓編程成為一個習慣
想要培養一項技能的最好的辦法,就是將他融入到我們的生活並成為我們的愛好。其實說白了,就是讓這個愛好成為一個習慣,一天不去做這件事情,都會覺得少了什麼。在不知不覺中,這個習慣會像滾雪球一樣積累起來。
對我來說,養成這種習慣首先就是要對「拖延症」說不。
比如,你想鍛煉下自己的寫作能力時,但是沒有好看的本子,沒有好的靈感,沒有安靜的環境....總之就是找各種理由一拖再拖,最後就不了了之了。但仔細想想等你有了好看的本子,舒適的環境....就能寫出好的文章嗎?不!我很明確的告訴各位,文章的功底是隨著你不斷的積累而成的。
所以,當我們決定去做某件事情,請立刻!馬上!現在就要開始行動!
接著從小事入手,如果我決定開始跑步,那麼最初只會要求自己每周跑兩、三天。雖然看起來要求低,但這樣的做法更容易長期堅持,且不會被其它因素所輕易干擾。
同樣的思路也適用於學習編程。每周拿出幾天,每天拿出幾個小時,編程學習就這樣慢慢步入正軌。如果大家覺得沒心情閱讀編程教材,沒關系,視頻網站上的技術講座能夠起到同樣的作用。
2、把工作拆分成小塊
對待編程工作,我們沒必要像健身狂人那樣一口氣做到筋疲力盡。與其直接編程2小時,我們完全可以先做25分鍾、而後休息5分鍾,整個過程重復4次。很明顯,25分鍾這樣的短周期更容易堅持也不會帶來多少壓力。
不過這樣的方式應該配合更為靈活的執行思路。如果您感覺狀態很好,而25分鍾才剛剛完成熱身,那就繼續做下去並努力讓自己抓住這種狀態。
另外要向大家推薦番茄工作法,這是種學習新型技能的良好機制,因此推薦各位認真了解。
3、閱讀別人的代碼
經過這幾年的編程學習,我認為想要提升編碼水平的最佳途徑就是多看、多寫,然而閱讀別人的代碼也確實是快速提升代碼水平的一個技巧。
4、尋找良師益友
5、寫技術文章
如果大家學習了一種新的編程概念,但不能確定自己是否已經真正掌握,可以寫技術博文加以檢驗。一來可以提高自己的編程水平,二來也能提高自己的知名度,將來找工作也會比別人多一個機會。
6、保持耐心
對於人生來說,其中任何目標的實現都離不開耐心。編程學習就如其它任何學習任務一樣,都需要反復努力並投入大量時間。
在這個過程中,您一定會經歷高潮與低谷——別被這些曲線影響了心情。接受已經發生的一切,並盡可能避免其中不好的部分。
就像打高爾夫球一樣,我們的手感總在不斷浮動,但只要堅持到底,您最終總能成為一個大神呢?
總結
啰啰唆嗦的說了這么多,也算是自己當初自學找工作的一個縮影,希望給那些還掙扎在自學之路上的小夥伴帶來些許的信心。
⑻ 現在程序員入行門檻,是否真的有那麼低嗎
程序員從業不需要執照或資格證書,只要能寫代碼即可入行,比醫生、教師、律師門檻
程序員學習渠道豐富,可以通過課堂、網路、書籍、peixun等獲取相關行業技術知識。
程序員需求量大,校招搶學生的時候,不會寫代碼都能招進去。
雖然程序員的門檻低,但是門裡面的天地也是很廣闊的。技術日新月異,需求變化多端,開發的系統也可能是冗餘復雜,這行競爭很激烈工作強度大,入行也只是萬里長征的開始而已。
⑼ 怎樣才能成為一名程序員
要選擇一本基礎教程,選擇哪本不重要,重要的是必須從頭至尾堅持讀完整,能記住多少都無所謂,下一步就是做範例,按書里的範例一個個實操,不懂就翻讀過的基礎書和範例實解,堅持做過去,到這時就已經入門了,然後給自己找個課題做,這時候會發現教科書的內容已經不足以回答你的問題了,就該到編程論壇或專業網站找答案,這關過了,基本是程序猿了,但也僅僅是入門而已,再要發展,就是系統架構分析師。
⑽ 想成為程序員真的很難嗎
難不難是一種個人體驗,那是因人而異的,喜歡編程的,感興趣的,有學習動力的,學起來就不會難相反的,沒有興趣硬著頭皮去學的,那肯定不容易。