感謝邀請
程序員會敲代碼 但會敲代碼 可不一定是程序員
程序員(英文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、《編譯原理》(龍書)
10、《活著》
崗位分類 聽語音
世界上第一位程序員是英國著名詩人拜倫的女兒AdaLovelace,曾設計了巴貝奇分析機上解伯努利方程的一個程序。她甚至還建立了循環和子程序的概念。由于其在程序設計上的開創性工作,AdaLovelace被稱為世界上第一位程序員。美國國防部開發的ADA語言就是為紀念這位世界上的第一位程序員而命名的。
計算機科學發展到今天(21世紀初期),程序員從事的人群很多,分工也不相同,從大的方面可以分為以下幾類:asp程序員、delphi程序員、php程序員、powerbuilder程序員、C程序員、linux程序員、net程序員、vb程序員、java程序員、javascript程序員、C++程序員、Python程序員、android程序員、iOS程序員。
行業現狀 聽語音
由CSDN、《程序員》主辦的2007年開發者大調查2007年底已收到15000多份有效問卷,已經是中國調查樣本最多的開發者調查。在這次調查中,詳細的分析了樣本空間的分布狀況,發現在龐大數目的有效問卷的參與者中有70%也就是接近一萬一千名的參與調查者是IT的全職人員,14%的參與者是有過開發工作經驗的學生,從這樣的分布就可以看出來IT從業人員對專業知識的需求是巨大而迫切的,CSDN作為專業的軟件開發技術門戶網站,已經是大家獲取這些技術知識的主要手段。
程序員
一、選擇數據庫技術和互聯網技術的人數總和占到了總人數的一半
2007年火熱的SOA和動態語言各占13%和12%。其實這幾大塊技術分布他們之間都是有一定的聯系的,互聯網的發展近兩年呈爆炸式的增長態勢,中國的網民總數已經超過了1.4億這樣一個巨大的數字。
企業中業務的復雜程度越來越高,商業競爭不斷增加企業的IT系統,使企業的商業數據呈幾何數量級不斷增長,在后臺海量的數據中數據的管理由之前的單一型數據變成了多緯度的復雜數據,所以可以同時管理關系型數據庫和XML數據的混合型數據庫已經成為主流。
程序員
面對企業不斷增加新的IT信息系統,整合已經迫在眉睫,SOA成為必然的趨勢,企業對人才的需求從單一型技術人才、業務人才跳躍到了業務技術的復合型人才,這次的開發人員大調查令《程序員》雜志的調查者看到了這些技術焦點背后千絲萬縷的關聯。
二、幾乎一半的.NET用戶不參與開源項目RedHat+Ubuntu占有率超過70%
應用到.NET平臺上的開源項目,“大量使用”的比例數僅為8.68%,尚不足一成;“少量應用”的開發者人數比例為42.78%。“基本不用”的比例高達48.54%,與前二者之和幾乎不相上下。
程序員
雖然開源的出現和發展,讓軟件沒有壟斷的未來日漸明朗;雖然開源運動經過多年的高速發展,現在已經聚集了相當的力量,開源的自由和給予理念逐漸深入到了企業的技術核心層面。但微軟以商業軟件為生,畢竟在微軟技術領域中,開源項目通常都被看作是二等公民。很多開源項目對.NET社區產生了巨大的推動作用,微軟公司很難提供任何實質性質的支持。
Linux版本
當前安裝有Linux操作系統,數據中RedHatFedora占據絕對優勢——Linux使用者使用該版本占總數的49.49%。Fedora是RedHat推出的重要的一款Linux版本,在每個fedora版本中都是集成最新的Linux軟件,特別是服務端軟件。
使用“RedHatFedora”關鍵詞在百度網頁中搜索得到7,090,000條結果,RedHatFedora在調查中占據Linux版本的半壁江山符合整個Linux版本的分布情況。
排在第二位的是Ubuntu,受支持數占到總數的23.92%;第三位的是SuSE占9.09%,接下來是Debian,使用率為5.92%。在這里面令人期待的中國本土Linux的讓人大失所望。使用率僅占5.16%,幾乎只有RedHatFedora的十分之一。
程序員
三、揭示八成技術人員數據庫選型標準SQLServer用戶接近50%
使用率占據榜首的數據庫產品是微軟的SQLServer,比例數達到了47.92%。與其余所有的數據庫之和分庭抗衡,大有一覽眾山小之勢。
從調查得到的使用率來看,MySQL仍處于對MSSQLServer望塵莫及的階段。調查顯示,MySQL的使用數為1651,占總數的13.80%,不過排名第三。
使用率排在第二位的是Oracle,比例達到24.21%。在前有SQLServer,后有MySQL的情況下,Oracle仍能達到四分之一的占有率,發展勢頭不可謂不強勁。
雖然Orcale數據庫的價格比SQLServer數據庫要高,但Oracle采用開放的策略目標,可在所有主流平臺上運行。而且有開發者認為Oracle的安全認證是獲得最高認證級別的ISO標準認證,因此安全性高于SQLServer。
排在第四位的是Access——5.59%;接著是DB2UDB,占總數的2.75%;至于FoxPro、Informix、PostgreSQL、Sybase得票數均僅在一百左右,還有待進一步的發展。
四、中國程序員最愛的智能手機平臺Linux+Java超過Symbian
“開源Linux對于眾多開發者的吸引力是巨大的,但是,這僅僅是針對于技術開發人員來說的,而對于普通消費者就不是如此了。”在眾多開發者心中,主要是對Linux的青睞。從調查結果中也可以直接反應這樣的現象。有專家對此評論說:Linux+Java的模式,應該是應用最多的模式。
針對此問題行業的專家有自己的觀點:“現在Wince和Symbian發展很快,并且隨著手機硬件方面性能的提高,很多政府部門和企業在采購時,很多會考慮Dopod這樣的手機,或者價格便Wince和Symbian都主要使用c++開發,正是嵌入式開發的潮流。”
程序員
不同人群對于收集智能操作系統的觀點是不同的,對于開發者角度,他們更加青睞于微軟和開源Linux的產品,而普通大眾他們比較喜歡Wince和Symbian。
五、七成程序員不愿意選擇門戶網站獲取開源信息,而更關注SourceForge等
30%的技術人員從門戶網站獲取開源技術信息,剩下的70%的技術人員都是從專業的開源社區和開源廠商的技術網站上獲取信息,包括有SourceForge、LinuxToday、OpenOffice和IBMdW等。
在這70%當中,比例占有絕對優勢的就是SourceForge了,這里是開源軟件的開發者進行開發管理的集中式場所,也是全球最大開源軟件開發平臺和倉庫。而LinuxToday里面會有記錄很多很新的Linux業界大事,新聞以及出版信息。所以,對開源技術感興趣的程序員們,不必再為如何獲取開源信息而苦惱了,快加入到這70%的人群中來吧。
互聯網的發展已經成為大家獲取信息最主要的渠道之一,網民上網的習慣也從開始的上為數不多的幾個門戶網站發生了變化,大而全的門戶網站并不能滿足專業領域人員的信息需求,從2004年開始陸續出現了大量的各個領域垂直細分的內容網站,一方面有長尾理論的理論支持,另一方面廠商也建立了相應產品的技術內容網站,希望能聚集一批專注于這個領域專業人士,做好他們的定向營銷。
做細分領域內容的網站對門戶已經造成了一定的威脅,這些網站的專業性高,用戶的粘性相對也比較高,如果細分領域的內容網站能將自己的服務有所提升,就如同SourceForge一樣,那么未來門戶網站的路就變得更加崎嶇了。
六、Java開發框架:6%的JSF欲撼動21%的Struts
JSF現在比較有優勢的是對Ajax的集成,這一點走在了其他框架的前面。未來兩
年,JSF與Struts將展開JavaWeb框架的最終戰爭。 經過數年的“框架大戰”,Java界的各種框架找到了自己應有的位置。Spring+Hibernate+Struts已成為Java開發的主流體系。在這個體系中,Spring+Hibernate的地位應該說短期內是難以撼動了。除了新興的JbossSeam作為挑戰者之外,幾乎難有勁敵。
程序員
JavaB/S編程中歷來戰火最激烈的其實還在Web層,框架的數量最多,爭議最大。一切由Struts而起,而Struts最終也坐穩了第一個時代的王座。在技術層面,Struts1.x已經被無數人抱怨過、批評過,但終于還是穩坐王位,這充分說明了習慣的力量。“穩定壓倒一切”,這句話在IT技術領域仍舊適用。
詳細的分析了Java開發框架的使用狀況,發現主要使用的開發框架JSP占26%,Struts占21%,Hibernate占17%,SpringMVC占11%,EJB占7%,JSF占6%,SpringWebFlow和POJO各占4%,其它占4%。就這一調查數據,不難看出,Spring+Hibernate+Struts的優勢地位還是相當的明顯。
Struts和Hibernate幾乎已經成了JavaEE應用的常規配置,21%的開發者用到Struts,用到Hibernate的開發者也有17%;在一個成熟的技術平臺上,各個項目的技術方案會在很大程度上趨同——因為所有未知領域都已經被探明,各種問題都有對應的最佳實踐,架構師們可以參考的成功案例越來越多。就拿JavaEE來說,架構師們需要考慮的問題比之三年前已經簡單多了,這就是成熟的價值。
有專家評論:“其實IT應用技術,什么新鮮玩意并不難學,難的是標準化和規范化。每
個程序員都有自己的思路和習慣,寫出來的代碼自然是五花八門。Java何以成為編程界的占重要地位,很重要的一點在于Java的規范化。這種規范化很高的語言適用于多人合作的大型項目,便于溝通和理解,也就便于集成和維護。 Java世界為什么會框架橫飛,說到底還是規范化的需要。純JSP和Struts寫Web誰快,擺明了是JSP。那為什么用Struts?原因在于100個人寫出來的JSP,有100種寫法;而100個人寫出來的Struts,基本相似。Struts之成功,正緣于其在JavaWeb層的規范化方面所做出的貢獻。
程序員
然而長江后浪推前浪,Struts1.x的技術缺陷畢竟是隱患。Sun力推JSF,打算一雪Web層框架缺失之恥。未來兩年,JSF與Struts將展開JavaWeb框架的最終戰爭。
JSP經過幾年風雨洗禮依然把持頭把交椅,看來所有的框架表示層都離不開JSP而存在,而作為JSP的手足兄弟JSF也是僅次Spring之后又一個后起之秀。
如今JbossSeam在2009年之后就退出了歷史舞臺,JSF在國內使用者也寥寥無幾了,而大紅大紫的SSH框架也被Spring+SpringMVC+Mybaties主流所代替了。
七、C++開發環境格局難打破75%的開發人員首選VS系列
1998年Borland公司推出的C++Builder這一當年全新的32位Windows開發工具,繼承了Delphi使用簡便、功能強大、效率高的特點,并且結合了C++語言幾乎所有優點。所以開始C++Builder迅速風靡。 它的主要競爭對象——Microsoft開發的VisualC++也是不甘示弱,迅速出擊,突出了Visual可視化強的特點,加上Platform、SDK部分以及Microsoft產品與Windows的天然默契,逐漸成為了技術人員的首選。隨著VisualC++版本的不斷升級,以及功能、風格等諸多原因,BCB漸現頹勢,許多Builder使用者也開始轉而使用Visual了。
程序員
在2007年CSDN、《程序員》主辦的開發者大調查中,詳細的分析了C++方面大家主要使用什么IDE的狀況,在目前已收到的15000多份有效問卷中,發現主要使用VS系列的占了75%,BorlandC++Builder/CBuilderX只占6%,EclipseCDT占6%,DevC++占2%,其他IDE占3%,不使用IDE占8%。對于.NET開發,VisualC++2005有了一套新的語法;新的優化技術,可使程序的速度最高提高30%;同時新的編譯模式,可保證在Microsoft.NETFramework之上生成完全遵從CLI(CommonLanguageInfrastructure)的可驗證代碼;新的interop模式,可提供本地與托管代碼的無縫融合。
相對于前兩個版本,新編譯器還包括了一個增強版本的緩沖區安全檢查選項,而且對C++程序普遍使用的庫,也有新的注重安全的版本。VisualC++2005對基于IntelItanium和AMD64的64位平臺,提供了對OpenMP標準的支持,并且修正了一些混合DLL加載的問題,對DoubleP/Invoke的性能問題,提供了自動運行時消除。 相比之下,C++Builder2007英文版2008年6月初上市。從CodeGear大中華區技術總監李維的博客,看到CodeGear對C++Builder2007的期待。雖然說對同一件事情,每個人都有自己的視角,已有五年C++方面學習和開發經驗的賴勇浩說道:“BCB正江河日下,2007版本的推出也無法力挽狂瀾。雖然現在C++Builder已經歸于CodeGear,但人們還是習慣性地與Borland聯系上。
程序員
現在的Microsoft及VC勢頭強勁,產品也具有很高的質量性,CodeGear在C++和.Net領域至少三五年內會繼續望其項背。所以推出CB2007,更多的是基于版本延續。”
高級程序員作為計算機技術與軟件專業技術資格(水平)考試中的一科,是國家人事部和信息產業部對中國計算機與軟件專業技術人員進行的職業資格和專業技術資格認定。
九、中國程序員健康兩成感覺很虛弱亞健康接近七成
“干得比驢累,吃得比豬差,起得比雞早,睡得比狗晚,看上去比誰都好,五年后比誰都老。很多程
序員都曾這樣感慨和抱怨過自己的生活狀態。”亞健康狀態是人體處于健康和疾病之間的過渡階段,在身體上、心理上沒有疾病,但主觀上卻有許多不適的癥狀表現和心理體驗。
程序員
位于調查結果第二位的是“很虛弱”——149,比例為19.81%。很虛弱的健康指數低于亞健康,已接近生病和透支狀態,他們的健康已經被亮出了黃牌。
每個人的理解不一樣,但是“糟透了”這樣的詞如果用來形容程序員健康的話,相信大多數人都絕對認同“你已經病了”這樣的理解。令人不敢相信的是,竟然有8.24%的程序員用這個詞來形容自己的健康狀態!
十、.NET全面進入2.0時代,AJAX風頭正勁“在Java領域,JDK8.0是當之無愧的主流平臺,但JDK1.7仍保有一半以上的占有量。總的來說,Java族群顯然不像.NET族群那樣追新。從另一個方面看,這也說明Java平臺的成熟,和.NET平臺的迅速發展。”
調查結果中“非常健康”的票數低得可憐——40,即使算上“沒感覺”,二者之和也不過9.04%,幾乎跟“糟透了”持平。如果將“非常健康”和“沒感覺”一起算為健康的話,處于亞健康狀態的程序員是健康狀態的7倍,自認為“很虛弱”的程序員數目是處于健康狀態的2.2倍!
根據2007年的調查數據分析,在.NET領域,.NETFramework2.0的采用量已全面超越.NETFramework1.1,成為.NET平臺的首選框架。2006年調查結果,1.1和2.0的采用量基本持平,而2007年2.0的采用量則高達1.1的三倍之多。.NETFramework1.1已是明日黃花,微軟的更新,換代策略可以說是成功的。
程序員
B/S已經成為中國軟件業普遍接受的軟件結構。在表現層,AJAX技術采用量較去年有較大提升,有將近一半的Web應用采用了AJAX技術,仍采用純HTML+少量腳本的Web應用中,也有四分之三打算轉向采用AJAX技術。反觀微軟和Adobe力推的新一代RIA平臺,則響應者尚少。分別只有1/20和1/10的人愿意選用SilverLight和Flash/Flex作為Web表現層技術。
職業要求 聽語音
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那么他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業后你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
對于職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,并且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷并排前進。
必備技能 聽語音
熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟件還是用C/C++編寫。而JAVA的跨平臺和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,并能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知數據庫
為什么數據庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以數據庫的數據為中心,而數據庫的產品也有不少,其中關系型數據庫仍是主流形式,所以程序員至少熟練掌握一兩種數據庫,對關系型數據庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數據庫產品提供了可視化的數據庫管理工具,但SQL是基礎,是通用的數據庫操作方法。如果沒有機會接觸商業數據庫系統,可以使用免費的數據庫產品是一個不錯的選擇,如mySQL,Postgres等。
本文來自百度 如有侵權 聯系作者刪除