⑴ 程序員需要具備的素質有幾種
隨著計算機行業的發展,市場上程序員的數量越來越大,很多人開始轉行學習軟體開發,這就導致程序員開始分為三六九等。怎麼才能成為優秀的程序員呢?程序員不僅需要掌握開發技能,職業素養也是非常關鍵的。那麼作為程序員需要具備哪些素質呢?下面電腦培訓為大傢具體介紹。
一、團隊精神和協助能力
協助是一個團隊裡面不可或缺的精神,這是一種互相信任的無私奉獻,在任何團隊中,團隊裡面的隊員都是互補的。對於一名優秀的程序員來說,他知道團隊的力量是遠遠超過一個人的力量。在工作中沒有個人主義,團隊不僅強調個人的工作結果,更重要的是強調團隊的整體表現。IT培訓認為團隊不僅依賴於頭腦風暴和決策,還依賴於其成員的貢獻。我們都知道一根筷子容易折,一把筷子難折斷,這就是團結的力量。
二、求新求精
優秀的程序員善於尋求新的想法,並且能夠對新技術充滿更多的好奇心。
三、條理清晰
毫無疑問,優秀程序員解決問題的想法特別明確,事情能夠有條不紊的進行。北大青鳥認為對於很多程序員來說,編寫代碼是一種能夠使人非常幸福的過程。
四、書寫注釋和文檔能力
很多人認為編程就是寫代碼,其實這種想法是非常片面的。軟體開發主要是由代碼和文檔組成的,一名優秀的程序員,不僅需要寫好代碼,還需要具備很強的注釋和文檔書寫能力。注釋和文檔是非常重要的環節,如果在寫代碼的過程中沒有進行注釋和文檔,後期進行代碼修改和調整是非常困難的,並且還會出現很多麻煩。昆明北大青鳥認為程序員不僅需要具備編寫代碼的能力,在學習中掌握注釋和文檔也是非常關鍵的步驟。
⑵ 想成為程序員需要哪些能力
程序員也是一個崗位而已,通常各個崗位都需要的通用素質,程序員也需要具備,例如責任心、吃苦耐勞的精神等。
至於程序員特有的能力,一般來說至少應該包含以下幾方面:
較好的邏輯思維能力;
良好的學習能力(IT技術發展特別快,要緊跟最新技術);
較好的英文技術文檔閱讀能力(除非在外企,一般的企業並不需要四六級考高分,但能夠快速閱讀理解英文技術文檔是十分必要的);
良好的體力(IT行業經常加班,要有好的身體作保障)
⑶ 關於程序員職業生涯規劃
鏈接:http://pan..com/s/1p1G4NCUtPNVvkkXE7qxFbQ
程序員進階攻略。如何才能持續成長,是每一個程序員都繞不開的話題。入行之初,你可能會困惑於技能選擇的方向和掌握的方法;編程前期,你可能會苦惱於Bug的調試與修復;技術水平達到瓶頸期,你可能又急於尋求突破和上升。除此之外,職業倦怠了,如何去面對?技術停滯了,如何去解決?人到中年,是選擇工作還是選擇生活?換工作?換城市?換方向?如是種種,磨蝕著曾經的樂觀和現在的不甘,是放任自流還是逆流而上?
課程目錄:
開篇詞 (1講)
開篇詞 | 程序行知:走在同樣的路上,遇見自己的風景
征途:啟程之初 (4講)
01 | 初心:為什麼成為一名程序員?
02 | 初惑:技術方向的選擇
03 | 初程:帶上一份技能地圖
04 | 初感:別了校園,入了江湖
修煉:程序之術 (10講)
05 | 架構與實現:它們的連接與分界?
......
⑷ 程序員的 職業素養
程序員因其致力於程序開發、設計、維護、編程等這一特殊領域,使其天生具備了堅定的職業信念、超強的職業知識技能、良好的職業行為習慣等職業素養。
簡介:
程序員(英文Programmer)是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、高級程序員、系統分析員,系統架構師,測試工程師五大類。
崗位職責:
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
職業認證:
考試介紹:
軟考程序員考試屬於計算機軟體水平考試(簡稱軟考)中的一個初級計算機職稱考試。對於軟考程序員考試並無學歷及資歷條件限制,更無論年齡、專業與資歷。一年可報考軟考程序員考試兩次,但一次考試只能報考一種資格,因此報考了程序員考試則無法再報考軟考其他級別或科目的考試。同時軟考程序員考試採用筆試形式,考試實行全國統一大綱、統一試題、統一時間、統一標准、統一證書的考試方式。
通過國家統一組織的考試,資格考試分為:程序員級(原初級程序員)、軟體設計師(原高級程序員)以及更高水準的:信息系統項目管理師、系統分析師(原系統分析員)、系統架構設計師、網路規劃設計師、系統規劃與管理師。
考試目標:
通過本考試的合格人員能根據軟體開發項目管理和軟體工程的要求,按照程序設計規格說明書編制並調試程序,寫出程序的相應文檔,產生符合標准規范的、實現設計要求的、能正確可靠運行的程序;具有助理工程師(或技術員)的實際工作能力和業務水平。
1、CVEQC認證持有者已經通過了中國職業教育資格認證指導中心組織的培訓和相應的考試,具有相應的專業技能和知識。
2、CVEQC證書可作為勞動者崗前培訓、在職培訓、提高培訓、繼續教育的培訓認證;也是勞動者「先培訓、後就業,先培訓、後上崗」的憑證。
3、CVEQC證書是中國職業教育資格認證指導中心頒發的專業技能證書。標有證書序列號、證書編號、培訓者及證書持有者身份證號碼,並蓋有全國職業教育管理委員會、中國職業教育資格認證指導中心的證書專用章。
4、 證書證明參加培訓及證書持有者具有系統地接受崗位技能培訓的經歷,證書在全國范圍內有效。
二、報考條件:凡遵守中華人民共和國憲法和各項法律,恪守職業道德,具有一定計算機技術應用能力的人員,均可根據本人情況報名參加相應專業類別、級別的考試。[1]
考試要求:
(1)掌握數據及其轉換、數據的機內表示、算術和邏輯運算,以及相關的應用數學基礎知識;
(2)理解計算機的組成以及各主要部件的性能指標;
(3)掌握操作系統、程序設計語言的基礎知識;
(4)熟練掌握計算機常用辦公軟體的基本操作方法;
(5)熟練掌握基本數據結構和常用演算法;
(6)熟練掌握C程序設計語言,以及C++、java、Visual Basic中的一種程序設計語言;
(7)熟悉資料庫、網路和多媒體的基礎知識;
(8)掌握軟體工程的基礎知識,了解軟體過程基本知識、軟體開發項目管理的常識;
(9)了解常用信息技術標准、安全性,以及有關法律、法規的基本知識;
(10)了解信息化、計算機應用的基礎知識;
(11)正確閱讀和理解計算機領域的簡單英文資料。
相關書籍:
很多程序員響應,他們在推薦時也寫下自己的評語。 以前就有國內網友介紹這個程序員書單,不過都是推薦數 Top 9的書。
其實除了前9本之外,推薦數前30左右的書籍都算經典,筆者整理編譯這個問答貼,同時摘譯部分推薦人的評語。
下面就按照各本書的推薦數排列。
1、《代碼大全》 史蒂夫·邁克康奈爾
2、《程序員修煉之道》
3、《計算機程序的構造和解釋》
4、《演算法導論》
5、《重構:改善既有代碼的設計》
6、《設計模式》
7、《人月神話》
8、《計算機程序設計藝術》
9、《編譯原理》(龍書)
崗位分類:
世界上第一位程序員是英國著名詩人拜倫的女兒AdaLovelace,曾設計了巴貝奇分析機上解伯努利方程的一個程序。她甚至還建立了循環和子程序的概念。由於其在程序設計上的開創性工作,AdaLovelace被稱為世界上第一位程序員。美國國防部開發的ADA語言就是為紀念這位世界上的第一位程序員而命名的。
計算機科學發展到今天(21世紀初期),程序員從事的人群很多,分工也不相同,從大的方面可以分為以下幾類:asp程序員、jsp程序員、delphi程序員、php程序員、powerbuilder程序員、C程序員、linux程序員、net程序員、vb程序員、java程序員、javascript程序員、C++程序員、Python程序員、android程序員、iOS程序員。
職業要求:
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
素質要求:
團隊精神和協作能力:
團隊精神和協作能力是作為一個程序員應具備的最基本的素質。軟體工程已經提了將近三十年了,當今的軟體開發已經不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發財,但是進入研發團隊,從事商業化和產品化的開發任務,就必須具備這種素質。可以毫不誇張的說這種素質是一個程序員乃至一個團隊的安身立命之本。
文檔習慣:
文檔是一個軟體系統的生命力。一個公司的產品再好、技術含量再高,如果缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟體作坊。作為代碼程序員,必須將30%的工作時間用於寫技術文檔。沒有文檔的程序員勢必會被淘汰。
規范化的代碼編寫習慣:
知名軟體公司的代碼的變數命名、注釋格式,甚至嵌套中行縮進的長度和函數間的空行數字都有明確規定,良好的編寫習慣,不但有助於代碼的移植和糾錯,也有助於不同技術人員之間的協作。
測試習慣:
測試是軟體工程質量保證的重要環節,但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責。程序員要認識測試不僅是正常的程序調試,而要是要進行有目的有針對性的異常調用測試,這一點要結合需求理解能力。
學習和總結的能力:
程序員是很容易被淘汰的職業,所以要善於學習總結。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術人員無論學了多少語言,代碼寫起來多熟練,只能說他是一名熟練的代碼民工(碼農),他永遠都不會有質的提高。一個善於學習的程序員會經常總結自己的技術水平,對自己的技術層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟體設計師、系統分析員。
擁有強烈的好奇心:
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。
日常工作:
確認通過審查方案的目標,輸入數據,分析師,監事,和客戶的輸出要求的項目要求。
安排項目要求在編程序列分析要求;准備工作流程圖和使用計算機知識的能力,題材,編程語言和邏輯圖。
編碼工作流程的信息轉換成計算機語言的項目要求。
通過輸入編碼信息的計算機程序。
確認程序操作進行測試,修改程序序列和/或代碼。
准備寫操作指令供用戶參考。
保持歷史記錄,通過記錄方案的制定和修訂。
維護客戶的信心和保護保密的業務。
技能/資格:一般的編程技巧,分析信息,解決問題,軟體演算法設計,軟體性能優化,注重細節,軟體設計,軟體調試,軟體開發基礎,軟體文檔,軟體測試。程序員其實分為很多種,大家開發的語言可能不盡相同,但是都是有他們的共同點。
⑸ 程序員提升個人能力的方法有哪些
一個人想要提升能力的方法有很多種,程序員在工作過程中華提升個人能力是非常關鍵的。對於程序員來說,不僅需要提升個人能力,提高自己對項目開發的實踐能力也是非常關鍵的。那麼程序員應該從哪些方面提高自己的能力呢?下面北大青鳥為大家介紹程序員提升個人能力的方法。
1、了解自己的興趣傾向
首先最重要的就是了解自己對什麼行業感興趣,自己想要在哪裡領域中進行發展。其實最重要的還是要了解自己對什麼事情更加感興趣,在學習過程中,興趣是非常重要的,它能讓你在遇到問題的時候積極解決問題,並且不斷的堅持學習。
2、個人的工作經驗
選擇決定這發展,你是想進行前端還是後端,是在大公司發展還是小公司發展,主要針對於用戶還是商業,偏向於設計方法還是決策方面。在考慮個人能力提升的時候,昆明IT培訓建議最好根據自身之前的工作經驗進行考慮。
3、個人的優勢和劣勢
正確認識自己的長處和短處是一個自我認識的過程,這是很多人希望能夠在對話中進行認識和准確定位的。在選擇就業的過程中,如果能夠很好的展示出自己的優勢,能夠具備更大的競爭力,但是在展示自己優點的同時,還需要認識到自己的缺點,雲南IT培訓認為只有清晰的認識自己,才能在工作中避免和不斷的提升自己。
4、個人成長規劃
事實上,每個人都需要有一個明確的願景,即其短暫的職業生涯、其增長道路、明確了解自己想要找到的方向、規劃或自我定位,這是需要非常清楚的,但是雲南電腦培訓認為隨著個人規劃的不斷明確,自己的目標也會更加清晰。
⑹ 程序員想要在職場中實現「跨越式」成長,該如何學習呢需要培養什麼能力
程序員想要在職場中實現「跨越式」成長,學習需要培養的能力:程序編寫世界是多元化繁雜的,大方向就分前端工程師、後端工程師、移動應用開發、雲計算技術、數據處理方法、智能產品、物聯網技術、虛擬現實技術這些,光計算機語言都幾十種。假如沒有做過課程,盲目進到只能一下子懵圈。所以盡量是依據個人興趣愛好再根據行業前景,先選中一個方向,重新選擇一門語言,隨後頭也不回的深深地扎進去。
⑺ 想當程序員,大學應該學什麼專業
想當程序員可以學這兩個專業:
1、軟體工程
軟體工程專業以計算機科學與技術學科為基礎,強調軟體開發的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等工作所必需的基礎知識、基本方法和基本技能,突出對學生專業知識和專業技能的培養,培養能夠從事軟體開發、測試、維護和軟體項目管理的高級專門人才。
2、計算機科學與技術
計算機科學與技術專業主要培養具有良好的科學素養,系統地、較好地掌握計算機科學與技術包括計算機硬體、軟體與應用的基本理論、基本知識和基本技能與方法,能在科研部門、教育單位、企業、事業、技術和行政管理部門等單位從事計算機教學、科學研究和應用的計算機科學與技術學科的高級科學技術人才。
選了這兩個專業,會在大學中學習到c語言,c++,java,javaweb等等一系列編程語言,要注意的是,大學里一般一個學期結束一門語言課程的學習,進度會非常快,課程安排量也不會太充足,想要學好,還得靠自己課下努力才行,至少得掌握一門自己拿手的語言。
當程序員需要具備的能力
1、編程語言能力
作為合格的計算機程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個程序就能說精通的,要靠長時間的積累。
2、編碼能力
遵守編碼規范,是一個程序員最基本的要求。另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
3、面向對象思維能力
多數編程語言都是面向對象的編程語言。而這些面向對象編程語言的共同精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。
⑻ 程序員要具備什麼技能
一名合格的程序員需要掌握哪些技能呢?
熟練掌握開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVA One很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,C Builder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL, Postgres等。
對操作系統有一定的了解
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。只有對操作系統有一定的了解後,你會發現自己上了一個新的台階。
懂得網路協議TCP/IP
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEB Services,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,所以,深入掌握TCP/IP協議是非常必要的。至少,你需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEB Services存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。程序員需要做的不僅僅是利用商業的開發平台來開發軟體,而是要理解這些技術的初衷,即為什麼需要這項技術,如果你能理解了這一點,再回頭看這些技術的具體實現,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布計算的基石之一。
不要將軟體工程與CMM分開
現代大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。一句話可以概括我的看法:「創意無限,流程保證」。
擁有強烈的好奇心
什麼才是一個程序員的終極武器呢,那就是強烈的好奇心和學習精神。沒有比強烈的好奇心和學習精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。