❶ 當程序員需要什麼知識
如果做一個專業的程序員:
1.基礎語言知識 :從底層的ASM 到結構化的C,到面向對象的C++ java,如果不能都精通,但是要了解,至少要精通一門
2.基礎數學知識: 高等數學(數學分析) 線性代數 離散數學,概率.數理統計等等
3.基礎計算機原理:操作系統原理,微機原理,編譯原理 資料庫原來等等
4.看你感興趣的學習一個方向:圖形學...windows應用程序開發...linux程序開發,資料庫方面 網路編程,等等
----------------------------------------------------------------------
如果只是想快速編軟體:
敬告:這樣不會成為一個真正的高手!
比如windows平台的編程:<這里僅僅是比如>
學習C語言(熟悉結構化編程)->《windows程序設計》(學習windowsAPI知識) ->可以用API進行編程了。
但是現在用純API編程幾乎絕跡。不是淘汰,因為商業用要盡快成為軟體好賣,API開發會消耗程序員大量時間,但是API是基礎。
或者
學習C++語言(熟悉面向對象技術)->《MFC程序設計》(學習MFC編程)->MFC開發 -> MFC應用比較廣
.net技術我沒有接觸過。現在正流行這個,等樓下的給你介紹吧!
------------------------------------
相比較而言,用DELPHI最省事。但是你要了解Object Pascal語言,這個編程工具是以這個語言為基礎的。Delphi開發也是很不錯的。
-------------------------------------
以上只是一個建議,學習不可能簡單,而且路子不一樣,上邊提到的兩windows書,是微軟出版社,在這個方面最權威的書。
❷ 想當程序員,大學應該學什麼專業
想當程序員可以學這兩個專業:
1、軟體工程
軟體工程專業以計算機科學與技術學科為基礎,強調軟體開發的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等工作所必需的基礎知識、基本方法和基本技能,突出對學生專業知識和專業技能的培養,培養能夠從事軟體開發、測試、維護和軟體項目管理的高級專門人才。
2、計算機科學與技術
計算機科學與技術專業主要培養具有良好的科學素養,系統地、較好地掌握計算機科學與技術包括計算機硬體、軟體與應用的基本理論、基本知識和基本技能與方法,能在科研部門、教育單位、企業、事業、技術和行政管理部門等單位從事計算機教學、科學研究和應用的計算機科學與技術學科的高級科學技術人才。
選了這兩個專業,會在大學中學習到c語言,c++,java,javaweb等等一系列編程語言,要注意的是,大學里一般一個學期結束一門語言課程的學習,進度會非常快,課程安排量也不會太充足,想要學好,還得靠自己課下努力才行,至少得掌握一門自己拿手的語言。
當程序員需要具備的能力
1、編程語言能力
作為合格的計算機程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個程序就能說精通的,要靠長時間的積累。
2、編碼能力
遵守編碼規范,是一個程序員最基本的要求。另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
3、面向對象思維能力
多數編程語言都是面向對象的編程語言。而這些面向對象編程語言的共同精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。
❸ 想做程序員,要些什麼條件
程序員是一種技術工作,在IT的發展中有相當重要的地位,從底層硬體通訊協議的建立, 到數據傳輸層的處理,到操作系統的建設,到資料庫平台的建設,一直到應用層上各種數 據營銷平台的搭建,程序員在裡面都扮演著舉足輕重的角色並為IT事業的發展做出了巨大 的貢獻。
中國有很多精於編碼的人,但是中國軟體行業,尤其是網路應用開發方面誤區很大,很難 形成有規模的軟體開發力量和產品能力,不但比美國差距甚遠,和印度相比也是頗有不 如。這些問題不是在於中國程序員的智商和工作努力狀況,也不是在於國家和民間對開發
的投入程度,而是很大程度上,有一些對技術,對程序開發,對項目設計方面的思想誤 區,這些誤區,導致了軟體行業的產品化能力不足,缺乏規模化和大型復用系統研發能 力,可以說,改變認識誤區,是解決軟體行業小作坊模式和個體英雄模式所帶來的局限性 的重要工作。
中國有很多小朋友,他們18,9歲或21,2歲,通過自學也寫了不少代碼,他們有的代碼寫的 很漂亮,一些技術細節相當出眾,也很有鑽研精神,但是他們被一些錯誤的認識和觀點左 右,缺乏對系統,對程序的整體理解能力,這些人,一個網上的朋友說得很好,他們實際
上只是一些Coding fans,壓根沒有資格稱為程序員,但是據我所知,不少小網路公司的 CTO就是這樣的coding fans,拿著嚇人的工資,做著嚇人的項目,項目的結局通常也很嚇 人。
程序員基本素質:
作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具 有的素質。
1:團隊精神和協作能力
把它作為基本素質,並不是不重要,恰恰相反,這是程序員應該具備的最基本的,也是最 重要的安身立命之本。把高水平程序員說成獨行俠的都是在囈語,任何個人的力量都是有 限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創造奇跡,那些遍布全球
的為linux寫核心的高手們,沒有協作精神是不可想像的。獨行俠可以作一些賺錢的小軟 件發點小財,但是一旦進入一些大系統的研發團隊,進入商業化和產品化的開發任務,缺 乏這種素質的人就完全不合格了。
2:文檔習慣
說高水平程序員從來不寫文檔的肯定是乳臭未乾的毛孩子,良好的文檔是正規研發流程中 非常重要的環節,作為代碼程序員,30%的工作時間寫技術文檔是很正常的,而作為高級 程序員和系統分析員,這個比例還要高很多。
缺乏文檔,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模塊的復用時就都會遇 到極大的麻煩。
3:規范化,標准化的代碼編寫習慣
作為一些外國知名軟體公司的規矩,代碼的變數命名,代碼內注釋格式,甚至嵌套中行縮 進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和 糾錯,也有助於不同技術人員之間的協作。
有些coding fans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自 己壓根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質需求。
再看看整個linux的搭建,沒有規范化和標准化的代碼習慣,全球的研發協作是絕對不可 想像的。
4:需求理解能力
程序員需要理解一個模塊的需求,很多小朋友寫程序往往只關注一個功能需求,他們把性 能指標全部歸結到硬體,操作系統和開發環境上,而忽視了本身代碼的性能考慮,有人曾 經放言說寫一個廣告交換程序很簡單,這種人從來不知道在百萬甚至千萬數量級的訪問情
況下的性能指標是如何實現的,對於這樣的程序員,你給他深藍那套系統,他也做不出太 極鏈的並訪能力。性能需求指標中,穩定性,並訪支撐能力以及安全性都很重要,作為程 序員需要評估該模塊在系統運營中所處的環境,將要受到的負荷壓力以及各種潛在的危險
和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發和跟蹤經 驗才有可能有心得。
5:復用性,模塊化思維能力
經常可以聽到一些程序員有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復寫 一些沒有任何新意的代碼,這其實是中國軟體人才最大浪費的地方,一些重復性工作變成 了熟練程序員的主要工作,而這些,其實是完全可以避免的。
復用性設計,模塊化思維就是要程序員在完成任何一個功能模塊或函數的時候,要多想一 些,不要局限在完成當前任務的簡單思路上,想想看該模塊是否可以脫離這個系統存在, 是否可以通過簡單的修改參數的方式在其他系統和應用環境下直接引用,這樣就能極大避
免重復性的開發工作,如果一個軟體研發單位和工作組能夠在每一次研發過程中都考慮到 這些問題,那麼程序員就不會在重復性的工作中耽誤太多時間,就會有更多時間和精力投 入到創新的代碼工作中去。
一些好的程序模塊代碼,即便是70年代寫成的,拿到現在放到一些系統裡面作為功能模塊 都能適合的很好,而現在我看到的是,很多小公司軟體一升級或改進就動輒全部代碼重 寫,大部分重復性工作無謂的浪費了時間和精力。
程序員應具備的素質中
6:測試習慣
作為一些商業化正規化的開發而言,專職的測試工程師是不可少的,但是並不是說有了專 職的測試工程師程序員就可以不進行自測;軟體研發作為一項工程而言,一個很重要的特 點就是問題發現的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成後進行
認真的測試,就可以盡量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效 率和可靠性就有了最大的保證。
測試工作實際上需要考慮兩方面,一方面是正常調用的測試,也就是看程序是否能在正常 調用下完成基本功能,這是最基本的測試職責,可惜在很多公司這成了唯一的測試任務, 實際上還差的遠那;第二方面就是異常調用的測試,比如高壓力負荷下的穩定性測試,用
戶潛在的異常輸入情況下的測試,整體系統局部故障情況下該模塊受影響狀況的測試,頻 發的異常請求阻塞資源時的模塊穩定測試等等。當然並不是程序員要對自己的每段代碼都 需要進行這種完整測試,但是程序員必須清醒認識自己的代碼任務在整體項目中的地位和
各種性能需求,有針對性的進行相關測試並盡早發現和解決問題,當然這需要上面提到的 需求理解能力。
7:學習和總結的能力
程序員是人才很容易被淘汰,很容易落伍的職業,因為一種技術可能僅僅在三兩年內具有 領先性,程序員如果想安身立命,就必須不斷跟進新的技術,學習新的技能。
善於學習,對於任何職業而言,都是前進所必需的動力,對於程序員,這種要求就更加高 了。
但是學習也要找對目標,一些小coding fans們,他們也津津樂道於他們的學習能力,一 會學會了asp,一會兒學會了php,一會兒學會了jsp,他們把這個作為炫耀的資本,盲目 的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂
中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提 高。
善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有 目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高, 一個程序員才可能成長起來。
❹ 做程序員要什麼學歷什麼專業才可以
很多程序員,很多種情況,有大專、大本,有一個是念得法律後來轉行做程序員,有一個是技術院校出身,但是有一群朋友,很喜歡電子類的東西,創辦過工作室做網站,也在大公司做信息系統開發,後來做項目經理。如果本身專業和電子相關,就直接去找程序員的工作,如果無關,就需要自己找地方學,或者培訓機構,或者學校。
❺ 程序員需要什麼學歷
做程序員和學歷沒有太直接的關系,但不意味著學習編程什麼門檻也沒有。
理論上高中以上學歷就能學習編程,但並不意味著學歷具備了直接去做編程就是做好的選擇,因為等工作之後再去彌補知識需要擠時間,而且如果在成家立業之後再去擠時間顯得更加費勁,所以如果有深造機會就不要猶豫,直接去選擇深造。
編程主要講究一個編程基礎和編程意識的修煉過程,編程基礎裡面本身就包含著學歷方面的因素,但並不是最主要的,基礎的磨練是一個長時間的過程,所以可以用時間來彌補,用刻苦來彌補。
就目前的就業情形,華為、vivo、中興、OPPO等等企業在學歷上有嚴格的要求,要求985、部分211、少數雙非,而騰訊、阿里、網路等等企業對學歷沒有非常明確的要求。
但是對技術要求非常高,要想達到這一技術水平,也是需要好學校的環境和資源的共同作用下才能滿足,其實也是一種變相地對程序員的學歷要求。
程序員分類
一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類。
❻ 要做程序員需要學會什麼
其實簡單來說,程序員的工作就是使用編程語言,根據需求寫出一個程序。
但是,在這個過程中,涉及如下幾個方面:
使用的編程語言 程序員需要選擇一門或者多門語言來編程,不同的語言適合編寫不同的程序,目前主流編程語言包括,Java、JavaScript、Python、C++、php以及其他小語種等等,每種編程語言適合開發的程序有所不同。目前從程序應用分來,主要可以分為三類a 企業應用,主要用於解決企業業務。各種企業管理後台系統,銀行系統,公安系統,圖書管理系統等等。
b 互聯網應用,面向互聯網用戶,為互聯網用戶提供各類服務。比如現在的京東淘寶各類電商系統等。
c 移動應用,各類在移動端使用的APP,有面向互聯網用戶的APP,也有面向企業內部的APP。
目前相對而言,在移動應用和互聯網應用方面,資本投入比較熱的風口,程序員的薪資較高。企業應用,發展了很多年,相對平穩。
2. 明白需求,實現需求
需求就是編寫程序的要求。一個程序要編寫成什麼樣子,具備哪些功能,都是由需求來具體說明。程序員要需要能看懂需求文檔,並且能准確地使用編程語言,根據需求中的要求來編寫成程序。企業開發的項目,往往會由該程序的架構師提供一個程序框架,程序員在該框架的規范下進行編程,實現需求的功能,以確保程序的規范、可讀,以及可維護性。
3. 日常工作寫程序
一個軟體開發一般流程是產品經理根據用戶需求做一個項目出來,然後UI設計師做一些圖片設計,前端開發編寫頁面,後台開發編寫核心編程,然後介入一些大數據和人工智慧,通過測試之類上線實施,後期還有運維進行相關維護。
程序員一般大多指的是前端和後台寫代碼程序的開發人員,除了編寫代碼,可能還需要通過介面和其它系統對接,實現系統間的數據交換。像單體測試,是程序員對自己寫好的程序單元進行測試,檢測這個程序單元數據輸入和數據輸出是否符合預期等等。測試出來的問題,需要修改正確,然後再測試,直至沒有問題。和同事共同開發的時候也需要聯合測試,以及用戶測試過後如果存在BUG繼續進行修改。
❼ 想成為一位程序員需要學會什麼
程序員對從業的要求比較高,一是技能要求,二是軟實力要求。首先掌握一門編程語言,基礎語法必須熟練。從變數、循環、數組、指針、類等,都需要深入理解。這些知識雖然簡單,但是理解原理也要花費時間。我平時面試別人時,發現很多人雖然知道概念,深入描述時顯得很不專業。
掌握高級特性,除了基本語法以外,語言的高級特性,是你區別其他菜鳥的關鍵。比如:泛型編程、設計模式、編程技巧等,都是需要進一步掌握的,雖然部分知識很少用到,但是確實解決關鍵問題的利器。
學習使用第三方庫,會讓你的編程如魚得水。比如Boost、Qt等大型庫,可以讓你開發出企業級的代碼。當然也有許多小巧精緻的庫,在解決某些問題上讓你如魚得水。所以學會使用第三方庫,讓你可以復用前輩們的優秀代碼。
了解專業知識,除了語言方面,了解計算機相關的知識,也是重中之重。無論是:數據結構、操作系統、計算機網路、計算機組成原理等。
❽ 做程序員需要什麼學歷
隨著互聯網的快速發展,程序員的工資水漲船高,很多人想要轉行或誇專業進入IT這個高大上又薪資高的熱門行業,無奈沒有經過系統學習,空有一熱血卻不知道怎麼入門。
低學歷出路:
沒有學歷,可以去外包公司或者創業公司。
沒有學歷和有學歷,先不說學歷接受能力如何,從結果角度來說,在找工作的時候非常明顯。
因為80%的公司,在招聘時候,是明確要求本科學歷的,有些知名大企業明確要求第一學歷是985學校的,比如某訊,某為。
沒有學歷,如果你能付出時間,精力把編程技術聯練到爐火純青,能獨當一面,放心,你出來找工作,雖然去不了某訊,某為等
知名企業,但是可以去一些IT外包公司鍛煉下,比如軟通動力,中軟國際等等類似的公司,他們對學歷要求不會要求特別高,
還有部分小型創業公司,也不會對學歷要求特別高,但是對技術要求特別高。
說到底,就是如果你沒那個金剛鑽就別攬那個瓷器活。
未來發展:
有學歷與沒有學歷,未來發展方向完全是不同的,沒有學歷,未來發展的選擇極為有限。
IT創業
在沒有學歷情況下,在打工的時候,就要有危機意識,意識到你打工這個路子是不能走多遠的,你只能想辦法在打工的時候
積攢行業經驗,積攢人脈,積攢資金,等時機成熟的時候,自己出來創業做老闆(做公司,做工作室,做外包等等都可以)
我個人就是從最初的接外包,做到了從0到1萬,從1萬到20萬,從20萬到100萬的收入,到最後開了自己的公司。
我也就是利用業余時間慢慢積攢了行業經驗,人脈,以及資金,到最後時機成熟自己做了公司,實現財務自由,買房買車。
我相信絕大部分程序員,都會有這么個過程,只是有些選擇了打工+外包,有些膽子大的選擇了自己出來做公司。
❾ 做一名優秀的程序員需要什麼條件
(1).要喜歡上寫程序,如果沒有喜歡上,那就要學會去培養。程序員需要整天趴在電腦前,經常沒日沒夜的,非常辛苦,而且工作來不得半點虛假,少寫一個標點符號都不行。喜歡的人,日子過得非常開心,每寫一行代碼,都會有新的成就,尤其當自己的作品被廣泛應用的時候,那種自豪感油然而起。不喜歡的人,坐在電腦前極端無聊,被進度壓得喘不過氣來,天天為找bug改bug生氣。個人深有體會!這個「喜歡」就要大家在學習的過程中去體會。
(1).程序員應該是有感情的,程序員的程序最終是由用戶來評價的,而不是老師,或者我們的BOSS。設計程序時,要講究貼心,境界:我們也是Composer!
(2).程序員應該講究團隊協作,分配給團隊的大項目,不是一人之力能夠應付的,請尊重別人的代碼,以及設計,彼此需要全心全力配合
(3).有堅韌不拔的精神,我們編的不是程,是寂寞。愛上程序設計,靠編程潛移默化性格,大多數成功的程序員都是相信自己的人,所以,多多鼓勵自己一定是最好的。
一、優秀程序員的標准
1. 能夠准確地評估你的工作。
2. 第一時間提交有質量的工作成果。
3. 建立快速的反饋循環。
4. 確保代碼的准確性與後續跟進的協調性。
二、態度生活方面
1.踏實的工作態度;認真負責,少犯錯誤。
2.充滿熱情,努力工作;有團隊合作精神,能善於和別人相處。
3.有預見性,預先感測未知因素預估風險或後果。
❿ 想成為程序員需要哪些能力
程序員也是一個崗位而已,通常各個崗位都需要的通用素質,程序員也需要具備,例如責任心、吃苦耐勞的精神等。
至於程序員特有的能力,一般來說至少應該包含以下幾方面:
較好的邏輯思維能力;
良好的學習能力(IT技術發展特別快,要緊跟最新技術);
較好的英文技術文檔閱讀能力(除非在外企,一般的企業並不需要四六級考高分,但能夠快速閱讀理解英文技術文檔是十分必要的);
良好的體力(IT行業經常加班,要有好的身體作保障)