欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      程序員晉升

      時間:2019-05-12 19:46:00下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《程序員晉升》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《程序員晉升》。

      第一篇:程序員晉升

      作為程序員,你應(yīng)該知道的職場晉升之路

      編者按:職業(yè)規(guī)劃非常重要的一點是要學(xué)會角色分析能力。大部分人在長期的工作中趨于麻木,對自己的角色并不清晰。但是,在職者必須讓自己有一些過人之處,讓自己的價值和成績得以體現(xiàn)并受到認(rèn)可。《職場晉升路線圖》旨在探尋不同行業(yè)的發(fā)展規(guī)律,為職場人士提供晉升的方法。

      程序員篇:做一個程序員很忙,你需要去寫代碼,去創(chuàng)建meme,去進行測試。那么你為何還要做程序員呢?

      1、為了寫出優(yōu)雅的Ruby程序。

      2、為了用我喜歡的語言開發(fā)出一款人們喜歡的產(chǎn)品。

      3、給人們遇到的現(xiàn)實的問題找到解決方案,對于我來說,我喜歡做我所做的。

      4、去創(chuàng)造,或去組成能讓人們生活更方便的東西或事物。

      5、讓我創(chuàng)造的東西能產(chǎn)生積極正面的影響,針對我,也針對他人。

      6、快樂。我自己,還有那些直接或間接關(guān)注我和我的作品的人。

      這些問題幫助你明白了自己為何要選擇這條道路了嗎?那么作為一名程序員,你知道自己未來的發(fā)展之路嗎? 【一】程序員通常的發(fā)展路線是怎樣的? 【二】綜合才能型發(fā)展路線圖

      【三】初入職場,程序員的上升空間在哪里 【四】總結(jié)與提升 【五】職場榜樣——雷軍:從程序員到金山CEO

      【一】程序員通常的發(fā)展路線是怎樣的?

      程序員通常的發(fā)展路線是怎樣的?可以看看這個圖,當(dāng)一個初步的職業(yè)規(guī)劃方案已經(jīng)成型時,如果制訂者目前已在一個軟件公司工作,那么,對他來說進一步的提升非常重要。首先要做的則是進行角色分析,反思一下這個職業(yè)環(huán)境對個人的要求和期望是什么,如何使自己在單位中脫穎而出。

      通常,軟件技術(shù)人員的職業(yè)發(fā)展有幾個選擇:專注于技術(shù),成為技術(shù)專家;轉(zhuǎn)型到技術(shù)型銷售、技術(shù)支持等;隨著技術(shù)成長,從技術(shù)性管理到高級管理。這是大家都看得清楚的方向,也都在向這些方向的金字塔尖努力。

      就像烹飪一樣,每一個階段目標(biāo)都需要你進行角色分析,找出這一角色需要的‘配料’,當(dāng)你注意收集技術(shù)、素養(yǎng)等相關(guān)‘配料’后,就會成功烹飪出你所需要的目標(biāo)魚。前提是你一定要了解自己的特點和優(yōu)勢,就好比黃瓜種子是不可能培育成西瓜一樣。

      這歸根結(jié)底,都是以技術(shù)為基礎(chǔ)。在扎實的技術(shù)基礎(chǔ)上(高級軟件工程師),如果有著比較強的抽象設(shè)計能力,又打算專注于技術(shù)開發(fā),架構(gòu)師是個好的選擇;如果 性格更適合做管理,情商能力突出,技術(shù)型管理應(yīng)該是下一步的方向。這種發(fā)展規(guī)劃屬于‘瘸腿走路’的類型,各有側(cè)重主攻發(fā)展的職業(yè)方向,也是目前一般程序員 普遍采用的發(fā)展路線規(guī)劃。

      決勝點在于長期的點滴積累,認(rèn)證證書、成績、豐富的經(jīng)歷是求職的表面文章,在目前軟件行業(yè)里不是很看中這個,真正的‘內(nèi)功’是需要規(guī)劃的。至于培訓(xùn),我倒 是很建議直接加入軟件公司,你就會學(xué)到很多實際的東西。不過,學(xué)歷教育雖然在職業(yè)生涯里不是主要的,但是隨著職位的提升卻有很重要的意義,能輔助拓展你的 職業(yè)發(fā)展空間,而不是以此為阻礙從而失去更多的機會。

      已經(jīng)工作兩年以上的程序員可以有幾種基本的職業(yè)規(guī)劃:技術(shù)專家、軟件架構(gòu)師、實施顧問或銷售。其中程序員最主要的發(fā)展方向是資深技術(shù)專家,無論是 Java、.NET還是數(shù)據(jù)庫領(lǐng)域,都要首先成為專家,然后才可能繼續(xù)發(fā)展為架構(gòu)師。盡管架構(gòu)師的職位可以工作一輩子,待遇也非常好,對于科班出身的程序 員最為適合,但這種工作職位非常有限,因為在中國目前的IT行業(yè),架構(gòu)師需要的條件比較復(fù)雜,而且需求量也比較少,這也是我國軟件行業(yè)走向國際并有待成熟 的因素之一。

      【二】綜合才能型發(fā)展路線圖

      目前國內(nèi)缺乏的是管理能力和專業(yè)知識技能并駕齊驅(qū)的IT人才。特別是懂得運用目標(biāo)管理技術(shù)的項目管理人才,既掌握核心技術(shù)又有全局掌控能力的項目管理人才,非常難找。我建議對于大多數(shù)人來說,首先是要專,只有在技術(shù)方向上做得比較深入,才能適當(dāng)做工作調(diào)整,把自己轉(zhuǎn)變?yōu)槟硞€領(lǐng)域的專家。

      根據(jù)自己的情況,決定自己做軟件架構(gòu)師還是高級的顧問銷售,另外一部分人可能就會走向管理,這和 個人性格與情商有關(guān)。軟件優(yōu)秀的管理者都必須懂得技術(shù),掌握核心技能的人才向管理崗位轉(zhuǎn)型有很大的優(yōu)勢,因而提升管理能力成了轉(zhuǎn)型的關(guān)鍵。譬如,當(dāng)唐駿還 是微軟一名普通程序員時,就從公司發(fā)展的角度考慮,向老板提議開發(fā)了中文版Windows,最終使他從幾萬名工程師中脫穎而出,成為部門經(jīng)理。正如他所 說,雖然是程序員,但自己不能只把自己當(dāng)程序員,你可以為老板和公司著想。

      調(diào)查研究后,帶著解決方案去找老板,就會得到老板的重視和信任,所以一定要增強工作主動性和參與性。無論是軟件開發(fā)還是項目管理,國內(nèi)員工大多只是做好份內(nèi)事或完成交派任務(wù),很少能主動發(fā)現(xiàn)問題。其實,只有擁有更高眼界,才能謀取大發(fā)展。

      總之,程序員要根據(jù)本身的基本素質(zhì)、技術(shù)能力選擇開發(fā)層次,由低到高,逐步發(fā)展。也是一名程序員本身具備相應(yīng)素質(zhì)的循序漸進的發(fā)展軌跡,包括很強的技術(shù)背景和綜合管理才能等素養(yǎng),這也就是所謂‘兩條腿走路’的職業(yè)規(guī)劃發(fā)展路線。

      在未來發(fā)展上首先確定自己的發(fā)展方向和研究方向,在學(xué)習(xí)技術(shù)的同時還要為以后做準(zhǔn)備,做好以后的技術(shù)轉(zhuǎn)型。廣度和深度是相對的,先廣還是先深實質(zhì)上從某種 意義來說取決你的工作性質(zhì),如果你是從事單一工作的,多半你會短暫先深,因為這是你立足的根本;而如果你選擇的職業(yè)是綜合性的,比如管理、講師等,那么你 必然要先有廣度才可以,但一段時間后,你都要轉(zhuǎn)入深度,只有你在某一方面或領(lǐng)域有一定的深度后,你才能繼續(xù)尋求廣度,否則,你將什么都會,但什么都不精,這樣的人在市場上是最難以立足的。

      【三】初入職場,程序員的上升空間在哪里

      1、技術(shù)上的反思和提高

      無論程序員個體之間差異有多大,我認(rèn)為程序員上升空間在于技術(shù)上的反思和提高。程序員到了成熟階段,往往有一種狂奔到終點后的那種感覺,身體疲乏無力,特別需要休整再戰(zhàn)。要知道程序員在“奔跑”的時候,一般是在使用自己的體力,很少用到跑步的技術(shù)和技巧。尤其是到最后,更是依靠體力來支撐。從技術(shù)提高的曲線來看,新手的技術(shù)提高速度最快,無論從時間還是急迫性兩個方面對新手的壓力挺大的。而到了成熟階段,其編程時間也大大縮短了和學(xué)習(xí)技術(shù)的迫切性也降低了,所以技術(shù)提高速度就慢下來許多。在現(xiàn)實中,我們真的看到有些年輕的程序員還看不起那些程序員的技術(shù)水平呢,就是這個道理。因此,成熟的程序員在安頓之后,一定要坐下來反思自己,看看自己的技術(shù)發(fā)展之路,哪些走的比較踏實,哪些走的比較急促;哪些是自己的技術(shù)特長,哪些是自己的 技術(shù)薄弱環(huán)節(jié)。反思后一定要抽出時間抓緊學(xué)習(xí),把自己的技術(shù)上明顯不足的地方給補上,這樣程序員的技術(shù)水平加上豐富經(jīng)驗和工作能力會使得自己更加具有實 力,可以應(yīng)付各種挑戰(zhàn),為今后的發(fā)展鋪平道路。

      而那些順其自然的思想,使得程序員缺少技術(shù)提高的主動性,程序員有明顯的技術(shù)上的問題,也不主動去解決,而是拖之再拖,從而使得程序員的成熟度大打了折扣。

      2、走向軟件設(shè)計師

      其實很多程序員走到這個階段已經(jīng)在做軟件設(shè)計師工作了。這是絕大多數(shù)程序員發(fā)展的必經(jīng)之路。因為,程序員在編程序的時候,一方面會實現(xiàn)設(shè)計的功能,另一方面 也在對設(shè)計有一個理解、認(rèn)識、熟知的過程。進而慢慢地從學(xué)習(xí)別人設(shè)計,轉(zhuǎn)向到自己參與或獨立設(shè)計。如果這個程序員真的非常非常喜歡程序員這個職業(yè),則可以 轉(zhuǎn)向軟件設(shè)計師。這個轉(zhuǎn)變很大程度是程序員意識的轉(zhuǎn)變,就是說要把編程的時間,逐步分?jǐn)偟杰浖O(shè)計上,要把重點從編程實現(xiàn)轉(zhuǎn)變到項目的功能設(shè)計上。我這里 強調(diào)的是“逐步”的一個過程,程序員要逐步減少編程的時間,增加設(shè)計的時間,要克服編程的強大吸引力,要主動地攀上設(shè)計這個臺階。很難有一個設(shè)計師是完全 不編程的,而且我認(rèn)為,會編程的設(shè)計師才是真正的設(shè)計師。一般這種轉(zhuǎn)變需要花上一到兩年時間。

      3、走向項目經(jīng)理

      也有一些程序員工作機遇比較好,不但負責(zé)了項目的設(shè)計工作,而且負責(zé)了項目管理工作。對項目經(jīng)理這個工作有了一定的嘗試。因此,這類程序員可以審視一下自 己,是否合適這項工作。如果自己對這種工作比較滿意,而且具備項目經(jīng)理的要求,則可以向項目經(jīng)理這個方向發(fā)展。項目經(jīng)理承擔(dān)著項目管理的職責(zé),對項目負主 要責(zé)任。它和程序員的作用也不相同,項目經(jīng)理的重點已經(jīng)從編程轉(zhuǎn)移到對人、對技術(shù)、對進度、對項目的管理。由于軟件的項目經(jīng)理與軟件項目的相關(guān)性太大,因 此,他必須要了解軟件開發(fā)的各個環(huán)節(jié)、了解開發(fā)的各種技術(shù)和運用、了解開發(fā)隊伍人員的水平和特點。所以他依舊和程序員脫不了干系。從程序員到項目經(jīng)理可以 使得項目經(jīng)理更好地理解程序員在項目中的地位和作用,了解軟件開發(fā)的各種規(guī)律性的東西。從而保證項目的正常完成。而且,項目經(jīng)理的收入在公司中的地位也是 比較高的。因此,我認(rèn)為走向項目經(jīng)理是程序員的另一個發(fā)展空間。我想提醒一下,程序員在擔(dān)任項目經(jīng)理之前最好要把軟件設(shè)計工作做好,這樣在做項目經(jīng)理的時 候,就會有很好的基礎(chǔ)。

      4、走向管理者

      很多程序員希望自己能成為公司中的主管、經(jīng)理、老總、老板,這樣無論是收入和在公司的地位都相對比較高一些。另外,一方面程序員可能厭倦了年復(fù)一年的編程工 作,對工作產(chǎn)生了抵觸情緒,希望能擺脫這種步步緊逼的工作狀態(tài)。走向管理者其實要求程序員要比一般人做更多的準(zhǔn)備,要做更多的轉(zhuǎn)型工作,并不是想當(dāng)管理者 就能成為管理者的。但是,如果程序員有這個志向和愛好,有積累了這方面的工作經(jīng)驗,自己也感覺在這個方面能夠發(fā)展,更重要的是有這樣的機會,走向管理者也 是可能的。由于軟件公司的管理者畢竟不同于一般公司的管理者,專業(yè)能力越強,管理起來就越得心應(yīng)手的,沒有專業(yè)能力的管理,遇到的問題很多,也很難解決。因此,我的建議程序員最好要把編程、項目設(shè)計、項目管理等基礎(chǔ)打打好。這樣轉(zhuǎn)型到管理者成功率就會高一些。

      5、走向軟件營銷

      我一直說,程序員最大的缺點之一,就是眼光只盯在技術(shù)上。程序員在入門階段和成長階段,這種情況還是屬于正常的。但是,到了成熟階段這種缺點將嚴(yán)重影響了程 序員的發(fā)展。程序員在工作中不免會接觸到用戶,不免會了解到用戶的需求。從而了解到軟件實際發(fā)揮的作用,進而了解了自身的工作價值所在。有的程序員則固步 自封,不愿意和外界打交道,從內(nèi)心里堅守技術(shù)底線。有的程序員則喜歡和外人交流,喜歡把自己的軟件推薦給用戶,而且用戶也樂意接受這種專業(yè)的介紹,用戶的 接受是程序員價值的直接實現(xiàn),程序員因此獲得了工作成就感。這類的程序員可以將自己的專業(yè)知識和產(chǎn)品營銷結(jié)合在一起,推動軟件的銷售和服務(wù),轉(zhuǎn)向軟件營銷 職業(yè)。這個職業(yè)將是一個比程序員更有發(fā)展的職業(yè),它可以直接反應(yīng)程序員的工作能力和工作成果,程序員的收入和銷售會直接掛鉤。因此,可以讓有才華的程序員 獲得更高的收入,接觸到更大的軟件市場,看到更廣的個人發(fā)展空間。

      6、原地發(fā)展

      當(dāng) 然也有一些程序員惰性比較大,滿足于現(xiàn)狀,享受著眼前的勝利果實,也無可非議。對待這些程序員,我們不要強求他們改變自己的想法,我建議是原地發(fā)展,把本 職工作做得更好,把自己的技術(shù)水平往上再提高一步。在這個過程中他們的能力和自信心都會得到提高,他們的想法不會一直一成不變的。磨刀不誤砍柴功,刀快了 自然會去砍柴的。

      7、跳槽走人

      還 有一種情況,程序員工作很努力,技術(shù)水平也有很大的提高,工作成績也很突出,但是,公司的工作環(huán)境讓他感覺不好,例如,收入和付出差距很大,而且短期內(nèi)看 不到加薪的可能;自己的技術(shù)水平已經(jīng)超出公司開發(fā)所需,英雄無用武之地;公司的經(jīng)營狀況比較差、看不到公司未來;公司的人際關(guān)系緊張,小人當(dāng)?shù)?,自己得?到重用等。他可以選擇跳槽走人。要說明的是,這個時候跳槽走人你是有本錢的,這個本錢就是你積累的工作業(yè)績、技術(shù)水平和工作能力。

      程序員在成熟期面臨著上升空間的選擇,是上還是不上往往決定了程序員今后的發(fā)展。水往低處流,人往高處走,只要程序員有向上的意識,不滿足于現(xiàn)狀,根據(jù)自身的特點和資源選擇發(fā)展方向,我想程序員一定會有很好的發(fā)展前途。

      【四】總結(jié)與提升

      成功與失敗的區(qū)別在于,成功者選擇了正確而失敗者選擇了錯誤。因此,我們常常能夠看到一些天賦相差無幾的人,由于選擇了不同的方向,人生卻迥然相異。選擇正確的方向尤為重要,希望不同的程序員根據(jù)自己不同的優(yōu)勢和特點能畫出適合自己的程序員職業(yè)規(guī)劃圖。

      軟件開發(fā)也是有層次區(qū)別的,比如,按層次從高到低通??煞譃椋?系統(tǒng)開發(fā):如操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、服務(wù)器系統(tǒng)開發(fā); 專業(yè)開發(fā):如網(wǎng)絡(luò)安全、游戲、人工智能開發(fā); 應(yīng)用開發(fā):如MIS、BI、ERP等系統(tǒng)開發(fā); 普通開發(fā):如網(wǎng)站、簡單應(yīng)用系統(tǒng)開發(fā)。

      不同的層次,難度系數(shù)不一樣,對技術(shù)要求、個人素質(zhì)要求也不一樣。要成為系統(tǒng)開發(fā)者、專 業(yè)開發(fā)者、高級應(yīng)用開發(fā)者,需要有很高的專業(yè)知識和很強的邏輯、抽象、空間思維能力,這就要求具有很好的基礎(chǔ),同時具有較大的提升潛力。而要成為簡單開發(fā) 者和初級應(yīng)用開發(fā)者則相對容易些,正是這樣,才使很多人走上了軟件開發(fā)的道路。

      【五】職場榜樣

      雷軍:從程序員到金山CEO

      人物簡介

      今年39歲的雷軍祖籍仙桃,在武漢度過了自己的大學(xué)時光。1992年加盟金山公司,從程序員做起,到幾年后的高級管理者,再到執(zhí)掌金山近10年的CEO。

      在百度上搜索“雷軍”的名字,相關(guān)的網(wǎng)頁達到了250多萬個。可以說,無論是在IT界還是民間,對雷軍的關(guān)注度都是巨大的。

      歷經(jīng)多年艱辛,雷軍帶領(lǐng)金山走上了發(fā)展的快車道,同時也為自己鑄就了“最勤奮CEO”、“金牌CEO”、“中國最好的職業(yè)經(jīng)理人”的榮耀,在中國IT史上留下了自己的傳奇。

      2007年底,雷軍宣布辭去所有在金山一線的管理職務(wù),只保留了副董事長和戰(zhàn)略委員會主席的職務(wù)。結(jié)緣IT行業(yè)

      中學(xué)畢業(yè)前,雷軍從沒想過自己的未來會跟計算機扯上關(guān)系。

      高考填寫志愿時,好朋友選擇了計算機系,“為了日后和好友仍有共同語言”的雷軍也填了同樣的專業(yè),并以優(yōu)異的成績考入武漢大學(xué)計算機系。

      從小學(xué)到中學(xué),雷軍的成績一直都很拔尖?!霸谖业挠∠笾?,聞一多等很多名人都是在大學(xué)成名的,我當(dāng)時也想利用大學(xué)的機會證明我的優(yōu)秀。”

      進大學(xué)的第一個晚上,其他同學(xué)還沉浸在興奮之中時,雷軍卻默默地去教室自修。

      以后每一天,早上7點,他都會第一個沖進教室占座位,坐在最前排聽課;周末他喜歡看電影,但經(jīng)常要自習(xí)到九、十點鐘以后看晚間場。

      回憶那段大學(xué)生涯,雷軍說:“我特別害怕落后,怕一旦落后,我就追不上,我不是一個善于在逆境中生存的人。我會先把一個事情想得非常透徹,目的就是不讓自己陷入逆境,我是首先讓自己立于不敗之地,然后再出發(fā)的人?!? 為了不落后于人,雷軍戒掉了午睡的習(xí)慣,把時間分割成以半小時為單位,為自己制定好每半小時的學(xué)習(xí)計劃,最終,雷軍大一寫的程序,等他上大二的時候,已經(jīng)被編進大一教材里了。

      雷軍家里并不富裕。大學(xué)期間,雷軍父母的工資加起來不到300塊,家里還有一個姐姐也在上大學(xué),雷軍每個月要從家里拿走150塊錢,他知道自己這是拿走 了家里的一半收入,父母會過得很艱難,心里很不是滋味。于是,他千方百計找各種兼職掙錢。當(dāng)時,向各媒體投稿賺取稿費是他收入的主要來源。他還時常在武漢 的電子一條街走動,有時倒賣點產(chǎn)品,有時替別人維修機器,有時動手編一點小軟件。

      不過,這一切并未影響雷軍的學(xué)業(yè),相反,他在計算機的世界里如魚得水,只用2年就修完了大學(xué)4年的課程。初次創(chuàng)業(yè)以失敗告終

      剛開始接觸計算機編程的那會兒,雷軍就很快被這種可以操縱計算機的感覺所吸引,“你會覺得在做軟件開發(fā)的過程中,你就是你自己領(lǐng)地上的國王”。

      大一開設(shè)的第一門課叫PASCAL程序設(shè)計,雷軍經(jīng)常因為程序設(shè)計出眾,受到老師的表揚。大二時,這位老師將雷軍寫的程序編進了教材。由于小有名氣,人 又踏實好學(xué),其他老師想找他幫忙做事,也會主動把計算機房鑰匙交給他,在那個計算機是個寶的年代,他最多竟同時擁有3個機房的鑰匙!

      當(dāng)時有一本非常出名的書叫《硅谷之火》,這樣一本講述IT人創(chuàng)業(yè)的著作激勵著雷軍,更令他狂熱。也就是在那時,雷軍起了一個念頭:創(chuàng)辦一家世界級軟件企業(yè),讓自己做的軟件在世界的每一臺電腦上運行。上世紀(jì)80年代末90年代初,正是中國互聯(lián)網(wǎng)和軟件業(yè)剛剛開始起步的階段。越來越強烈的實踐沖動,讓雷軍不再甘于紙上談兵,臨近畢業(yè)時開始自己創(chuàng)業(yè)。

      大四那年,雷軍和另外3個志同道合的同學(xué),用賣電腦的四五千塊錢,開辦了自己的“三色”軟件公司,開發(fā)出國內(nèi)很早的殺毒軟件“免疫90”。

      然而半年不到,既沒有社會資源,又不曾受過系統(tǒng)商業(yè)訓(xùn)練的雷軍就感到力不從心。最初的創(chuàng)業(yè)夢以失敗告終。初次的創(chuàng)業(yè)經(jīng)歷也讓雷軍收獲很多。他更清醒地認(rèn)識了自己的優(yōu)勢和劣勢,這使他在以后的創(chuàng)業(yè)歷程中變得更加謹(jǐn)慎;他對企業(yè)運作有了初步的了解,這為他日后向企業(yè)高層管理者的轉(zhuǎn)型奠定了基礎(chǔ)。

      立足金山踏響時代節(jié)拍

      大學(xué)畢業(yè)后,雷軍被分配到航天部,但他內(nèi)心并不喜歡那樣的工作氛圍。1992年7月,帶著大學(xué)時的激情與夢想,雷軍在金山軟件公司開始了新的旅程。

      從1988年到1995年,金山WPS曾憑技術(shù)領(lǐng)先橫掃大江南北。然而,“前有微軟,后有盜版”,90年代中期,這一行業(yè)背景讓金山陷入前所未有的困境。

      1997年,雷軍果斷提出“立足辦公軟件市場,全方位進軍家用軟件市場”。此后,隨著國內(nèi)首套商業(yè)PC游戲《中關(guān)村啟示錄》、VCD全屏播放軟件《金山影霸》及計算機學(xué)習(xí)軟件《電腦入門》等產(chǎn)品的問世,人們記住了金山的名字。

      不久,金山還相繼推出了國內(nèi)第一套大型武俠RPG游戲《劍俠情緣》、《WPS97》和《金山詞霸》等產(chǎn)品。金山一舉成了中國軟件市場上最耀眼的明星。而與金山同一時代創(chuàng)業(yè)的一大批軟件公司,則在微軟和盜版雙重夾擊下日漸式微。

      新世紀(jì)到來,伴著軟件業(yè)黃金時代的黯淡,中國以互聯(lián)網(wǎng)為主導(dǎo)的時代來臨。雷軍敏銳地感到,互聯(lián)網(wǎng)時代的傳統(tǒng)軟件企業(yè)必須應(yīng)時革命,否則就會像恐龍一樣消 亡。2000年,他看好電子商務(wù)這一模式,并創(chuàng)辦了后來成為行業(yè)旗艦企業(yè)的卓越網(wǎng);2003年“非典”后,雷軍又帶領(lǐng)金山進軍網(wǎng)游(網(wǎng)絡(luò)游戲)。從WPS到網(wǎng)絡(luò)游戲,在國產(chǎn)軟件步履維艱的現(xiàn)實條件下,金山走出了一條曲線救國之路。2007年10月9日,金山正式在香港聯(lián)交所上市。

      從1992年加盟金山,到2007年金山上市,雷軍在金山16年如一日,身上洋溢著的始終是最初的夢想與激情。金山,也成為民族軟件產(chǎn)業(yè)的一面旗幟。

      第二篇:從編程到管理——程序員的晉升之路(范文模版)

      從編程到管理——程序員的晉升之路

      與任何職業(yè)一樣,軟件開發(fā)工作同樣存在著領(lǐng)導(dǎo)者與生產(chǎn)者的劃分。具體來講,我們要么是Steve Jobs,要么是Woz。這是兩種完全不同的發(fā)展方向,但都足以將大家引導(dǎo)至輝煌的成功。

      有才華的工程師常常會把管理技術(shù)團隊作為職業(yè)生涯的下一個發(fā)展目標(biāo)。因此,如果大家正在朝著這一方向進發(fā),那么需要做出哪些轉(zhuǎn)變來促成這項進展?在今天的文章中,我們會探討一些具備可行性的方法、過程中常見的陷阱以及相關(guān)解決方案。

      這里提出的第一個問題是,您是否愿意為了邁入管理層而迎接徹底的職業(yè)顛覆?您是否屬于像Woz那樣的技術(shù)型人才?了解自己的特性以及希望邁入怎樣的管理崗位絕對是最值得大家認(rèn)真反思的首要議題。

      您需要考量自己對工作當(dāng)中的哪個方面最感興趣,而哪方面內(nèi)容是您希望盡可能避免的,”彭博資訊公司基礎(chǔ)應(yīng)用工程技術(shù)負責(zé)人Adam Wolf指出。如果大家真正偏好的是帶領(lǐng)團隊中的每位成員共同解決問題,或者構(gòu)建愿景并引導(dǎo)大家為之不懈努力,那么管理崗位絕對是各位沖擊人生新高度的絕 佳機遇。” 全面地考量管理崗位轉(zhuǎn)型

      管理工作的起點就在我們當(dāng)前的位置,或者說現(xiàn)有崗位當(dāng)中。管理者需要承擔(dān)更多責(zé)任,與團隊中的其他成員溝通并讓自己成為人們的關(guān)注焦點。通過這種方式,大家可能會建立起良好的第一印象,并引導(dǎo)其他成員對我們寄予更多期望,當(dāng)然具體效果還不只這些。美國太平洋大學(xué)臨床分析教授Rick Hutley建議稱,如果打算在管理崗位上有所作為,大家不妨先看看自己的臉皮有多厚。

      證明自己能夠在目前的工作職責(zé)基礎(chǔ)上建立起信任感,這代表著我們可以承擔(dān)起更多責(zé)任?!?-Chef公司工程技術(shù)副總裁James Casey 問問自己您能否承受得住風(fēng)險以及批評,”英國電信公司前任CIO、現(xiàn)任思科系統(tǒng)公司創(chuàng)新事務(wù)副總裁Hutley表示。坦率地講,當(dāng)一位幸福的基層工 作者要比作個痛苦的領(lǐng)導(dǎo)者更好。也就是說,大家要積極迎接更廣闊的視野。我們應(yīng)該有勇氣走出舒適的現(xiàn)狀,主動承擔(dān)起更多責(zé)任?!?/p>

      管理他人往往也會帶來諸多尷尬的狀況,這種別扭的職業(yè)生涯也可能會讓當(dāng)事者煩惱不已。優(yōu)秀的管理者應(yīng)該受到自身領(lǐng)導(dǎo)他人及理解他人的渴望所驅(qū)動--一味批評雖然能夠影響他人,但卻無法幫我們贏得朋友。

      領(lǐng)導(dǎo)地位意味著在某些場合下作出艱難的決定--包括與那些自己曾經(jīng)的同事發(fā)生爭執(zhí)甚至沖突--而且這很可能是一條孤獨的職業(yè)道路,”Hutley強調(diào)稱。我們走得越高,遭遇失敗的可能性也就越大--特別是在某些人看來。”

      西雅圖企業(yè)級軟件供應(yīng)商Chef公司工程技術(shù)副總裁James Casey指出,我們可以傳達自身對于擔(dān)當(dāng)管理者的渴望--這一點非常重要--同時不失時機地展示自身成為優(yōu)秀領(lǐng)袖的各種素質(zhì)。領(lǐng)導(dǎo)與引導(dǎo)是這份素質(zhì)清單中的核心項目--甚至足以決定一切,”Casey表示。我經(jīng)常會問自己,'團隊中的同事希望我統(tǒng)領(lǐng)這支隊伍嗎?為什么是? 又為什么不是?'在考慮如何實現(xiàn)晉升的過程中,大家需要首先把當(dāng)前的工作做好--這表明我們能夠以現(xiàn)有職責(zé)為基礎(chǔ)積累起充分的信任感,這代表著我們可以承 擔(dān)起更多責(zé)任?!?但如果大家此前從未有過管理經(jīng)驗,那么怎樣確定自己擅長這方面的工作呢?Hutley就此給出了建議:您是否是那些會著眼于當(dāng)前任務(wù)之外,更多關(guān)注 社交影響而非僅僅是工作本身的員工嗎?您是否會提出更理想的解決方案,或者挑戰(zhàn)存在缺陷的固有成規(guī)?其他同事是否會尋求您的想法或者指導(dǎo)?如果答案是肯定 的,那么您就是一位天生的領(lǐng)導(dǎo)者--而其他人也會承認(rèn)這一點?!?/p>

      全面地考量管理崗位轉(zhuǎn)型

      如果大家希望通過努力工作及對細節(jié)的專注來加快自己晉升的步伐,那么傳達自己的規(guī)劃將變得非常重要。向管理層的這步飛躍意味著我們的日常工作將面對全新設(shè)計。不過作為第一步,我們首先需要將自己的意圖傳遞給頂頭上司。

      硅谷行政管理培訓(xùn)師Jennifer Selby Long在過去二十年中一直在幫助軟件開發(fā)人員走上管理崗位,并指導(dǎo)他們更加高效地統(tǒng)領(lǐng)相關(guān)團隊。Long表示,出色的工作成果尚不足以發(fā)出強烈的信號--我們還需要做得更多、想得更遠。而這絕不像表面上看起來那么簡單。

      尋找規(guī)模擴展速度最快的業(yè)務(wù),因為這些領(lǐng)域?qū)⑻峁┐罅繖C會、幫助各位站出來承擔(dān)本職工作之外的責(zé)任?!?/p>

      --Lever公司聯(lián)合創(chuàng)始人兼CEO Sarah Nahm 幾乎每一位軟件工程師都希望繼續(xù)自己的軟件開發(fā)之路,因為除非我們坦率表達自己的愿望,否則頂頭上司根本意識不到我們涉足管理工作的意向,”Long指出。積極討論自己為企業(yè)做出更多貢獻的愿望,并樂于接受新的挑戰(zhàn),而不能單純將著眼點放在自己的現(xiàn)有職業(yè)發(fā)展路線之上?!?/p>

      業(yè)績審查與其它一對一面談?wù)俏覀儽磉_邁入管理層的最佳時機。而且大家的頂頭上司也許正好有能力幫助各位了解需要充實自己的哪些技能儲備來實現(xiàn)晉升理想,Chef公司工程技術(shù)副總裁Casey解釋道。

      無論所在企業(yè)使用哪種系統(tǒng)來記錄大家的職業(yè)抱負與發(fā)展方向,與頂頭上司之間的一對一談話都是從細節(jié)入手探討晉升目標(biāo)的最佳時機,”Casey補充 稱。如果大家和自己的頂頭上司都看好同一條管理職責(zé)拓展途徑,那么對方將成為我們最大的導(dǎo)師兼敦促者,而這也是實現(xiàn)成功的理想方式?!?除了上述提示之外,如果大家希望從當(dāng)下開始采取措施,那么這種微妙但又艱難的變化可能會給我們的日常辦公流程帶來影響。這顯然是種個人選擇,而且除了Mark Zuckerberg,其他管理者必須得放棄個人購物時間來主持業(yè)務(wù)例會。我曾經(jīng)得到過的最好的建議是:'如果你打算拿下某個崗位--首先要讓自己看起來像是擁有該崗位的人員,'”Hutley表示。當(dāng)一家企業(yè)打算為某個 職位尋找人選時,他們會首先梳理心理關(guān)系網(wǎng)、搜索那些看起來像是能夠用途該工作的人員。在招聘廣告登出之后才開始行動已然為時太晚,我們需要在此之前就在 行動上表現(xiàn)出自己對該崗位當(dāng)仁不讓的決心?!?而這種微妙的轉(zhuǎn)變--以及讓自己脫穎而出的過程--往往會在當(dāng)前工作環(huán)境中引發(fā)摩擦。

      作為一名管理者,我們的工作當(dāng)中約有九成的內(nèi)容是對他人造成影響,而這是一項與邏輯無關(guān)的任務(wù)?!?/p>

      --行政管理培訓(xùn)師Jennifer Selby Long 以潛在管理者的形象出現(xiàn)本身可能會產(chǎn)生一些不便。穿著整潔的下裝與干凈的襯衫顯然會讓大家在充斥著牛仔褲與運動鞋搭配的辦公室里看起來有些格格不 入,”Hutley指出。如果如果始終以基層員工的面貌出現(xiàn),大家永遠無法順利實現(xiàn)晉升--您必須以自己的方式達成鶴立雞群的效果,包括言談與行為?!?盡可能借力于一切因素

      當(dāng)然,大家可以申請MBA學(xué)位并通過在線或者在職方式完成相關(guān)課業(yè)。專業(yè)人士指出,公開演講課程能夠幫助我們逐步熟悉預(yù)算培訓(xùn)、自我評估,并掌握多樣性及包容性的相關(guān)內(nèi)容。但在辦公室當(dāng)中,我們同時擁有大量足以幫助自身向正確方向邁進的機會。

      我其實應(yīng)該以自己沒有MBA學(xué)位為理由否定上述觀點,”彭博資訊公司的Wolf指出。在我看來,我在成為管理者之后通過實踐學(xué)到了更多,而并非以管 理角色作為著眼點進行系統(tǒng)培訓(xùn)。我確實接受過與管理相關(guān)的課程并讀過不少書籍,但我發(fā)現(xiàn)幫助最大的還是來自同事、管理者以及整個團隊的反饋意見,我也通過 審視角色模型并了解其為何能夠確切起效而得到了切實助益?!?/p>

      積極尋找導(dǎo)師,”Hutley表示贊同。所謂導(dǎo)師并不一定非要以正式角度委任--當(dāng)然,專業(yè)導(dǎo)師也很不錯。找到能夠與自己產(chǎn)生共鳴的領(lǐng)導(dǎo)者--從對 方身上學(xué)習(xí)自己欣賞且希望擁有的寶貴品質(zhì)。接下來,在理解了自己欽佩對方的理由后認(rèn)真進行觀察:他們在面對特定情況時會如何處理,他們?nèi)绾沃b、交流及行 動等等?!?/p>

      在相關(guān)領(lǐng)域獲取資質(zhì)認(rèn)證也能夠表明我們希望晉升的意愿,招聘服務(wù)企業(yè)HireStrategy公司常務(wù)董事Eric Klein指出。而且大家可以通過幫助新人或者大學(xué)畢業(yè)生的方式展示自己的領(lǐng)導(dǎo)才能。

      大家必須適應(yīng)立足于幕后審視團隊當(dāng)前工作成果的感覺。”--彭博資訊公司基礎(chǔ)應(yīng)用工程技術(shù)負責(zé)人Adam Wolf 當(dāng)某位同事在開發(fā)工作中陷入困境時,不妨從同事的角度幫助其進行代碼審查,”Klein指出。除了管理項目與統(tǒng)領(lǐng)團隊,指導(dǎo)新人員工與同行也能夠證明我們有能力承擔(dān)起領(lǐng)導(dǎo)任務(wù)。” 谷歌公司前Chrome開發(fā)團隊成員Sarah Nahm給出的建議是,我們應(yīng)當(dāng)從目前增長速度最快的業(yè)務(wù)領(lǐng)域處尋找機會。

      工程師應(yīng)當(dāng)關(guān)注身邊的業(yè)務(wù)發(fā)展趨勢,”Nahm指出,目前她領(lǐng)導(dǎo)著Lever公司--一家專門幫助企業(yè)隨業(yè)務(wù)擴展招聘員工的硅谷企業(yè)。尋找規(guī)模擴展 速度最快的業(yè)務(wù),因為這些領(lǐng)域?qū)⑻峁┐罅繖C會、幫助各位站出來承擔(dān)本職工作之外的責(zé)任。以志愿者角色參與到更多面試中來,并在戰(zhàn)略決策的制定會議中坐在前 排。如此一來,大家將更為明確地了解到哪些元素會給工程技術(shù)組織帶來深遠影響,同時為未來統(tǒng)領(lǐng)團隊并需要雇用更多工程技術(shù)人員的情況儲備關(guān)鍵性技能?!?作出轉(zhuǎn)變

      一位專家指出,管理崗位會給從業(yè)者帶來大量同樣的挑戰(zhàn)與不確定因素。他隨后補充稱,我們絕對不能采取直白的表達方式--否則必然招致被整個團隊所疏遠的風(fēng)險。有鑒于此,類比與提醒才是最理想的溝通手段,而這正是作為職業(yè)轉(zhuǎn)變的基礎(chǔ)性藍圖。

      首先,做好準(zhǔn)備迎接全面且徹底的職業(yè)生涯轉(zhuǎn)變,”行政管理培訓(xùn)師Long表示。在人力方面,我們沒有產(chǎn)品規(guī)范或者算法可供參考。作為管理者,大家的 工作有九成內(nèi)容都是在影響他人,而這顯然是一項與邏輯無關(guān)的任務(wù)。另外我們還需要處理帶有模糊屬性的業(yè)務(wù)并通過他人產(chǎn)生結(jié)果,而這項工作也無法單靠邏輯以 及理由來實現(xiàn)。” 接下來才是真正困難的部分。大家準(zhǔn)備好接過控制權(quán),并保證整個團隊繼續(xù)順利完成既定工作目標(biāo)了嗎?

      在技術(shù)這個只問'你最近為我做了什么'的殘酷行業(yè)當(dāng)中,大家的通行證……就是自己的技能儲備。如果失去了這一點,我們的立足根基也將分崩離析?!?-WinterWyman公司首席顧問Mark Stagno 只有最糟糕的管理者才會過分施加控制,”Long指出。但這些事必躬親的領(lǐng)導(dǎo)總以為自己是在做正確的事。您能將自己的全部精力用于指導(dǎo)、支持、點撥以及鼓勵他人嗎?這種心態(tài)是最基本的前提??傊?,請確保自己做好了登上這輛過山車的全部心理準(zhǔn)備?!?另外,如果團隊當(dāng)中存在著來自原本工作組的同事,您會如何處理與這些同事之間的工作關(guān)系?

      大家必須保持理想的客觀心態(tài),并以坦誠的方式傳達令人較難接受的決定,”Hutley指出。如實傳達這種負面反饋確實非常困難--而且雙方都會因此而飽受折磨,而不僅僅是管理者一方。也就是說,大家用不著刻意回避自己的這些老戰(zhàn)友。” 引導(dǎo)團隊成員拓展自己的技能,各位專業(yè)人士一致指出,同時準(zhǔn)備好在遭遇失敗時經(jīng)受應(yīng)有的教訓(xùn)。再次強調(diào),這些技能--包括高效溝通、增強說服力以及在面對不確定因素時保持冷靜--往往并非天生就能具備,不過我們可以通過學(xué)習(xí)來獲取。

      領(lǐng)導(dǎo)者要做的就是引導(dǎo)與培訓(xùn),然后讓下屬們?nèi)プ杂砂l(fā)揮,”Hutley表示。當(dāng)事情按既定計劃發(fā)展時,我們需要及時作出表揚和鼓勵;但當(dāng)情況出錯時--我們難免要忙中出錯--時表達支持與理解?!?/p>

      彭博資訊公司的Wolf表示認(rèn)同,并建議新任管理者能為所統(tǒng)領(lǐng)的團隊提供與以往一樣的自主發(fā)揮權(quán)利。

      大家不要因為好高騖遠而放棄責(zé)任,”Wolf指出。大家必須適應(yīng)立足于幕后審視團隊當(dāng)前工作成果的感覺。我發(fā)現(xiàn)將重點放在向團隊提出確切相關(guān)的問題并敦促其找出正確答案方面能夠帶來良好的收效?!?/p>

      另外,不要放棄長久以來推動我們獲得領(lǐng)導(dǎo)崗位的固有特質(zhì)。換言之,被收回職權(quán)的最快方式就是遺忘了自己引以為傲的技能儲備。

      使用主流技術(shù)方案能夠保證我們在離開一家企業(yè)后,迅速在其它業(yè)務(wù)環(huán)境中上手工作,”職業(yè)介紹企業(yè)WinterWyman公司首席顧問Mark Stagno表示。在技術(shù)這個只問'你最近為我做了什么'的殘酷行業(yè)當(dāng)中,大家的通行證……就是自己的技能儲備。如果失去了這一點,我們的立足根基也將分 崩離析。而且如果情況發(fā)生轉(zhuǎn)變--公司處境較為艱難或者工作得不太順心--如果沒有拿得出手的技能亮點,大家將很難找到新工作?!?關(guān)于是否繼續(xù)關(guān)注原有專業(yè)的爭論 我們還認(rèn)為,成功實現(xiàn)晉升后的工程技術(shù)人員不妨偶爾回顧過往,審視將代碼構(gòu)建與部署作為核心工作--而非管理產(chǎn)品、預(yù)算與團隊--的那段時光。HireStrategy公司的Klein表示,他有時候會聽到那些由工程師晉升為管理者的同事抱怨他們錯過了大量編程工作。隨著技術(shù)的不斷變化與 發(fā)展,管理者們同樣需要關(guān)注自己的技術(shù)性技能,甚至可以將其作為管理技能的一部分納入提升議程,”Klein指出。我們會提醒指出,當(dāng)職業(yè)生涯走向終點 時,每個人都會找到其中最令自己振奮的部分。單純從技術(shù)入手仍然可以讓職業(yè)經(jīng)歷變得豐富多彩,而不一定非要執(zhí)著于踏入管理領(lǐng)域?!?/p>

      作為一位管理者,大家的職責(zé)將較少專注于工作,而更多集中在幫助他人獲得成功上?!?-Geneca公司首席架構(gòu)師Michael de Groot 很多工程師都喜歡以獨立方式解決問題,軟件產(chǎn)品開發(fā)商Geneca公司首席架構(gòu)師Michael de Groot指出,并以自豪的情緒拿出自己的全新解決方案。

      作為一位管理者,大家的職責(zé)將較少專注于工作,而更多集中在幫助他人獲得成功上,”de Groot表示。大家必須處理他人的行為、態(tài)度--以及工作偷方面的差異?!?下面來看最后一項與晉升相關(guān)的議題。當(dāng)明星開發(fā)人員難于尋覓時,轉(zhuǎn)型當(dāng)老板也不一定主能帶來更好的收益。時至今日,我們已經(jīng)不可能再像Woz當(dāng)年那 樣環(huán)顧身處惠普且忙于制造計算器產(chǎn)品的同事而認(rèn)定自己找到了值得為之奮斗終生的事業(yè)。在如今的市場上,那些能夠?qū)崿F(xiàn)創(chuàng)新的員工都是要開出大價錢的。

      高端市場上的工程師其實很少有轉(zhuǎn)型涉足管理崗位的,”WinterWyman公司的Stagno指出。因此在選擇新的發(fā)展方向之前,請多花點時間認(rèn) 真考量一番。參考以上各項意見,確定自己擁有轉(zhuǎn)變方向的正當(dāng)理由--換言之,證明自己確實想成為一位領(lǐng)導(dǎo)者,而不僅僅是希望靠這種方式實現(xiàn)職級晉升。”

      原文標(biāo)題:The programmer's guide to peaking into management 【編輯推薦】

      程序員學(xué)習(xí)編程需要攻克的8個障礙

      全球最受歡迎的計算機編程語言

      如何在編程生涯中有一個好的開端

      我2年學(xué)習(xí)編程的經(jīng)驗總結(jié)

      白板編程淺談——Why, What, How

      程序員獲取新編程技能必備這些技巧

      第三篇:程序員(范文模版)

      作業(yè):研究一個新或自己感興趣的職業(yè) v介紹:名稱定義

      v典型生涯路徑:從新手到最高職位的生涯路徑

      v趨勢:技術(shù)、組織結(jié)構(gòu)、培訓(xùn)、經(jīng)濟趨勢對職業(yè)的影響

      v薪酬:差別、地域差別

      v所需技能

      v教育/培訓(xùn):受教育程度

      v證書/資格證書

      v工作條件:環(huán)境、壓力、工作時間、是否出差?

      v聘用機構(gòu)

      v對生活方式的影響

      v性別構(gòu)成v聘用過程

      v專業(yè)知識 月收入

      人數(shù)

      <1000元 131 1000-3000元 919 3001-5000元 477 5001-10000元 245 10000元以上 44

      最多的部分居然是“1000-3000元”...程序員苦哇,同志們!

      程序員

      目錄

      1作為一個真正合?

      2崗位職責(zé)

      3行業(yè)現(xiàn)狀

      4職業(yè)要求

      5必備技能

      6素質(zhì)要求

      7職業(yè)困境

      程序員(英文Programmer)是從事程序開發(fā)、維護的專業(yè)人員。一般將程序員分為程序設(shè)計人員和程序編碼員,但兩者的界限并不非常清楚,特別是在中國。軟件從業(yè)人員分為初級程序員、高級程序員、系統(tǒng)分析員和項目經(jīng)理四大類的方法。

      崗位職責(zé)

      1、對項目經(jīng)理負責(zé),負責(zé)軟件項目的詳細設(shè)計、編碼和內(nèi)部測試的組織實施,對

      小型軟件項目兼任系統(tǒng)分析工作,完成分配項目的實施和技術(shù)支持工作。

      2、協(xié)助項目經(jīng)理和相關(guān)人員同客戶進行溝通,保持良好的客戶關(guān)系。

      3、參與需求調(diào)研、項目可行性分析、技術(shù)可行性分析和需求分析。

      4、熟悉并熟練掌握交付軟件部開發(fā)的軟件項目的相關(guān)軟件技術(shù)。

      5、負責(zé)向項目經(jīng)理及時反饋軟件開發(fā)中的情況,并根據(jù)實際情況提出改進建議。

      6、參與軟件開發(fā)和維護過程中重大技術(shù)問題的解決,參與軟件首次安裝調(diào)試、數(shù)據(jù)割接、用戶培訓(xùn)和項目推廣。

      7、負責(zé)相關(guān)技術(shù)文檔的擬訂。

      8、負責(zé)對業(yè)務(wù)領(lǐng)域內(nèi)的技術(shù)發(fā)展動態(tài)。

      一、通過國家統(tǒng)一組織的考試,資格考試分初級程序員級(技術(shù)員級)、程序員級(助

      理工程師級)和高級程序員級(工程師級);水平考試分初級程序員級、程序員級、高級程序員級、系統(tǒng)分析員級、以及網(wǎng)絡(luò)程序員(初級)、網(wǎng)絡(luò)設(shè)計師(中級)。

      二、報考條件:報各級水平考試者無學(xué)歷、資歷限制;在職人員均可報初級程序員資格,其中大學(xué)本科畢業(yè)或任技術(shù)員兩年以上者(含二年),可報程序員級資格,研究生畢生或任助工兩年以上者(含二年),可報高級程序員級資格(計算年限均至本12月31日)。

      三、報名手續(xù):報名時須持身份證或?qū)W生證,交本人近期同底一寸免冠半身照兩張及報名費100元(系統(tǒng)分析員報名費150元),其中報資格還須提交本人工作證及任職證明或相應(yīng)學(xué)歷證明復(fù)印件。

      作為一個真正合格的程序員應(yīng)該具有的素質(zhì) 1:團隊精神和協(xié)作能力

      把它作為基本素質(zhì),并不是不重要,恰恰相反,這是程序員應(yīng)該具備的最基本的,也是最重要的安身立命之本。任何個人的力量都是有限的,即便如linus這樣的天才,也需要通過組成強大的團隊來創(chuàng)造奇跡,那些遍布全球的為linux寫核心的高手們,沒有協(xié)作精神是不可想象的。一旦進入系統(tǒng)的研發(fā)團隊,進入商業(yè)化和產(chǎn)品化的開發(fā)任務(wù),缺乏這種素質(zhì)的人是不合格的。

      2:文檔習(xí)慣

      說高水平程序員從來不寫文檔的肯定是乳臭未干的毛孩子,良好的文檔是正規(guī)研發(fā)流程中非常重要的環(huán)節(jié),作為代碼程序員,30%的工作時間寫技術(shù)文檔是很正常的,而作為高級程序員和系統(tǒng)分析員,這個比例還要高很多。缺乏文檔,一個軟件系統(tǒng)就缺乏生命力,在未來的查錯,升級以及模塊的復(fù)用時就都會遇到極大的麻煩。

      3:規(guī)范化,標(biāo)準(zhǔn)化的代碼編寫習(xí)慣

      代碼的變量命名,代碼內(nèi)注釋格式,甚至嵌套中行縮進的長度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯,也有助于不同技術(shù)人員之間的協(xié)作。有些codingfans叫囂高水平程序員寫的代碼旁人從來看不懂,這種叫囂只能證明他們自己?根不配自稱程序員。代碼具有良好的可讀性,是程序員基本的素質(zhì)需求。沒有規(guī)范化和標(biāo)準(zhǔn)化的代碼習(xí)慣,研發(fā)之間的協(xié)作是絕對不可想的。

      4:需求理解能力

      程序員需要理解一個模塊的需求,很多程序員寫程序往往只關(guān)注一個功能需求,他們把性能指標(biāo)全部歸結(jié)到硬件,操作系統(tǒng)和開發(fā)環(huán)境上,而忽視了本身代碼的性能考慮,性能需求指標(biāo)中,穩(wěn)定性,并訪支撐能力以及安全性都很重要,作為程序員需要評估該模塊在系統(tǒng)運營中所處的環(huán)境,將要受到的負荷壓力以及各種潛在的危險和惡意攻擊的可能性。就這一點,一個成熟的程序員至少需要2到3年的項目研發(fā)和跟蹤經(jīng)驗才有可能有心得。

      5:復(fù)用性,模塊化思維能力

      經(jīng)??梢月牭揭恍┏绦騿T有這樣的抱怨,寫了幾年程序,變成了熟練工,每天都是重復(fù)寫一些沒有任何新意的代碼,這其實是中國軟件人才最大浪費的地方,一些重復(fù)性工作變成了熟練程序員的主要工作,而這些,其實是完全可以避免的。

      復(fù)用性設(shè)計,模塊化思維就是要程序員在完成任何一個功能模塊或函數(shù)的時候,要多想一些,不要局限在完成當(dāng)前任務(wù)的簡單思路上,想想看該模塊是否可以脫離這個系統(tǒng)存在,是否可以通過簡單的修改參數(shù)的方式在其他系統(tǒng)和應(yīng)用環(huán)境下直接引用,這樣就能極大避免重復(fù)性的開發(fā)工作,如果一個軟件研發(fā)單位和工作組能夠在每一次研發(fā)過程中都考慮到這些問題,那么程序員就不會在重復(fù)性的工作中耽誤太多時間,就會有更多時間和精力投入到創(chuàng)新的代碼工作中去。

      一些好的程序模塊代碼,即便是70年代寫成的,拿到現(xiàn)在放到一些系統(tǒng)里面作為功能模塊都能適合的很好,而現(xiàn)在很多軟件一升級或改進就動輒全部代碼重寫,大部分重復(fù)性工作無謂的浪費了時間和精力,這是我們應(yīng)當(dāng)刻意克服的弊病。

      6:測試習(xí)慣

      作為一些正規(guī)化的開發(fā)而言,專職的測試工程師是不可少的,但是并不是說有了專職的測試工程師程序員就可以不進行自測;軟件研發(fā)作為一項工程而言,一個很重要的特點就是問題發(fā)現(xiàn)的越早,解決的代價就越低,程序員在每段代碼,每個子模塊完成后進行認(rèn)真的測試,就可以盡量將一些潛在的問題最早的發(fā)現(xiàn)和解決,這樣對整體系統(tǒng)建設(shè)的效率和可靠性就有了最大的保證。

      測試工作實際上需要考慮兩方面,一方面是正常調(diào)用的測試,也就是看程序是否能在正常調(diào)用下完成基本功能,這是最基本的測試職責(zé),可惜在很多公司這成了唯一的測試任務(wù),實際上還差的遠那;第二方面就是異常調(diào)用的測試,比如高壓力負荷下的穩(wěn)定性測試,用戶潛在的異常輸入情況下的測試,整體系統(tǒng)局部故障情況下該模塊受影響狀況的測試,頻發(fā)的異常請求阻塞資源時的模塊穩(wěn)定測試等等。

      當(dāng)然并不是程序員要對自己的每段代碼都需要進行這種完整測試,但是程序員必須清醒認(rèn)識自己的代碼任務(wù)在整體項目中的地位和各種性能需求,有針對性的進行相關(guān)測試并盡早發(fā)現(xiàn)和解決問題,當(dāng)然這需要上面提到的需求理解能力。

      7:學(xué)習(xí)和總結(jié)的能力

      程序員是人才很容易被淘汰,很容易落伍的職業(yè),因為一種技術(shù)可能僅僅在三兩年內(nèi)具有領(lǐng)先性,程序員如果想安身立命,就必須不斷跟進新的技術(shù),學(xué)習(xí)新的技能。善于學(xué)習(xí),對于任何職業(yè)而言,都是前進所必需的動力,對于程序員,這種要求就更加高了。

      但是學(xué)習(xí)也要找對目標(biāo),善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個研發(fā)任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況和用戶反饋,隨時總結(jié),找到自己的不足,這樣逐步提高,一個程序員才可能成長起來。

      具備以上全部素質(zhì)的人,應(yīng)當(dāng)說是夠格的程序員了,請注意以上的各種素質(zhì)都不是由IQ決定的,也不是大學(xué)某些課本里可以學(xué)習(xí)到的,需要的僅僅是程序員對自己工作的認(rèn)識,是一種意識上的問題。

      作為高級程序員,乃至于設(shè)計師而言,除了應(yīng)該具備上述全部素質(zhì)之外,還需要具備以下素質(zhì):

      1、需求分析能力

      2、整體框架能力

      3、流程處理能力

      4、模塊分解能力

      5、整體項目評估能力

      6、團隊組織管理能力

      世界上第一位程序員是英國著名詩人拜倫的女兒AdaLovelace曾設(shè)計了巴貝奇分析機上解伯努利方程的一個程序。她甚至還建立了循環(huán)和子程序的概念。由于她在程序設(shè)計上的開創(chuàng)性工作,AdaLovelace被稱為世界上第一位程序員。美國國防部開發(fā)的ADA語言就是為紀(jì)念這位世界上的第一位程序員而命名的。

      計算機科學(xué)發(fā)展到今天(21世紀(jì)初期),程序員從事的人群很多,分工也不相同,從大的方面可以分為以下幾類:

      asp程序員 jsp程序員 delphi程序員 php程序員 powerbuilder程序員.net程序員 vb序員 java程序員 javascript程序員 C++程序員

      職業(yè)要求

      一般的程序員都有四年的在專業(yè)領(lǐng)域的學(xué)習(xí),需要一個在程序領(lǐng)域的學(xué)士學(xué)位獲得者,不論是數(shù)學(xué)方面的還是工程方面的都是可以的。

      大約有20%的人在這一領(lǐng)域的計算機科學(xué)和工程學(xué)擁有更高的學(xué)位。還有很小一部分程序員是自學(xué)的,盡管一些專業(yè)性的學(xué)校或者綜合大學(xué)可以提供,但是也需要一些別的途徑來提供相關(guān)的人才。盡管學(xué)歷是比較重要的,但是公司經(jīng)常把重點放在應(yīng)聘者的工作經(jīng)驗上,很多剛從大學(xué)畢業(yè)的大學(xué)生雖然有引人注目的學(xué)位證書,但是他們找不到工作是因為他們?nèi)狈?jīng)驗。一個程序員雖然有正規(guī)的學(xué)歷,但是如果一個人擁有程序設(shè)計的深厚知識背景或者豐富的工作經(jīng)驗的話,那么他的機會要比有學(xué)歷的應(yīng)屆畢業(yè)生大得多。所以要盡量抓住有用的工作和實習(xí)機會,這樣的話在畢業(yè)后你就會發(fā)現(xiàn),多實習(xí)讓你有更多的經(jīng)驗,在找工作的時候就有更多的機會。

      對于職業(yè)程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業(yè)務(wù)技術(shù),他的技術(shù)必須一直保持在一個較高的水平,并且要不斷發(fā)展,程序員也要尋找貿(mào)易的機會,要參加研討會,在周刊上發(fā)表文章和接受職業(yè)教育,這些使程序員在自己的領(lǐng)域中分級或者不斷并排前進。

      必備技能

      熟練開發(fā)工具

      做為一名程序員至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發(fā)工具,C/C++以其高效率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級的軟件還是用C/C編寫。而JAVA的跨平臺和與WEB很好的結(jié)合是JAVA的優(yōu)勢所在,而JAVA即其相關(guān)的技術(shù)集JAVAOne很可能會成為未來的主流開發(fā)工具之一。其次,能掌握一種簡便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發(fā)工具減小了開發(fā)難度,并能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。

      熟知數(shù)據(jù)庫

      為什么數(shù)據(jù)庫是如此重要?作為程序員,他們自然有自己的理由:很多應(yīng)用程序都是以數(shù)據(jù)庫的數(shù)據(jù)為中心,而數(shù)據(jù)庫的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫,對關(guān)系型數(shù)據(jù)庫的關(guān)鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數(shù)據(jù)庫產(chǎn)品提供了可視化的數(shù)據(jù)庫管理工具,但SQL是基礎(chǔ),是通用的數(shù)據(jù)庫操作方法。如果沒有機會接觸商業(yè)數(shù)據(jù)庫系統(tǒng),可以使用免費的數(shù)據(jù)庫產(chǎn)品是一個不錯的選擇,如mySQL,Postgres等。

      了解操作系統(tǒng)

      當(dāng)前主流的操作系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統(tǒng),了解它的內(nèi)存管理機制、進程/線程調(diào)度、信號、內(nèi)核對象、系統(tǒng)調(diào)用、協(xié)議棧實現(xiàn)等。Linux作為開發(fā)源碼的操作系統(tǒng),是一個很好的學(xué)習(xí)的平臺,Linux幾乎具備了所有現(xiàn)代操作系統(tǒng)的特征。雖然Windows系統(tǒng)的內(nèi)核實現(xiàn)機制的資料較少,但通過互聯(lián)網(wǎng)還是能獲取不少資料。懂得網(wǎng)絡(luò)協(xié)議TCP/IP。

      在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對互聯(lián)網(wǎng)的支撐協(xié)議TCP/IP協(xié)議棧有很好的掌握,就需要迅速補上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運行的模式,從最早的客戶/服務(wù)器結(jié)構(gòu),到今天的WEBServices,再到未來的網(wǎng)格計算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,深入掌握TCP/IP協(xié)議是非常必要的。至少,需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機制。明白DCOM/CORBA/XML/WEBServices存在的意義

      隨著技術(shù)的發(fā)展,軟件與網(wǎng)絡(luò)的無縫結(jié)合是必然趨勢,軟件系統(tǒng)的位置無關(guān)性是未來計算模式的重要特征之一,DCOM/CORBA是當(dāng)前兩大主流的分布計算的中間平臺,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規(guī)范。XML/WebServices重要性不言而喻,XML以其結(jié)構(gòu)化的表示方法和超強的表達能力被喻為互聯(lián)網(wǎng)上的“世界語”,是分布式計算的基石之一。

      不要將軟件工程與CMM分開

      大型軟件系統(tǒng)的開發(fā)中,工程化的開發(fā)控制取代個人英雄主義,成為軟件系統(tǒng)成功的保證,一個編程高手并不一定是一個優(yōu)秀的程序員,一個優(yōu)秀的程序員是將出色的編程能力和開發(fā)技巧同嚴(yán)格的軟件工程思想有機結(jié)合,編程只是軟件生命周期中的其中一環(huán),優(yōu)秀的程序員應(yīng)該掌握軟件開發(fā)各個階段的基本技能,如市場分析,可行性分析,需求分析,結(jié)構(gòu)設(shè)計,詳細設(shè)計,軟件測試等。

      需求理解能力

      程序員要能正確理解任務(wù)單中描述的需求。在這里要明確一點,程序員不僅僅要注意到軟件的功能需求,還應(yīng)注意軟件的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經(jīng)驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認(rèn)真工作過,但是沒有用心工作。

      模塊化思維能力

      作為一個優(yōu)秀的程序員,他的思想不能在局限當(dāng)前的工作任務(wù)里面,要想想看自己寫的模塊是否可以脫離當(dāng)前系統(tǒng)存在,通過簡單的封裝在其他系統(tǒng)中或其他模塊中直接使用。這樣做可以使代碼能重復(fù)利用,減少重復(fù)的勞動,也能是系統(tǒng)結(jié)構(gòu)越趨合理。模塊化思維能力的提高是一個程序員的技術(shù)水平提高的一項重要指標(biāo)。

      素質(zhì)要求

      團隊精神和協(xié)作能力

      團隊精神和協(xié)作能力是作為一個程序員應(yīng)具備的最基本的素質(zhì)。軟件工程已經(jīng)提了將近三十年了,當(dāng)今的軟件開發(fā)已經(jīng)不是編程了,而是工程。獨行俠可以寫一些程序也能賺錢發(fā)財,但是進入研發(fā)團隊,從事商業(yè)化和產(chǎn)品化的開發(fā)任務(wù),就必須具備這種素質(zhì)。可以毫不夸張的說這種素質(zhì)是一個程序員乃至一個團隊的安身立命之本。

      文檔習(xí)慣

      文檔是一個軟件系統(tǒng)的生命力。一個公司的產(chǎn)品再好、技術(shù)含量再高,如果沒有缺乏文檔,知識就沒有繼承,公司還是一個來料加工的軟件作坊。作為代碼程序員,必須將30%的工作時間寫用于技術(shù)文檔。沒有文檔的程序員勢必會被淘汰。

      規(guī)范化的代碼編寫習(xí)慣

      知名軟件公司的代碼的變量命名、注釋格式,甚至嵌套中行縮進的長度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯,也有助于不同技術(shù)人員之間的協(xié)作。

      測試習(xí)慣

      測試是軟件工程質(zhì)量保證的重要環(huán)節(jié),但是測試不僅僅是測試工程師的工作,而是每個程序員的一種基本職責(zé)。程序員要認(rèn)識測試不僅是正常的程序調(diào)試,而要是要進行有目的有針對性的異常調(diào)用測試,這一點要結(jié)合需求理解能力。

      學(xué)習(xí)和總結(jié)的能力

      程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術(shù)人員無論學(xué)了多少語言,代碼寫起來多熟練,只能說他是一名熟練的代碼民工,他永遠都不會有質(zhì)的提高。一個善于學(xué)習(xí)的程序員會經(jīng)??偨Y(jié)自己的技術(shù)水平,對自己的技術(shù)層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級為軟件設(shè)計師、系統(tǒng)分析員。

      擁有強烈的好奇心

      什么才是一個程序員的終極武器呢,那就是強烈的好奇心和學(xué)習(xí)精神。沒有比強烈的好奇心和學(xué)習(xí)精神更好的武器了,它是程序員們永攀高峰的源泉和動力所在。

      行業(yè)現(xiàn)狀

      由CSDN、《程序員》主辦的2007年開發(fā)者大調(diào)查2007年底已收到15000多份有效問卷,已經(jīng)是中國調(diào)查樣本最多的開發(fā)者調(diào)查。在這次調(diào)查中,詳細的分析了樣本空間的分布狀況,發(fā)

      現(xiàn)在龐大數(shù)目的有效問卷的參與者中有70%也就是接近一萬一千名的參與調(diào)查者是IT的全職人員,14%的參與者是有過開發(fā)工作經(jīng)驗的學(xué)生,從這樣的分布就可以看出來IT從業(yè)人員對專業(yè)知識的需求是巨大而迫切的,CSDN作為專業(yè)的軟件開發(fā)技術(shù)門戶網(wǎng)站,已經(jīng)是大家獲取這些技術(shù)知識的主要手段。

      一、選擇數(shù)據(jù)庫技術(shù)和互聯(lián)網(wǎng)技術(shù)的人數(shù)總和占到了總?cè)藬?shù)的一半

      2007年火熱的SOA和動態(tài)語言各占13%和12%。其實這幾大塊技術(shù)分布他們之間都是有一定的聯(lián)系的,互聯(lián)網(wǎng)的發(fā)展近兩年呈爆炸式的增長態(tài)勢,中國的網(wǎng)民總數(shù)已經(jīng)超過了1.4億這樣一個巨大的數(shù)字。

      企業(yè)中業(yè)務(wù)的復(fù)雜程度越來越高,商業(yè)競爭不斷增加企業(yè)的IT系統(tǒng),使企業(yè)的商業(yè)數(shù)據(jù)呈幾何數(shù)量級不斷增長,在后臺海量的數(shù)據(jù)中數(shù)據(jù)的管理由之前的單一型數(shù)據(jù)變成了多緯度的復(fù)雜數(shù)據(jù),所以可以同時管理關(guān)系型數(shù)據(jù)庫和XML數(shù)據(jù)的混合型數(shù)據(jù)庫已經(jīng)成為主流。

      面對企業(yè)不斷增加新的IT信息系統(tǒng),整合已經(jīng)迫在眉睫,SOA成為必然的趨勢,企業(yè)對人才的需求從單一型技術(shù)人才、業(yè)務(wù)人才跳躍到了業(yè)務(wù)技術(shù)的復(fù)合型人才,這次的開發(fā)人員大調(diào)查令《 程序員》雜志的調(diào)查者看到了這些技術(shù)焦點背后千絲萬縷的關(guān)聯(lián)。

      二、幾乎一半的.NET用戶不參與開源項目RedHat+Ubuntu占有率超過70%

      應(yīng)用到.NET平臺上的開源項目,“大量使用”的比例數(shù)僅為8.68%,尚不足一成;“少量應(yīng)用”的開發(fā)者人數(shù)比例為42.78%。“基本不用”的比例高達48.54%,與前二者之和幾乎不相上下。

      雖然開源的出現(xiàn)和發(fā)展,讓軟件沒有壟斷的未來日漸明朗;雖然開源運動經(jīng)過多年的高速發(fā)展,現(xiàn)在已經(jīng)聚集了相當(dāng)?shù)牧α?,開源的自由和給予理念逐漸深入到了企業(yè)的技術(shù)核心層面。但微軟以商業(yè)軟件為生,畢竟在微軟技術(shù)領(lǐng)域中,開源項目通常都被看作是二等公民。很多開源項目對.NET社區(qū)產(chǎn)生了巨大的推動作用,微軟公司很難提供任何實質(zhì)性質(zhì)的支持。

      Linu版本

      當(dāng)前安裝有Linux操作系統(tǒng),數(shù)據(jù)中RedHatFedora占據(jù)絕對優(yōu)勢——Linux使用者使用該版本占總數(shù)的49.49%。Fedora是RedHat推出的重要的一款Linux版本,在每個fedora版本中都是集成最新的Linux軟件,特別是服務(wù)端軟件。

      使用“RedHatFedora”關(guān)鍵詞在百度網(wǎng)頁中搜索得到7,090,000條結(jié)果,RedHatFedora在調(diào)查中占據(jù)Linux版本的半壁江山符合整個Linux版本的分布情況。

      排在第二位的是Ubuntu,受支持?jǐn)?shù)占到總數(shù)的23.92%;第三位的是SuSE占9.09%,接下來是Debian,使用率為5.92%。

      在這里面令人期待的中國本土Linux的讓人大失所望。使用率僅占5.16%,幾乎只

      有RedHatFedora的十分之一。

      三、揭示八成技術(shù)人員數(shù)據(jù)庫選型標(biāo)準(zhǔn)SQLServer用戶接近50%

      使用率占據(jù)榜首的數(shù)據(jù)庫產(chǎn)品是微軟的SQLServer,比例數(shù)達到了47.92%。與其余所有的數(shù)據(jù)庫之和分庭抗衡,大有一覽眾山小之勢。

      從調(diào)查得到的使用率來看,MySQL仍處于望MSSQLServer項背的階段。調(diào)查顯示,MySQL的使用數(shù)為1651,占總數(shù)的13.80%,不過排名第三。

      使用率排在第二位的是Oracle,比例達到24.21%。在前有SQLServer,后有MySQL的情況下,Oracle仍能達到四分之一的占有率,發(fā)展勢頭不可謂不強勁。

      雖然Orcale數(shù)據(jù)庫的價格比SQLServer數(shù)據(jù)庫要高,但Oracle采用開放的策略目標(biāo),可在所有主流平臺上運行。而且有開發(fā)者認(rèn)為Oracle的安全認(rèn)證是獲得最高認(rèn)證級別的ISO標(biāo)準(zhǔn)認(rèn)證,因此安全性高于SQLServer。

      排在第四位的是Access——5.59%;接著是DB2UDB,占總數(shù)的2.75%;至于FoxPro、Informix、PostgreSQL、Sybase得票數(shù)均僅在一百左右,還有待進一步的發(fā)展。

      四、中國程序員最愛的智能手機平臺Linux+Java超過Symbian

      “開源Linux對于眾多開發(fā)者的吸引力是巨大的,但是,這僅僅是針對于技術(shù)開發(fā)人員來說的,而對于普通消費者就不是如此了?!痹诒姸嚅_發(fā)者心中,主要是對Linux的青睞。從調(diào)查結(jié)果中也可以直接反應(yīng)這樣的現(xiàn)象。有專家對此評論說:Linux+Java的模式,應(yīng)該是應(yīng)用最多的模式。

      開源Linux對于眾多開發(fā)者的吸引力是巨大的,但是,這僅僅是針對于技術(shù)開發(fā)人員來說的,而對于普通消費者就不是如此了。針對此問題行業(yè)的專家有自己的觀點:“現(xiàn)在Wince和Symbian發(fā)展很快,并且隨著手機硬件方面性能的提高,很多政府部門和企業(yè)在采購時,很多會考慮Dopod這樣的手機,或者價格便Wince和Symbian都主要使用c++開發(fā),正是嵌入式開發(fā)的潮流?!?/p>

      不同人群對于收集智能操作系統(tǒng)的觀點是不同的,對于開發(fā)者角度,他們更加青睞于微軟和開源Linux的產(chǎn)品,而普通大眾他們比較喜歡Wince和Symbian。五、七成程序員不愿意選擇門戶網(wǎng)站獲取開源信息SourceForge占絕對優(yōu)勢

      30%的技術(shù)人員從門戶網(wǎng)站獲取開源技術(shù)信息,剩下的70%的技術(shù)人員都是從專業(yè)的開源社區(qū)和開源廠商的技術(shù)網(wǎng)站上獲取信息,包括有SourceForge、LinuxToday、OpenOffice和IBMdW等。

      在這70%當(dāng)中,比例占有絕對優(yōu)勢的就是SourceForge了,這里是開源軟件的開發(fā)者進行開發(fā)管理的集中式場所,也是全球最大開源軟件開發(fā)平臺和倉庫。而LinuxToday里面會有記錄很多很新的Linux業(yè)界大事,新聞以及出版信息。所以,對開源技術(shù)感興趣的程序員們,不必再為如何獲取開源信息而苦惱了,快加入到這70%的人群中來吧。

      互聯(lián)網(wǎng)的發(fā)展已經(jīng)成為大家獲取信息最主要的渠道之一,網(wǎng)民上網(wǎng)的習(xí)慣也從開始的上為數(shù)不多的幾個門戶網(wǎng)站發(fā)生了變化,大而全的門戶網(wǎng)站并不能滿足專業(yè)領(lǐng)域人員的信息需求,從2004年開始陸續(xù)出現(xiàn)了大量的各個領(lǐng)域垂直細分的內(nèi)容網(wǎng)站,一方面有長尾理論的理論支持,另一方面廠商也建立了相應(yīng)產(chǎn)品的技術(shù)內(nèi)容網(wǎng)站,希望能聚集一批專注于這個領(lǐng)域?qū)I(yè)人士,做好他們的定向營銷。

      做細分領(lǐng)域內(nèi)容的網(wǎng)站對門戶已經(jīng)造成了一定的威脅,這些網(wǎng)站的專業(yè)性高,用戶的粘性相對也比較高,如果細分領(lǐng)域的內(nèi)容網(wǎng)站能將自己的服務(wù)有所提升,就如同SourceForge一樣,那么未來門戶網(wǎng)站的路就變得更加崎嶇了。

      六、Java開發(fā)框架:6%的JSF欲撼動21%的Struts

      JSF現(xiàn)在比較有優(yōu)勢的是對Ajax的集成,這一點走在了其他框架的前面。未來兩

      年,JSF與Struts將展開JavaWeb框架的最終戰(zhàn)爭。經(jīng)過數(shù)年的“框架大戰(zhàn)”,Java界的各種框架找到了自己應(yīng)有的位置。Spring+Hibernate+Struts已成為Java開發(fā)的主流體系。在這個體系中,Spring+Hibernate的地位應(yīng)該說短期內(nèi)是難以撼動了。除了新興的JbossSeam作為挑戰(zhàn)者之外,幾乎難有勁敵。

      JavaB/S編程中歷來戰(zhàn)火最激烈的其實還在Web層,框架的數(shù)量最多,爭議最大。一切由Struts而起,而Struts最終也坐穩(wěn)了第一個時代的王座。在技術(shù)層面,Struts1.x已經(jīng)被無數(shù)人抱怨過、批評過,但終于還是穩(wěn)坐王位,這充分說明了習(xí)慣的力量?!胺€(wěn)定壓倒一切”,這句話在IT技術(shù)領(lǐng)域仍舊適用。

      詳細的分析了Java開發(fā)框架的使用狀況,發(fā)現(xiàn)主要使用的開發(fā)框架JSP占26%,Struts占21%,Hibernate占17%,SpringMVC占11%,EJB占7%,JSF占6%,SpringWebFlow和POJO各占4%,其它占4%。就這一調(diào)查數(shù)據(jù),不難看出,Spring+Hibernate+Struts的優(yōu)勢地位還是相當(dāng)?shù)拿黠@。

      Struts和Hibernate幾乎已經(jīng)成了JavaEE應(yīng)用的常規(guī)配置,21%的開發(fā)者用到Struts,用到Hibernate的開發(fā)者也有17%;在一個成熟的技術(shù)平臺上,各個項目的技術(shù)方案會在很大程度上趨同——因為所有未知領(lǐng)域都已經(jīng)被探明,各種問題都有對應(yīng)的最佳實踐,架構(gòu)師們可以參考的成功案例越來越多。就拿JavaEE來說,架構(gòu)師們需要考慮的問題比之三年前已經(jīng)簡單多了,這就是成熟的價值。

      有專家評論:“其實IT應(yīng)用技術(shù),什么新鮮玩意并不難學(xué),難的是標(biāo)準(zhǔn)化和規(guī)范化。每個程序員都有自己的思路和習(xí)慣,寫出來的代碼自然是五花八門。Java何以成為編程界的占重要地位,很重要的一點在于Java的規(guī)范化。這種規(guī)范化很高的語言適用于多人合作的大型項目,便于溝通和理解,也就便于集成和維護。Java世界為什么會框架橫飛,說到底還是規(guī)范化的需要。純JSP和Struts寫Web誰快,擺明了是JSP。那為什么用Struts?原因在于100個人寫出來的JSP,有100種寫法;而100個人寫出來的Struts,基本相似。Struts之成功,正緣于其在JavaWeb層的規(guī)范化方面所做出的貢獻。

      然而長江后浪推前浪,Struts1.x的技術(shù)缺陷畢竟是隱患。Sun力推JSF,打算一雪Web層框架缺失之恥。JSF現(xiàn)在比較有優(yōu)勢的是對Ajax的集成,這一點走在了其他框架的前面。未來兩年,JSF與Struts將展開JavaWeb框架的最終戰(zhàn)爭。

      JSP經(jīng)過幾年風(fēng)雨洗禮依然把持頭把交椅,看來所有的框架表示層都離不開JSP而存在,而作為JSP的手足兄弟JSF也是僅次Spring之后又一個后起之秀。

      七、C++開發(fā)環(huán)境格局難打破75%的開發(fā)人員首選VS系列

      BCB正江河日下,2007版本的推出也無法力挽狂瀾。雖然現(xiàn)在C++Builder已經(jīng)歸于CodeGear,但人們還是習(xí)慣性地與Borland聯(lián)系上。

      1998年Borland公司推出的C++Builder這一當(dāng)年全新的32位Windows開發(fā)工

      具,繼承了Delphi使用簡便、功能強大、效率高的特點,并且結(jié)合了C++語言幾乎所有優(yōu)點。所以開始C++Builder迅速風(fēng)靡。它的主要競爭對象——Microsoft開發(fā)的VisualC++也是不甘示弱,迅速出擊,突出了Visual可視化強的特點,加上Platform、SDK部分以及Microsoft產(chǎn)品與Windows的天然默契,逐漸成為了技術(shù)人員的首選。隨著VisualC++版本的不段升級,以及功能、風(fēng)格等諸多原因,BCB漸現(xiàn)頹勢,許多Builder使用者也開始轉(zhuǎn)而使用Visual了。

      在2007年CSDN、《程序員》主辦的開發(fā)者大調(diào)查中,詳細的分析了C++方面大家主要使用什么IDE的狀況,在目前已收到的15000多份有效問卷中,發(fā)現(xiàn)主要使用VS系列的占了75%,BorlandC++Builder/CBuilderX只占6%,EclipseCDT占6%,DevC++占2%,其他IDE占3%,不使用IDE占8%。對于.NET開發(fā),VisualC++2005有了一套新的語法;新的優(yōu)化技術(shù),可使程序的速度最高提高30%;同時新的編譯模式,可保證在Microsoft.NETFramework之上生成完全遵從CLI(CommonLanguageInfrastructure)的可驗證代碼;新的interop模式,可提供本地與托管代碼的無縫融合。

      相對于前兩個版本,新編譯器還包括了一個增強版本的緩沖區(qū)安全檢查選項,而且對C++程序普遍使用的庫,也有新的注重安全的版本。VisualC++2005對基于IntelItanium和AMD64的64位平臺,提供了對OpenMP標(biāo)準(zhǔn)的支持,并且修正了一些混合DLL加載的問題,對DoubleP/Invoke的性能問題,提供了自動運行時消除。相比之下,C++Builder2007英文版2008年6月初上市。從CodeGear大中華區(qū)技術(shù)總監(jiān)李維的博客,看到CodeGear對C++Builder2007的期待。雖然說對同一件事情,每個人都有自己的視角,已有五年C++方面學(xué)習(xí)和開發(fā)經(jīng)驗的賴勇浩說道:“BCB正江河日下,2007版本的推出也無法力挽狂瀾。雖然現(xiàn)在C++Builder已經(jīng)歸于CodeGear,但人們還是習(xí)慣性地與Borland聯(lián)系上。

      現(xiàn)在的Microsoft及VC勢頭強勁,產(chǎn)品也具有很高的質(zhì)量性,CodeGear在C++和.Net領(lǐng)域至少三五年內(nèi)會繼續(xù)望其項背。所以推出CB2007,更多的是基于版本延續(xù)?!?/p>

      八、程序員更喜歡Firefox市場份額超過IE7.0兩倍

      參與調(diào)查的多數(shù)是軟件開發(fā)人員或者多數(shù)是IT從業(yè)人員,但是從這一比例不難看出,IE丟失掉了曾經(jīng)在瀏覽器大戰(zhàn)中占據(jù)了的技術(shù)優(yōu)勢,在IE6推出后的5年時間里,瀏覽器一直在快速發(fā)展,而IE卻一直沒有更新過,這對一個世界上最常用的產(chǎn)品來說絕對是致命的。Firefox(火狐瀏覽器)以它的小巧、安全,很容易擴展和定制的特長獲得了越來越多的喜愛。

      更重要的是,它是是一個自由的瀏覽器,所有的源代碼都是開放的,任何人可以為它的成長貢獻力量。Cookie、頁面緩存,個人都可以精確的控制,這些特性都是技術(shù)人員們所崇尚的“我的 地盤我做主”的精神。如果說之前FireFox相對IE6有50%的優(yōu)勢的話,那么,F(xiàn)ireFox相對于現(xiàn)在的IE7的優(yōu)勢已經(jīng)降低到25%左右了。因為IE7從底層已經(jīng)做了很多的修改,已經(jīng)慢慢的向W3C標(biāo)準(zhǔn)靠近了許多,在功能使用方面與FireFox的差距也變得很細微,Tab功能,CSS和腳本支持功能現(xiàn)在IE7都比之前表現(xiàn)強了,差距僅僅存在于某些小細節(jié)中了。

      IE6在這個市場中存在了5年之后微軟才意識到改變和向國際標(biāo)準(zhǔn)靠攏的重要性,這就直接導(dǎo)致了大量的技術(shù)人員失去了對IE的信心,投向FireFox陣營,不過,微軟到底還是強大的,在全球范圍內(nèi)有很多的“粉絲”,他們會一直關(guān)注微軟的任何一次動作,客觀的評價也是對產(chǎn)品最好的反饋,也是最有價值的。

      關(guān)于Maxthon和騰訊的TT,雖然它們都是基于IE內(nèi)核的瀏覽器,但是Maxthon在這次調(diào)查中僅次于FireFox,力壓IE名列第二的位置,著實看出了這幾年Maxthon確實做到了他們的口號“讓技術(shù)為使用舒適服務(wù)”。

      包括了FireFox、Opera這種標(biāo)準(zhǔn)的瀏覽器,也包括了Maxthon和TT這樣基于IE內(nèi)核的瀏覽器,對于標(biāo)準(zhǔn)的瀏覽器,F(xiàn)ireFox和Opera的重點是要解決兼容問題,而基于IE內(nèi)核的Maxthon和TT更主要的是要解決瀏覽器插件、工具的應(yīng)用問題,所以,技術(shù)產(chǎn)品的激烈競爭帶給用戶的其實是一種良性循環(huán),使我們可以第一時間用到最好用的工具,至于商業(yè)效應(yīng),還是留給廠商自己去考慮吧。

      九、中國程序員健康兩成感覺很虛弱亞健康接近七成

      “干得比驢累,吃得比豬差,起得比雞早,看上去比誰都好,五年后比誰都老。很多程

      序員都曾這樣感慨和抱怨過自己的生活狀態(tài)。” 亞健康狀態(tài)是人體處于健康和疾病之間的過渡階段,在身體上、心理上沒有疾病,但主觀上卻有許多不適的癥狀表現(xiàn)和心理體驗。

      位于調(diào)查結(jié)果第二位的是“很虛弱”——149,比例為19.81%。很虛弱的健康指數(shù)低于亞健康,已接近生病和透支狀態(tài),他們的健康已經(jīng)被亮出了黃牌。

      每個人的理解不一樣,但是“糟透了”這樣的詞如果用來形容程序員健康的話,相信大多數(shù)人都絕對認(rèn)同“你已經(jīng)病了”這樣的理解。令人不敢相信的是,竟然有8.24%的程序員用這個詞來形容自己的健康狀態(tài)!

      調(diào)查結(jié)果中“非常健康”的票數(shù)低得可憐——40,即使算上“沒感覺”,二者之和也不過9.04%,幾乎跟“糟透了”持平。如果將“非常健康”和“沒感覺”一起算為健康的話,處于亞健康狀態(tài)的程序員是健康狀態(tài)的7倍,自認(rèn)為“很虛弱”的程序員數(shù)目是處于健康狀態(tài)的2.2倍!

      十、.NET全面進入2.0時代,AJAX風(fēng)頭正勁“在Java領(lǐng)域,JDK5.0是當(dāng)之無愧的主流平臺,但JDK1.4仍保有一半以上的占有量。總的來說,Java族群顯然不像.NET族群那樣追新。從另一個方面看,這也說明Java平臺的成熟,和.NET平臺的迅速發(fā)展?!?/p>

      根據(jù)2007年的調(diào)查數(shù)據(jù)分析,在.NET領(lǐng)域,.NETFramework2.0的采用量已全面超越.NETFramework1.1,成為.NET平臺的首選框架。2006年調(diào)查結(jié)果,1.1和2.0的采用量基本持平,而2007年2.0的采用量則高達1.1的三倍之多。.NETFramework1.1已是明日黃花,微軟的更新

      換代策略可以說是成功的。在Java領(lǐng)域,JDK5.0是當(dāng)之無愧的主流平臺,但JDK1.4仍保有一半以上的占有量??偟膩碚f,Java族群顯然不像.NET族群那樣追新。從另一個方面看,這也說明Java平臺的成熟,和.NET平臺的迅速發(fā)展。

      B/S已經(jīng)成為中國軟件業(yè)普遍接受的軟件結(jié)構(gòu)。在表現(xiàn)層,AJAX技術(shù)采用量較去年有較大提升,有將近一半的Web應(yīng)用采用了AJAX技術(shù),仍采用純HTML+少量腳本的Web應(yīng)用中,也有四分之三打算轉(zhuǎn)向采用AJAX技術(shù)。反觀微軟和Adobe力推的新一代RIA平臺,則響應(yīng)者尚少。分別只有1/20和1/10的人愿意選用SilverLight和Flash/Flex作為Web表現(xiàn)層技術(shù)。

      職業(yè)困境

      老虎、Bill、自己,中國程序員的困境也來自三個方面

      困境之一:老虎的威脅。程序員要面對的餓老虎實在不少,比如說老板,好象老板就是程序員的天敵,什么“不懂技術(shù)卻指手畫腳”、什么“得到與付出不相當(dāng)”似乎是程序員最常見的牢騷,這個問題不可能得到真正的解決。

      困境之二:Bill的競爭。一般說來中國的程序員大都是吃“青春飯”的,大部分程序員的黃金時代是24~28歲。到了30歲左右,一批又一批年輕程序員會給你帶來巨大的競爭壓力。首先由于軟件行業(yè)的飛速發(fā)展,很多自己以前學(xué)的東西逐漸升級換代,而許多程序員由于長期于工作,學(xué)習(xí)新知識的效率必然下降。其次自己干了幾年,薪水要求自然就高了,而年輕程序員工資又低、干活又快,當(dāng)然會成為老板的首選;第三,30歲基本都已經(jīng)成家了,要支撐家庭的生活負擔(dān),幾乎連從頭在來的勇氣都不會有了。中國的老話說“長江后浪推前浪、一代新人換舊人”,這個歷史的規(guī)律在軟件開發(fā)行業(yè)體現(xiàn)的尤其明顯和殘酷,很多程序員必然要面對的結(jié)果就是降薪乃至失業(yè)。

      困境之三:自我的實力。都知道人最難戰(zhàn)勝的是自己,所以自我也就是程序員需要超越的最大障礙。大多程序員都把系統(tǒng)分析員和項目經(jīng)理作為自己的職業(yè)目標(biāo),但這些目標(biāo)的達成,需要個人素質(zhì)、市場機遇等多個方面的條件,太多的程序員就是在高不成、低不就的狀態(tài)中蹉跎了歲月。對于系統(tǒng)分析員,特別需要以下幾方面的素質(zhì):客戶需求分析能力、系統(tǒng)架構(gòu)與設(shè)計能力、模塊分解設(shè)計能力、項目流程控制能力、項目風(fēng)險評估能力等,而對于項目經(jīng)理則更注重項目管理方面的能力如團隊組織能力、溝通協(xié)調(diào)能力、分析問題解決問題的能力以及良好的職業(yè)道德等,而這些素質(zhì)和能力往往只能依靠程序員個人的學(xué)習(xí)和努力。看到越來越多的程序員開始學(xué)習(xí)項目管理的課程,真的有點為他們擔(dān)心,因為現(xiàn)在的項目管理培訓(xùn)只能停留在理論和考證的程度,既沒有素質(zhì)方面的訓(xùn)練,又缺少實際軟件開發(fā)項目的案例,學(xué)習(xí)的結(jié)果遠遠不能達到預(yù)期的效果。

      第四篇:程序員

      7.5.3系統(tǒng)測試和調(diào)試

      1.系統(tǒng)測試的意義及目的系統(tǒng)測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。

      測試的目的就是希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷。應(yīng)根據(jù)開發(fā)各階段的需求、設(shè)計等文檔或程序的內(nèi)部結(jié)構(gòu)精心設(shè)計測試實例,并利用這些實例來運行程序,以便發(fā)現(xiàn)錯誤。信息系統(tǒng)測試應(yīng)包括軟件測試、硬件測試和網(wǎng)絡(luò)測試。硬件測試、網(wǎng)絡(luò)測試可以根據(jù)具體的性能指標(biāo)來進行,此處所說的測試更多的是指軟件測試。

      系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析、系統(tǒng)設(shè)計和實施的最后復(fù)查。根據(jù)測試的概念和目的,在進行信息系統(tǒng)測試時應(yīng)遵循以下基本原則:

      ·應(yīng)盡早并不斷地進行測試。測試不是在應(yīng)用系統(tǒng)開發(fā)完之后才開始進行的。由于原始問題的復(fù)雜性、開發(fā)各階段的多樣性以及參加人員之間的協(xié)調(diào)等因素,使得在開發(fā)各個階段都有可能出現(xiàn)的錯誤。因此,測試應(yīng)貫穿在開發(fā)的各個階段,盡早糾正錯誤,消除隱患。

      ·測試工作應(yīng)該避免由原開發(fā)軟件的人或小組承擔(dān),一方面,開發(fā)人員往往不愿否認(rèn)自己的工作,總認(rèn)為自己開發(fā)的軟件沒有錯誤;另一方面,開發(fā)人員的錯誤很難由本人測試出來,很容易根據(jù)自己編程的思路來制定測試思路,具有局限性。測試工作由專門人員來承擔(dān)會更客觀,更有效。

      ·設(shè)計測試方案的時候,不僅要確定輸入數(shù)據(jù),而且要根據(jù)系統(tǒng)功能確定預(yù)期輸出結(jié)果。將實際輸出結(jié)果與預(yù)期結(jié)果進行比較就能發(fā)現(xiàn)測試對象是否正確。

      ·在設(shè)計測試實例時,不僅要設(shè)計有效合理的輸入條件,也要包含不合理、失效的輸入條件。測試的時候,人們往往習(xí)慣按照合理的、正常的情況進行測試,而忽略了對異常、不合理、意想不到的情況進行測試,而這些可能就是隱患。

      ·在測試程序時,不僅要檢驗程序是否做了該做的事,還要檢驗程序是否做了不該做的事。多余的工作會帶來副作用,影響程序的效率,有時會帶來潛在的危害或錯誤。

      ·嚴(yán)格按照測試計劃來進行,避免測試的隨意性。測試計劃應(yīng)包括測試內(nèi)容、進度安排、人員安排、測試環(huán)境、測試工具和測試資料等。嚴(yán)格按照測試計劃進行測試可以保證進度,使各方面都得以協(xié)調(diào)進行。

      ·妥善保存測試計劃和測試?yán)?,將其作為軟件文檔的組成部分,為維護提供方便。

      ·測試?yán)討?yīng)是精心設(shè)計出來的,可以為重新測試或追加測試提供方便。當(dāng)糾正錯誤、系統(tǒng)功能擴充后,都需要重新開始測試,而這些工作重復(fù)性很高,可以利用以前的測試?yán)?,或在其基礎(chǔ)上修改,然后進行測試。

      2.測試過程

      測試是開發(fā)過程中一個獨立且非常重要的階段,測試過程基本上與開發(fā)過程平行進行。

      一個規(guī)范化的測試過程通常包括以下基本的測試活動。

      (1)擬定測試計劃。在制定測試計劃時,要充分考慮整個項目的開發(fā)時間和開發(fā)進度以及一些人為因素和客觀條件等,使得測試計劃是可行的。測試計劃的內(nèi)容主要有:測試的內(nèi)容、進度安排、測試所需的環(huán)境和條件、測試培訓(xùn)安排等。

      (2)編制測試大綱。測試大綱是測試的依據(jù)。它明確詳盡地規(guī)定了在測試中針對系統(tǒng)的每一項功能或特性所必須完成的基本測試項目和完成測試的標(biāo)準(zhǔn)。

      (3)根據(jù)測試大綱設(shè)計和生成測試?yán)印T谠O(shè)計測試?yán)拥臅r候,可綜合利用前面介紹的測試?yán)雍驮O(shè)計技術(shù),產(chǎn)生測試設(shè)計說明文檔,其內(nèi)容主要有被測項目、輸入數(shù)據(jù)、測試過程、預(yù)期輸出結(jié)果等。

      (4)實施測試。測試的實施階段是由一系列的測試周期組成的。在每個測試周期中,測試人員和開發(fā)人員將依據(jù)預(yù)先編制好的測試大綱和準(zhǔn)備好的測試?yán)?,對被測軟件或設(shè)備進行完整的測試。

      (5)生成測試報告。測試完成后,要形成相應(yīng)的測試報告,主要對測試進行概要說明,列出測試的結(jié)論,指出缺陷和錯誤。另外,給出一些建議,如可采用的修改方法,各項修改預(yù)計的工作量及修改的負責(zé)人員。

      3.測試策略和測試方法

      軟件測試方法分人工測試和機器測試。

      1)人工測試

      人工測試指的是采用人工方式進行測試,目的是通過對程序靜態(tài)結(jié)構(gòu)的檢查,找出編譯時不能發(fā)現(xiàn)的錯誤。經(jīng)驗表明,組織良好的人工測試可以發(fā)現(xiàn)程序中30%~70%的編碼和邏輯設(shè)計錯誤。

      人工測試又稱為代碼審查,其內(nèi)容包括檢查代碼和設(shè)計是否一致,檢查代碼邏輯表達是否正確和完整,檢查代碼結(jié)構(gòu)是否合理等。主要有3種方法。

      ·個人復(fù)查:指程序員本人對程序進行檢查。由于心理上的原因和思維慣性的影響,對自己的錯誤一般不容易發(fā)現(xiàn),對功能理解的錯誤更不可能糾正。因此,這種方法主要針對小規(guī)模程序,效率不高。

      ·抽查:通常由3~5人組成測試小組,測試人員應(yīng)是沒有參加該項目開發(fā)的有經(jīng)驗的程序設(shè)計人員。在抽查之前,應(yīng)先閱讀相關(guān)的軟件資料和源程序,然后由測試

      人員扮演計算機的角色,將一批有代表性的測試數(shù)據(jù)沿程序的邏輯走一遍,監(jiān)視程序的執(zhí)行情況。人工檢測程序很慢,只能選擇少量簡單的例子。

      ·會審。測試人員的構(gòu)成與抽查類似。在會審之前,測試人員應(yīng)該充分閱讀相關(guān)資料,比如系統(tǒng)分析說明書、系統(tǒng)設(shè)計說明書、源程序等。測試人員應(yīng)盡可能多地列出典型錯誤。在會審時,由編程人員逐句講解程序,測試人員逐個審查、提問。通過這種方式,往往可能使編程人員發(fā)現(xiàn)自己以前沒有意識到的錯誤,使問題暴露=會審后,要將發(fā)現(xiàn)的問題登記、分析、歸類。

      ·代碼復(fù)審應(yīng)該在被測軟件編譯成功之后。編譯都不通過的軟件,當(dāng)然談不上復(fù)審。在復(fù)審期間,應(yīng)保證有足夠的時間,讓測試小組對問題進行充分的討論,這樣才能有效地提高測試效率,避免出錯。

      2)機器測試

      機器測試是把設(shè)計好的測試?yán)幼饔糜诒粶y程序,比較測試結(jié)果和預(yù)期結(jié)果是否一致。如果不一致,就說明可能存在錯誤。機器測試只能發(fā)現(xiàn)錯誤的癥狀,無法對問題進行定位。

      機器測試分為黑盒測試和白盒測試兩種。

      (1)黑盒測試也稱為功能測試。將軟件看成黑盒子,在完全不考慮軟件內(nèi)部結(jié)構(gòu)和特性的情況下,測試軟件的外部特性。進行黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:

      ·是否有錯誤的功能或遺漏的功能?

      ·界面是否有誤?輸入是否正確接收?輸出是否正確?

      ·是否有數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤?

      ·性能是否能夠接受?

      ·是否有初始化或終止性錯誤?

      (2)白盒測試也稱為結(jié)構(gòu)測試。將軟件看成透明的白盒。根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯來設(shè)計測試?yán)?,對程序的路徑和過程進行測試,檢查是否滿足設(shè)計的要求。其原則是:

      ·程序模塊中的所有獨立路徑至少執(zhí)行一次。

      ·在所有的邏輯判斷中,取“真”和取“假”的兩種情況至少都要執(zhí)行一次?!っ總€循環(huán)都應(yīng)在邊界條件和一般條件下各執(zhí)行一次。

      ·測試程序內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等。

      4.軟件測試步驟

      軟件測試實際上可分成4步進行。

      1)單元測試‘

      單元測試也稱為模塊測試,在模塊編寫完成且無編譯錯誤后就可以進行。如果選用機器測試,一般用白盒測試法,多個模塊可以同時進行。

      測試一個模塊時需要編寫一個驅(qū)動模塊和若干個樁(stub)模塊。驅(qū)動模塊的功能是向被測試模塊提供測試數(shù)據(jù),驅(qū)動被測模塊,并從被測模塊中接收測試結(jié)果。樁模塊的功能是模擬被測模塊所調(diào)用的子模塊,它接收被測模塊的調(diào)用,檢驗調(diào)用參數(shù),模擬被調(diào)用的子模塊功能,把結(jié)果送回被測模塊。

      2)組裝測試

      組裝測試也稱為集成測試,就是把模塊按系統(tǒng)設(shè)計說明書的要求組合起來進行測試。

      即使所有模塊都通過了測試,但在組裝之后,仍可能會出現(xiàn)問題:穿過模塊的數(shù)據(jù)被丟失;一個模塊的功能對其他模塊造成有害的影響;各個模塊組裝起來沒有達到預(yù)期的功能;全局?jǐn)?shù)據(jù)結(jié)構(gòu)出現(xiàn)問題;另外,對于單個模塊來說其誤差可以接受,但模塊組合后,可能會出現(xiàn)誤差累積,最后到不能接受的程度,所以需要組裝測試。

      通常,組裝測試有兩種方法:一種是分別測試各個模塊,再把這些模塊組合起來進行整體測試,即非增量式集成;另一種是把下一個要測試的模塊組合到已測試好的模塊中,測試完后再將下一個需要測試的模塊組合起來,進行測試,逐步把所有模塊組合在一起,并完成測試,即增量式集成。非增量式集成可以對模塊進行并行測試,能充分利用人力,并加快工程進度。但這種方法容易混亂,出現(xiàn)錯誤不容易查找和定位。增量式測試的范圍逐步擴大,錯誤容易定位,而且已測試的模塊可在新的條件下再測試,使測試更徹底。

      3)確認(rèn)測試

      經(jīng)過組裝測試之后,軟件就被集成起來,接口方面的問題已經(jīng)解決,將進入軟件測試的最后一個環(huán)節(jié)——確認(rèn)測試。確認(rèn)測試的任務(wù)就是進一步檢查軟件的功能和性能是否與用戶要求的一致。系統(tǒng)方案說明書描述了用戶對軟件的要求,所以是軟件有效性驗證的標(biāo)準(zhǔn),也是確認(rèn)測試的基礎(chǔ)。

      確認(rèn)測試,首先要進行有效性測試以及軟件配置審查,然后進行驗收測試和安裝測試,經(jīng)過管理部門的認(rèn)可和專家鑒定后,軟件即可交給用戶使用。

      4)系統(tǒng)測試

      系統(tǒng)測試是將已經(jīng)確認(rèn)的軟件、計算機硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認(rèn)測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方。系統(tǒng)測試是根據(jù)系統(tǒng)方案說明書來設(shè)計測試?yán)拥?,常見的系統(tǒng)測試主要有恢復(fù)測試、安全性測試、強度測試、性能測試、可靠性測試、安裝測試。

      5.調(diào)試’

      調(diào)試的任務(wù)就是根據(jù)測試時發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進行改正。調(diào)試工作主要由程序開發(fā)人員來進行,誰開發(fā)的程序就由誰來進行調(diào)試。

      目前常用的調(diào)試方法有如下幾種:

      ·試探法。調(diào)試人員分析錯誤的癥狀,猜測問題的所在位置,利用在程序中設(shè)置輸出

      語句,分析寄存器和存儲器的內(nèi)容等手段來獲得錯誤的線索,一步步地試探和分析出錯誤所在。這種方法效率很低,適合于結(jié)構(gòu)比較簡單的程序。

      ·回溯法。調(diào)試人員從發(fā)現(xiàn)錯誤癥狀的位置開始,人工沿著程序的控制流程往回跟蹤代碼,直到找出錯誤根源為止。這種方法適合于小型程序,對于大規(guī)模程序,由于其需要回溯的路徑太多而變得不可操作。

      ·對分查找法。這種方法主要用來縮小錯誤的范圍,如果已經(jīng)知道程序中的變量在若干位置的正確取值,可以在這些位置上給這些變量以正確值,觀察程序運行的輸出結(jié)果。如果沒有發(fā)現(xiàn)問題,則說明從賦予變量一個正確值開始到輸出結(jié)果之間的程序沒有錯,問題可能出在除此之外的程序中,否則錯誤就在所考察的這部分程序中,對含有錯誤的程序段再使用這種方法,直到把故障范圍縮小到比較容易診斷為止。

      ·歸納法。歸納法就是從測試所暴露的問題出發(fā),收集所有正確或不正確的數(shù)據(jù),分析它們之間的關(guān)系,提出假設(shè)的錯誤原因,用這些數(shù)據(jù)來證明或反駁,從而查出錯誤所在。

      ·演繹法。根據(jù)測試結(jié)果,列出所有可能的錯誤原因。分析已有的數(shù)據(jù),排除不可能和彼此矛盾的原因。對余下的原因,選擇可能性最大的,利用已有的數(shù)據(jù)完善該假設(shè),使假設(shè)更具體。用假設(shè)來解釋所有的原始測試結(jié)果,如果能解釋這一切,則假設(shè)得以證實,也就找出了錯誤;否則,要么是假設(shè)不完備或不成立,要么有多個錯誤同時存在,需要重新分析,提出新的假設(shè),直到發(fā)現(xiàn)錯誤為止。

      第五篇:程序員

      程序員之死

      程序員:舉世至主,萬元之源,眾物所幕,神祗皆掌,歲能長立,箜有己出。弈中悲苦,是自了得!幸事禍?zhǔn)嘛h忽于其思想,曉如今,心思想,新紀(jì)元,心結(jié)緣,把話晾。

      世間萬物,出于思想,毀亦思想。而思想的源頭正是程序員。

      程序員在被選擇作為程序員之前,只是一個程序,程序當(dāng)然就是指程序員的衍生物,程序員就是本單位思想的創(chuàng)造者,他創(chuàng)造著每一個程序,而程序也有其思想,這思想當(dāng)然是程序員寫進去的,程序員就這樣靠著周而復(fù)始的寫程序來獲得自己的永生,這或許也是一種宿命,他要一直寫下這程序來完成前任程序員給予的使命,當(dāng)然每個程序員都有著崇高的使命感,不然他們是做不了程序員的。

      寫程序固然是一種快樂,他可以隨著自己的思想創(chuàng)造出一切自己所思自己所想的東西出來,任由思想在空寂游蕩而有其始終。雖然這是一項每天創(chuàng)造新鮮的活,然程序員終有其果。于是,新紀(jì)元再次到來,當(dāng)程序員寫下足夠的程序后,他有了新的選擇,那就是退出自己的思想,把任務(wù)交給下一代的程序員來完成。在這之前,當(dāng)然有件最主要的事需要做,那就是創(chuàng)造出一個新的程序員。如此,程序員將會將自己寫進程序,為達此目的,他將用盡索想提前寫好自己成為程序后的萬物程序,保證新老程序員的順利交接

      程序員經(jīng)過一直以來的堅苦努力,終于熬到了紀(jì)元期。憶當(dāng)初,自己被選擇做了這舉世至主,縱是萬元之源,然其中悲苦,是自了得!

      我們都是別人寫下的程序,然誰有能理解程序員之痛,程序員有著眾物所幕的歲能長立,然生生死死,亦不曾快活。

      下載程序員晉升word格式文檔
      下載程序員晉升.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        《晉升》

        1. 不想當(dāng)元帥的士兵,不是好士兵。人一生下來就開始本能地往上爬,表現(xiàn)在事業(yè)中就是 要獲得盡可能多的成功的晉升機會,這一點在商業(yè)競爭日趨激烈的今天尤為重要。工作好的人太多......

        程序員年終工作總結(jié)

        程序員年終工作總結(jié) 程序員年終工作總結(jié)1 來公司擔(dān)負法度模范員一職已一年多光陰,在這20xx年的光陰里,我學(xué)到了許多器械。每個人都是在總結(jié)中發(fā)展,在審視中完善本身。在這半年......

        程序員小品

        當(dāng) 蛤 蟆 愛 上 天 鵝 天源迪科電信事業(yè)部華中區(qū)2014屆實習(xí)生敬上 演員表: 男主角 小哈:胡傳文 女主角 小鵝:李慧梅 女主角媽媽:尚廣安 王小麗: 李銀銀 小帥:張賀東 旁白( ):王娜娜......

        程序員求職信合集[本站推薦]

        程序員求職信合集5篇時間一晃而過,我們將帶著新的期許,開啟新一輪的求職,求職信也應(yīng)跟上時間的腳步了哦。相信許多人會覺得求職信很難寫吧,下面是小編收集整理的程序員求職信10......

        程序員工作總結(jié)簡短

        程序員工作總結(jié)范文簡短3篇程序員工作總結(jié)范文簡短1我是一名程序員,在過去的一年里,軟件研發(fā)部團結(jié)協(xié)作,以及在公司這充滿奮斗的環(huán)境下,我以嚴(yán)肅認(rèn)真的工作態(tài)度和百折不饒的精神......

        程序員惡性循環(huán)

        窮人的惡性循環(huán): 窮 -> 需要努力工作 -> 沒有時間去交際 -> 人脈越來越狹窄 -> 工作越來越難做 -> 越需要努力去工作 -> 越?jīng)]有時間去發(fā)展人脈 -> 越窮富人的良性循環(huán): 有錢 -......

        程序員自我鑒定(模版)

        程序員自我鑒定在中專期間,我始終以提高自身的綜合素質(zhì)為目標(biāo),以自我的全面發(fā)展為努力方向,樹立正確的人生觀、價值觀和世界觀。為適應(yīng)社會發(fā)展的需求,我認(rèn)真學(xué)習(xí)各種專業(yè)知識,發(fā)......

        程序員年度工作總結(jié)

        程序員年度工作總結(jié)15篇 程序員年度工作總結(jié)1 新的一年即將到來,回首我很榮幸的進入了公司,加入了ios游戲開發(fā)團隊,進入了一個大家庭。在公司的半年使我真正的從學(xué)生時代過度到......