『壹』 程序員的基本要求是啥
程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程序員、中級程序員、高級程序員(現為軟體設計師)、系統分析員,系統架構師,測試工程師六大類.
崗位職責
1、對項目經理負責,負責軟體項目的詳細設計、編碼和內部測試的組織實施,對小型軟體項目兼任系統分析工作,完成分配項目的實施和技術支持工作。
2、協助項目經理和相關人員同客戶進行溝通,保持良好的客戶關系。
3、參與需求調研、項目可行性分析、技術可行性分析和需求分析。
4、熟悉並熟練掌握交付軟體部開發的軟體項目的相關軟體技術。
5、負責向項目經理及時反饋軟體開發中的情況,並根據實際情況提出改進建議。
6、參與軟體開發和維護過程中重大技術問題的解決,參與軟體首次安裝調試、數據割接、用戶培訓和項目推廣。
7、負責相關技術文檔的擬訂。
8、負責對業務領域內的技術發展動態進行分析研究。
職業要求
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
了解操作系統
當前主流的操作系統是Windows,linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課,網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合,編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
模塊化思維能力作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
『貳』 《.NET》程序員面試應該怎麼准備
一、NET程序員面試的技巧:
面試是很奇妙的一件事情,在短短的一段時間內,要讓一個完全陌生的人認可自己的專業能力,認可自己的人品,認可自己的職業習慣等。而同樣,被面試者需要判斷這是否是一家靠譜的公司,是不是有錢,是不是適合自己工作,是不是和自己發展方向一致等。工作就像是娶媳婦(找老公),不是說隨隨便便說換就換,而是自己每天都要面對的事情,所以找個好的企業,找一份好的工作,對於一個靠自己養活自己的人來說真實太重要了,那麼找好企業,找好工作的第一步就是面試。
一、面試自身的綜合素質。
1、基本儀容和禮儀:
其實不是針對面試,基本儀容和禮儀在日常生活也是非常重要的,是一個人是否有教養,是否有素質的基本要求。
穿著:如無特別需要,不要著正裝,休閑裝即可。但是不要光腳丫子大拖鞋,背心吊帶,男士不要穿露腳趾涼鞋。干凈整潔即可,表示對本次面試的重視和對面試官的尊重。
儀容:女士如果想化妝的話,淡妝即可,素顏也可以。男士頭發理一下,鬍子剃掉。還是那句話,干凈整潔,萬萬不可口腔有異味,或者身上有體味(特別是腳丫子臭味,絕對不行)。
禮儀:多說「請」,「您」,「謝謝」,記得進門後關門,前台給你倒的水走的時候記得拿出去扔掉。坐下來面對面試官要有坐像,不要跟在家裡一樣太隨便,說話口齒清楚,慢一點說,不要跟打機關槍一樣。切記,不可做作,細節處把握尺度就行。如果遇到和面試官有分歧的時候,立即閉嘴並閉嘴,不要爭論,不要試圖說服面試官,更不可恥笑或者蔑視面試官,哪怕你確實不知道比面試官高到哪裡去了。記住,這是禮貌,跟自己技術有多牛逼無關。
謙虛:任何時候,把自己放在一個相對低的姿態,自己是來面試,不是來教育面試官的,抱著一種接受檢閱和學習的態度面對面試,千萬千萬不要覺得自己主角光環加身,天下之大老子第一。謙虛,起碼不會讓你有成為一個跳樑小丑的機會。
2、專業基礎知識:
對於程序猿來說,專業基礎知識絕對是重中之重,是面試成功的最基礎要素。說的專業基礎知識,不是說自己做了多少個項目,寫了多少行代碼,而是軟體開發的基礎知識。
在面試的時候,有時候會遇到一些候選人,乍一看簡歷也有好幾年工作經驗,項目也寫的滿滿的,但是卻連「值類型引用類型本質區別」,「構造函數有哪些特點,何時被調用」,「類和介面區別是什麼」這樣的問題也回答不了,注意, 是回答不了,也就是不知道,不是知道意思但是組織不了語言。 這類候選人通常在連續回答不上幾個問題後,開口為自己辯解:「我動手比較強,寫代碼都沒問題,但是書上的概念我真的不太清楚」。能說出這個話,就說明此人根本就明白作為一個技術工作者最基本的專業素質是什麼。所以千萬不要覺得自己工作幾年,有些代碼經驗就已經可以挑戰更加高薪的工作。
在面試前,一定要先審視一下自身的基礎知識掌握程度,如果有必要,自己買書回來或者網上找一些資料,利用空餘時間系統的學習一遍,比如所使用的語言本身,比如自己擅長的框架底層實現,比如編譯原理,比如多線程的知識,比如Http相關的知識等等。千萬不要沒有一點點基礎知識儲備或者基礎知識儲備不豐富就跑去面試,失敗的幾率非常大,如果眼睜睜的看著自己心儀的工作機會擦肩而過,我想是誰都會難過的。
3、溝通能力:
面試的過程本質上就是一次溝通的過程,候選人在短短的時間內要盡量的向對方展現自己的長處,隱藏自己的短處,盡量讓對方問題得到圓滿答復並且留下較好印象。有些程序猿性格內向,在陌生人面前比較靦腆,話語不多。當然,這不能說是做錯了,只能說是一些性格上的短處而已(如果很嚴重,那就有自卑的可能,需要重視並且糾正)。在面試時,候選人一定要精神煥發,昂首挺胸,眼神堅定,切記切記眼神不要飄忽不定,切記切記不要瓮聲瓮氣。咱們遇到不會的問題,就老老實實的說「這個我不清楚」,或者「這個我不會」,千萬千萬不要不懂裝懂,顧左右而言他,打算糊弄過去。搗糨糊是過不去的,面試官的問題肯定是面試官非常清楚答案的,忽悠面試官就是在忽悠自己,有意思嗎,當然,也不要胡亂回答,否則只會成為面試官和其它的同事茶餘飯後的笑話。
在面試時,盡量雙眼直視面試官(但不要瞪著人家),背挺直,手機開飛行模式,說話口齒清楚,利落乾脆,回答得上就盡量說,回答不上直接說不知道,不要羅里吧嗦 ,特別是談到薪酬,對方問你期望時,最好在現有基礎上增加10%-20%,不要漫天要價,也不要不好意思,放心大膽的說出自己的期望,如果對方覺得略高,會再跟自己商量。務必一開口就給人真誠,干練,乾脆,專業的印象。
4、過往項目經驗:
很多面試者不大重視自己的過往項目經驗,每個做過的項目,雖然自己在其中可能只是做一個模塊甚至一個功能,但是自己都會想辦法搞清楚整個項目的業務流程,研發背景,內部模塊功能,和外部如何實現集成,底層資料庫的設計,整體系統架構設計等等。在面試候選人的時候,通常都會問最近一個項目相關的東西,有很多候選人都會表示是自己一個人設計開發了這個項目,但是連有哪些功能模塊,系統結構(注意,不是架構)都回答不出來。有些面試者,在面試一些中高級的程序員時,很喜歡從過往經驗入手,自己再一遍介紹的時候他可能隨時提問。因為這樣有2個好處,第一是預防一問一答的形式,候選人事先背了很多問題的答案,第二是從候選人過往項目經驗入手,除了可以看出候選人是否虛假構建了項目經驗,還可以判斷該候選人對開發細節的把握以及對一些技術點的反應能力和掌握情況,畢竟「突然襲擊」比「瞄準射擊」要更加考驗候選人。
所以,在面試前,應該好好把自己以前的項目經驗都捋一捋,特別是上一個項目,從業務流程到產品設計到系統開發,特別是項目內一些你做過的細節地方,准備在面試時拿出來說的,必須以此為點,相關的東西都查查資料看一看。再一個就是項目裡面的閃光點,什麼叫閃光點,就是高大上的東西,需要自己多了解了解,在面試的時候拿出來說也可以加分。面試的時候談到這個上面(閃光點)的時候,面試官對這一塊很有興趣,越問越深,也知無不言,為自己增分不少。
5、不要作弊:
有些企業在面試程序員的時候,喜歡一開始扔一張試卷讓候選人先做,然後再去面試。暫且先不談做卷子考察方式的好壞, 在做試卷的時候,萬萬不要用移動設備上網查詢答案。 本身作弊的行為就讓人不齒,如果面試官在暗處進行觀察,發現作弊,那就太尷尬了。會就是會,不會就是不會,即便你用手機查答案把試卷寫的滿滿的,在接下來面試的時候,面試官再就試卷上的問題展開一問你,你還是不會。所以不管有沒有人監督,在面試的做試卷環節,千萬不要作弊。
6、熱門技術點的掌握:
其實這是個增分項目,如果上面幾點都已經通過面試的考核,那麼這一點就會成為你絕對的亮點。
首先要先自己了解一下當前熱門的技術,然後通過分析自己申請的職位,去看看可能涉及到哪些熱門的技術,然後再去專門的找資料進行學習和動手實驗。比如你是搞互聯網的,那麼最好學習一下負載均衡相關的技術,學習分布式資料庫的技術,學習緩存技術,學習頁面靜態化的技術;
如果自己是搞數據分析的,那麼最好學習一下Hadoop,學習一下微軟的Cube,學習一下惠普的Vertical;如果自己是搞iOS的,那麼可以看看Swift,可以看看Xamarin,可以看看WebSocket等,當然,我只是舉幾個例子,不一定非要這樣對應,如果是搞Java的,也可以去看看Pathon,如果是搞.net的,也可以去看看Ruby on rails等等。所謂技多不壓身,就是這個道理。
二、以上 6 點是自身素質的要求,如果在這6點上面能讓面試官滿意,基本上面試就沒有太大的問題了。接下來講一下,選一個好的公司或者企業。
1、面試官是否專業:
這里的面試官不僅僅是指技術面試官,也包括HR或者大老闆。如果面試官問你一些奇葩問題(例如問你開什麼車,房子多大,伴侶薪水多少等等),或者有比較明顯的不耐煩,歧視,傲慢等表現,就基本可以斷定這人是個奇葩,這家企業也要慎重考慮,因為這個奇葩的人很可能就是你的上司(或者是HR)。好的企業面試官應該表現出來的是專業水準,起碼中規中矩問一些常規的該問的問題。
2、盡量找獵頭推薦或者同行推薦:
道理其實很簡單,一個企業如果花錢請獵頭尋求人才,說明了企業對於這個職位的重視程度,也說明了企業是有經濟能力支付相對高昂一些的招聘費用。這樣就無形中對企業進行了一輪篩選。
3、工作環境:
不求工作環境高大上,起碼要整潔干凈。從對工作環境的狀態,可以看出企業管理者的一些習慣,如果工作環境陰暗潮濕,破破爛爛的,員工也是咋咋呼呼大喊大叫,說明管理者要麼是沒有足夠的經濟條件進行整改,要麼是自身習慣不好,不在乎環境。建議在面試時,仔細觀察一下工作環境,如果是明亮寬敞,干凈整潔,大家都靜悄悄的做自己的事情的,從工作環境上說是個不錯的企業。
4、加班與薪酬福利待遇:
談到薪酬不要靦腆,在現有基礎上加10%-20%都是正常范圍,只要不亂要價就行了,這里說的薪酬是指純工資,在面試時,還要考慮企業能提供的年終獎或者其他福利。對於加班的話,一般來說做IT的加班是很正常,但是要問清楚加班怎麼算,是加班費還是調休。以下幾種情況,請慎重考慮:
a. 無償加班。
b. 強制加班到x點。
c. 單休。
d. 無年終獎。
e. 除了工資以外無任何福利。
f. Offer或者合同不量化寫清楚工資數字,而是寫「和業績掛鉤」,「根據業績」等。
5.在面試之前上某准網(以前叫某智網)查一下該公司評價。
當然也可以先網路一下,如果是騙子公司,就直接可以查出來,但是有些公司內部其實很爛,但是並不是騙子公司,所以這時候就需要去某准網上搜一下評價。但是也不是每個公司都有評價,有很多小公司,在某准網上也沒有。但是抱著沒有負面評價就是好評的思路,也說的過去。如果一家企業明顯有很多負面評價,而你剛好要去這家企業面試,建議你就得好好考慮考慮了。
6、上門面試時,去衛生間看一下:
沒錯,就是去衛生間。可以提前點到,然後問一下前台衛生間,去衛生間洗個手(或者面試完成後也行),特別是看看廁紙的質量。當然,讓你去看看衛生間的環境和廁紙質量,不是在衡量以後你在這里方便的是否舒服,而是通過衛生間的狀況,可以看出企業管理者對於治理企業的態度。如果一家企業連衛生間的要求都很高,裝修比較好,衛生條件也不錯,甚至連廁紙質量都很好,那麼在其他方面,對待員工應該差不了哪裡。說來你可能不信,我見過的企業中,幾乎都滿足這一條。不好的企業衛生間一定是比較破爛,設施破損懷舊了也不會及時修理,廁紙用的最廉價的。而好的企業衛生間裝修精美,設施干凈,廁紙也是較厚較柔軟的。其實大家可以仔細留意一下,好的商場,好的學校,衛生間相對都比較高檔一些。
其實面試還是得靠自己的實力,所以技巧再多都是輔助,只有自己的技術水準達到一定的程度,才能拿下心儀的職位。
『叄』 應聘程序員需要讀哪些課程
你好,很高興能回答你的問題,程序設計原則需要學習。
我們在軟體開發中設計模式常用的的六大原則有下面幾個:
1、開閉原則
開閉原則的意思是:對擴展開放,對修改關閉。在程序需要進行拓展的時候,不能去修改原有的代碼,實現一個熱插拔的效果。簡言之,是為了使程序的擴展性好,易於維護和升級。想要達到這樣的效果,我們需要使用介面和抽象類,後面的具體設計中我們會提到這點。
2、里氏代換原則
里氏代換原則是面向對象設計的基本原則之一。 里氏代換原則中說,任何基類可以出現的地方,子類一定可以出現。LSP 是繼承復用的基石,只有當派生類可以替換掉基類,且軟體單位的功能不受到影響時,基類才能真正被復用,而派生類也能夠在基類的基礎上增加新的行為。里氏代換原則是對開閉原則的補充。實現開閉原則的關鍵步驟就是抽象化,而基類與子類的繼承關系就是抽象化的具體實現,所以里氏代換原則是對實現抽象化的具體步驟的規范。
3、依賴倒轉原則
這個原則是開閉原則的基礎,具體內容:針對介面編程,依賴於抽象而不依賴於具體。
4、介面隔離原則
這個原則的意思是:使用多個隔離的介面,比使用單個介面要好。它還有另外一個意思是:降低類之間的耦合度。由此可見,其實設計模式就是從大型軟體架構出發、便於升級和維護的軟體設計思想,它強調降低依賴,降低耦合。
5、迪米特法則,又稱最少指導原則
最少指導原則是指:一個實體應當盡量少地與其他實體之間發生相互作用,使得系統功能模塊相對獨立。
6、合成復用原則
合成復用原則是指:盡量使用合成/聚合的方式,而不是使用繼承。
『肆』 程序員碼農想跳槽到高薪,這時候需要做什麼准備
尖端科技正常的的人才流動針對公司和個體而言全是有利的,根據人才流動可以進一步推動開發精英團隊中間的行業交流,針對所有領域產品研發水準的增強有充分的功效,也能讓人才資源的配備緊隨銷售市場的發展趨向。對於總體目標崗位的知識結構開展提前准備。一般而言,程序員每調節一次工作中,通常都是會隨著開發崗位的更新,例如從初中級崗位到主力軍崗位,從開發級崗位到產品研發級崗位這些,在招聘面試以前第一要對於總體目標崗位所必須的知識結構開展提前准備。假如可以進一步認識到有關崗位的實際工作職責,那麼針對提前准備招聘面試有更為積極主動的實際意義,可以開展更為有目的性的提前准備。
了解心愛公司的設備和技術性線。我們不能為了更好地去大型廠而去大廠,本人覺得最先要選定有興趣的領域,崗位路面的進步不僅在於技術性,留意行業發展會給你們大量的提高,因此掌握和了解心愛公司的設備就很重要,或許你了解了以後可以猜到招聘者會詢問你什麼問題。此外要認真科學研究hr得出的招聘職位,一般大型企業的招聘職位或是非常可靠的,你能比照著看一下有什麼技術性是自身不具有的,什麼是自身拿手的,在應聘時關鍵說你善於的,自然如果不具有的新項目過多我勸你或是臨時舍棄吧,再次修練才算是上上策。
『伍』 面試前要准備的第一件事就是寫簡歷,程序員如何寫一份更好的簡歷
事實上,簡歷製作這件事情,說難也不難,說簡單也不容易。簡易,是由於你只需要它需要內容實際上並不多,只需要你花一下午的時間,找一份個人簡歷模板,並把具體內容填滿就可以。難,是因為你要將你畢生所學提煉出成一紙個人簡歷,並且要順水推舟,讓招聘者看到他要想看到的,同時又是你自己更為擅長的。要意識到這一點,實際上真的不容易。個人簡歷如實寫,不就是自己有啥工作歷經,有啥突顯造就,項目經歷。關鍵在於得需有真才實學。程序猿這方面,隨便聊聊就知道你啥水平的事。
假如你學業不緊張,那就沒必要直到假期了,上邊三種實習生招聘你都可以參與,盡快上崗,累積實習經驗,一定會讓你收獲頗多的。針對簡歷上關於自己的詳細介紹,切忌太誠信,例如也不容易,這也不容易,也了解這也了解,對於這樣的詳細介紹,許多HR直接就過慮了,壓根不到招聘者的手裡的,因此詳細介紹的時候也可以採用熟練哪些、已經研究什麼這些,能夠適當地誇大其詞一點點,但是不要誇大其詞太多,那樣招聘者一提問題你也就東窗事發了。
『陸』 想做程序員,要些什麼條件
程序員是一種技術工作,在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,他們把這個作為炫耀的資本,盲目 的追逐一些膚淺的,表面的東西和名詞,做網路程序不懂通訊傳輸協議,做應用程序不懂
中斷向量處理,這樣的技術人員,不管掌握了多少所謂的新語言,永遠不會有質的提 高。
善於總結,也是學習能力的一種體現,每次完成一個研發任務,完成一段代碼,都應當有 目的的跟蹤該程序的應用狀況和用戶反饋,隨時總結,找到自己的不足,這樣逐步提高, 一個程序員才可能成長起來。
『柒』 程序員需要什麼學歷
程序員對學歷並沒有必須的要求,大專學歷以上都可以,甚至有一些沒有上大學的人也在做程序員。
程序員的實際工作經驗和積累是企業招聘時尤其關注的,對學歷沒有具體要求,但企業在招聘開發人員時有些根據自身崗位所需有設定一些學歷上的條件。
但是如果大家有意向入行IT行業,就要把精力用到專業能力學習上,畢竟實戰開發能力才是更為關鍵的,如果學歷上也比較出色的話,那麼錦上添花肯定在就業時也會更有利。
(7)程序員應聘要准備哪些資料擴展閱讀:
程序員的必備技能
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
2、需求理解能力
程序員要能正確理解任務單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求。
要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
3、模塊化思維能力
作為一個優秀的程序員,思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。
『捌』 要成為一名計算機編程員需要什麼條件
【怎麼樣】隨著計算機對於社會各個領域的不斷滲透,客戶對於一些專門的應用軟體需求量大增,所以對於程序員的需求也在不斷增加,雖然現在中國的程序員數量已經相當可觀,但是還是處於求大於供的狀態,尤其對於一些技術熟練、有很好的編程習慣的優秀程序員,市場需求量還是很大的。而且程序員的發展空間很大,可以經過努力升級為軟體設計師、系統分析員、項目經理等。不過程序員有事工作相對繁瑣,有時需要經常加班,技術更新快,所以壓力也很大。
【誰能做】①
大專以上計算機相關專業學歷,至少熟練掌握兩到三種開發工具的使用,同時對於資料庫和操作系統有很深入的了解,有一定的英語水平,有相關的數據結構等方面的知識;
②
通過初級或者高級程序員考試或者拿到一些國際、國內認證的證書,有一年以上相關經驗;
③
軟體結構設計/分析能力,出色的編程能力,掌握了幾種軟體的開發技巧,同時需要有嚴格的軟體工程思想;
④
較強的邏輯思維能力,團隊精神和協作能力,強烈的好奇心和學習精神,具有永攀高峰的精神。
『玖』 程序員想進入大公司實習或工作,需要掌握哪些技能
第一:學歷。
為什麼把學歷排第一呢?因為現在很多培訓機構都忽悠那些中學生,說現在學歷不重要,只要你把技術學好。這里說一下,學歷很重要,因為學歷是敲門磚。大公司每次招人都會有很多人來應聘,第一輪怎麼篩選,就是看學歷。
第二:綜合素質
初試的時候,看的就是個人的綜合素質了。你的言談舉止,個人表現,是否積極向上等等。因為你到一個公司,你的所作所為就代表著公司的形象,你在外面給人印象,就是別人對公司的印象,就比如:如果你在國外做了一件好事,外國人會說中國怎麼怎麼樣,不會說這個人怎麼怎麼樣,因為他們不認識你。
『拾』 程序員面試時需要帶哪些東西
1、把自己簡歷上的東西記清楚,尤其是簡歷上有水分的,不要在面試的時候露餡啦;
2、找一些面試方面的資料,就是面試官會問到的技術上和為人處世方面的問題,就是要對面試官問的一些問題要做的心中有數。這些資料可以上網上找,也可以問面試的那家公司的人(如果你認識的話)。
3、還有就是面試的時候,最好謙虛點、有禮貌點,給面試官一個好的印象。但同時,也要有自信,對自己懂的知識,可以稍微誇張點。