第一篇:2016年終總結(jié)—從技術(shù)助理(采購)到 程序員
2016年終總結(jié)
從2015年的7月份,…給了我一個以應(yīng)屆生的身份感受社會的機(jī)會。在…的第一份工作是…。經(jīng)過2015年的對崗位職責(zé)的了解,2016年我已經(jīng)能夠獨立負(fù)責(zé)一些部門業(yè)務(wù)。我的工作主要是以下幾個部分,線上線下的采購、ERP系統(tǒng)的操作(主要包括bom搭建、采購、生產(chǎn)、銷售)、臺賬統(tǒng)計、部門報銷以及部門小庫房的出入庫管理。
采購應(yīng)該是一個公司節(jié)約成本的開始,電子元器件這個市場本身就是質(zhì)量魚目混珠,價格參差不齊,一件物品輾轉(zhuǎn)幾手可能就成為了高價。質(zhì)量放在首位,貨比三家,保證價格的合理性,是我們采購時的最好的追求。線上平臺主要用于一些量小、不太常見的且不在硬件中起到主導(dǎo)地位的電子元器件以及一些部門研發(fā)需要的附屬物品等。線下平臺一般是合作過多次并且有良好的信譽(yù)的供應(yīng)商,建立了一些商業(yè)上的信任,可以大批量的采購一些硬件所需的主要器件,這樣能保證質(zhì)量的同時,價格也是相對低的。當(dāng)然平時也要注意供應(yīng)商的擴(kuò)展,以免采購處于被動狀態(tài)。
ERP操作,是記錄生產(chǎn)流程,財務(wù)流向的直接有效的工具。從一開始的采購到后來的生產(chǎn),銷售,能夠保證每一項工作有理可依,有據(jù)可循。也是部門與部門之間的無聲交流。一條貫穿公司業(yè)務(wù)流程的主線。我在2016年1月到6月,完成了IDTT、故障指示器、總保、核心板等上千個設(shè)備的ERP生產(chǎn)操作,主要包括搭建BOM、采購、生產(chǎn)、委外、銷售一系列的流程。雖然實際的采購、生產(chǎn)、銷售等是很重要的一環(huán),但其實對于公司來講記錄這些也是不可或缺的一步。臺賬的記錄,如果說ERP是部門與部門的溝通,那么臺賬就是自我記錄的很好的例子。采購中合同的簽署,付款的規(guī)則,合同執(zhí)行的進(jìn)度等等,在臺賬中可以很直觀的看到。自我總結(jié)是必不可少的,2016年上半年幾十甚至上百個合同的記錄和執(zhí)行都很詳細(xì)的記錄在了我們的臺賬中,并且實時檢查,每個月通過臺賬制定下個月付款計劃等。
2016年7月,公司又給了我另一個機(jī)會,崗位從技術(shù)助理調(diào)整成軟件工程師。工科畢業(yè)的我本就對編程有著濃厚的興趣,得知本部門有軟件崗位的需求,便提出了轉(zhuǎn)崗的要求。
我接觸的第一個項目是…,我負(fù)責(zé)此項目的客戶端部分,初遇C#我,是措手不及的,C#的面向?qū)ο髮τ谖襾碚f是一個新的思維模式,所以學(xué)習(xí)新的知識成為必經(jīng)之路,轉(zhuǎn)崗之前自學(xué)了C# Primer Plus,涵蓋了計算機(jī)語言的基礎(chǔ)知識和面向?qū)ο笳Z言的獨特之處。但這本書是以入門為主,看完這本書之后直接接觸了…項目的部分程序,經(jīng)過兩個星期的熟悉,基本上能了解之前程序的思路,此時我主要負(fù)責(zé)的是winform搭建界面部分。
這部分還需要實現(xiàn)的是…這些功能。2016年7月到8月,基本完成了上述幾項任務(wù),也學(xué)到了很多,此時才是我感覺自己真正入門的時候。通過這兩個月的學(xué)習(xí)和工作,我對面向?qū)ο蟮睦斫庖哺由羁?,在修改或者添加程序時,也會去學(xué)習(xí)功能的具體實現(xiàn)方法,思考邏輯上合理性。尤其是在修改的時候,必須兼顧上下運行的邏輯,避免錯誤的出現(xiàn),慢慢的感覺到其實語言真的是互通的,不管是C還是C#我的邏輯是一樣的,只是在面對不同語言時,就像是在使用不同的工具,但是殊途同歸,順著自己的思路不管用哪種語言總是能實現(xiàn)相同的功能,體會到這一點后,我感覺自己對C#的學(xué)習(xí)又多了幾分信心。因為對這個程序的了解,在功能實現(xiàn)階段之后,客戶端程序都交由我負(fù)責(zé)。在上個階段時,為求快速實現(xiàn)功能會有很多邏輯簡單但是代碼冗余的情況出現(xiàn),比如…功能、…功能、…功能。自此我便走上了簡化代碼的道路。統(tǒng)計分析和分辨率自適應(yīng)都是因為多用了列舉的方法,各種不同情況出現(xiàn)都要重復(fù)幾乎相同的代碼,所以摒棄了這些方法,做到讓程序自己判斷不同情況做出不同處理。設(shè)備配置是關(guān)乎用戶體驗的一項功能,之前的操作較為繁瑣,不能只是簡化方法那么簡單。而此時軟件正在強(qiáng)調(diào)設(shè)計文檔重要性,本著試試的態(tài)度,開始了就設(shè)備配置而言的程序設(shè)計文檔的編寫。
從界面設(shè)計到每個方法的實現(xiàn)都寫了下來,發(fā)現(xiàn)寫文檔是一個很好的拓寬思路并記錄思路的過程。其實之所以決定寫文檔更大的原因在于寫這個程序之前,雖然有一定的思路和想法,但是無從下手,從何寫起是一個大問題。這次文檔編寫,規(guī)范思路,找到程序入手點,拓寬思路,有條不紊的實現(xiàn)過程其實是有一種成就感的,沒有緊張混亂的情緒使這次開發(fā)感覺很輕松。之后也寫完了這個功能程序并封裝成了類庫放進(jìn)了原來的項目中。9月到10月期間對此項目的完善也讓我對winform的運用更加熟練,也有了一些自己對于程序的思路和 想法。
應(yīng)項目需求,需要把…的實物展示改造為線路模擬形式的展示,并實現(xiàn)原來界面上的所有功能,包括…功能、…功能、…功能、…功能、…功能等。這次改動的特別之處在于…,之前…項目的的總保最高上限是6個,所以把每個都作為一個單獨的對象處理?,F(xiàn)在數(shù)量是20到30個,之前的方法在此顯得不太合理了。在11月完成了這個任務(wù),這個解決方法應(yīng)該再用回到…項目中(正在實施)。
12月份參與了…的編寫,初步了解了Window系統(tǒng)的API函數(shù)和Winform的GDI+畫圖技術(shù),當(dāng)然這兩項技術(shù)需要今后在學(xué)習(xí)中鞏固。但是因為故…持續(xù)時間應(yīng)該準(zhǔn)確到毫秒級別,但受Windows系統(tǒng)的限制,精確度并沒有達(dá)到。對于這次開發(fā),我也認(rèn)識到了自己的不足,知識面狹窄,利用新的技術(shù)的手段有很大的局限性。學(xué)會一項技術(shù)很重要,在開發(fā)項目面前最有效的方法是使用技術(shù)。
2016年對我來說是很特別的一年,感謝所有給過我機(jī)會的人和事。我在2017年一定會更加努力的去學(xué)習(xí)更好更多的技術(shù),從網(wǎng)絡(luò)、書籍等不同的途徑獲取更多的知識,拓寬我的知識面,為之后的工作打下堅實的基礎(chǔ),也希望我的知識能夠為公司創(chuàng)造更多的利益。
第二篇:從程序員到技術(shù)總監(jiān),分享10年開發(fā)經(jīng)驗
在中國有很多人都認(rèn)為IT行為是吃青春飯的,如果過了30歲就很難有機(jī)會再發(fā)展下去!其實現(xiàn)實并不是這樣子的,在下從事.NET及JAVA方面的開發(fā)的也有10年的時間了,在這里在下想憑借自己的親身經(jīng)歷,與大家一起探討一下。
明確入行的目的
很多人干IT這一行都沖著“收入高”這一點的,因為只要學(xué)會一點HTML, DIV+CSS,要做一個頁面開發(fā)人員并不是一件難事,而且做一個頁面開發(fā)人員更容易找到工作,收入比普通的工作還要高一些,所以成為了很多高校畢業(yè)生的選擇。如果您只是抱著這樣一個心態(tài)來入行的話,那閣下可真的要小心了。因為干IT這一行競爭本來就比較激烈,特別是頁面設(shè)計這方面,能夠開發(fā)的人很多,所以為了節(jié)省成本,大部分公司都會在需要的時候才招聘這類人員;在沒有訂單的時候,一些小公司還可能找各類的借口或者以降薪的手段去開除這類員工。而在招聘信息上常常會看到“招聘頁面設(shè)計師,條件:30歲以下??歡迎應(yīng)屆畢業(yè)生前來應(yīng)聘”這樣一條,因為這一類工員對技術(shù)上的要求并不高,找應(yīng)屆生可以節(jié)約成本。所以在下覺得“IT行業(yè)是吃青春飯的”這句話只是對著以上這類人所說的,如果閣下缺乏“進(jìn)取之心”,而只抱著“收入高,容易找工作”這樣的態(tài)度而入行,那“IT行業(yè)是吃青春飯”將會應(yīng)驗了。
選擇合適的工具
JAVA、C#、PHP、C++、VB??10多種熱門的開發(fā)語言,哪一種最有發(fā)展?jié)摿δ?其實開發(fā)語言只不過是一個工具,“與其分散進(jìn)攻,不如全力一擊”,無論是哪一種開發(fā)語言,只要您全力地去學(xué)習(xí),到有了一定的熟悉程度的時候,要學(xué)習(xí)另一種的語言也是輕而易舉的事情。開發(fā)語言主要分為三大類:
1.網(wǎng)絡(luò)開發(fā)
現(xiàn)在網(wǎng)絡(luò)已經(jīng)成為世界通訊的一座橋梁,好像Javascript、PHP、Ruby這幾類開發(fā)語言大部分是用作網(wǎng)絡(luò)開發(fā)方面。
2.企業(yè)軟件開發(fā)
JAVA、C#、VB這幾類開發(fā)語言都實現(xiàn)了面向?qū)ο箝_發(fā)的目標(biāo),更多時候用于企業(yè)系統(tǒng)的開發(fā)。
3.系統(tǒng)軟件
C語言、C++、Objective-C這些軟件更多是用在系統(tǒng)軟件開發(fā),嵌入式開發(fā)的方面。
當(dāng)然,這分類不是絕對,像JAVA、C#、VB很多時候也用于動態(tài)網(wǎng)站的開發(fā)。在很開發(fā)項目都會使用集成開發(fā)的方式,同一個項目里面使用多種開發(fā)語言,各展所長,同步開發(fā)。但所以在剛?cè)腴T的時候,建議您先為自己選擇一種合適的開發(fā)工具,“專注地投入學(xué)習(xí),全力一擊”。
明確發(fā)展方向
當(dāng)您對某種開發(fā)語言已經(jīng)有了一定的了解,開始覺得自己如同“行尸走肉”,成為一個開發(fā)工具的時候,那您就應(yīng)該要明確一下自己的發(fā)展方向了。
平常在公司,您可以看到做UI層的開發(fā)人員大多數(shù)都有20多歲,他們充滿干勁,而且沒有家庭負(fù)擔(dān),在兩年前ASP.NET MVC、Silverlight等剛出現(xiàn)的時候,他們可以在晚上回家的時候買幾本書或者直接上網(wǎng)看看,研究三五個星期以后,對需要用到的技術(shù)就已經(jīng)有一定的了解了。而年過30的人多數(shù)是已經(jīng)成家了,他們每天9:00點上班唯一的希望就是快些到6:00點,能回家吃飯。吃完飯只想陪孩子玩一下,看看孩子的功課,對新增的技術(shù)缺乏了學(xué)習(xí)的欲望。所以很多接近30歲的程序員都有著一種逼迫感(包括30歲時候的我自己),再過幾年應(yīng)該怎么辦?這時候,您就更應(yīng)該明確一下目標(biāo),努力向自己的發(fā)展方向前進(jìn)了。歸納一下,可從下面幾項里選擇適合自己的一條道路:
1.從技術(shù)向業(yè)務(wù)過渡
在國外,很多發(fā)達(dá)國家都很重視人才,一個高級的程序員與一個Project Manager收入相差一般不超過15%。但中國是世界上人口最多的國家,國內(nèi)人才眾多,所以人才濫用的情況經(jīng)常可以看到。一個小公司的開發(fā)部里面經(jīng)常會見到新面孔,但PM卻不會常換。因為做老板的對技術(shù)是一竅不通,依他們看來只到拉住PM的心,那技術(shù)方面方面就能搞得定,至于技術(shù)部要換人,他們根本不需要費力氣去管。所以從一個技術(shù)員過渡到一個PM是向前發(fā)展的一個選擇,但開發(fā)人員也需要知道,要成為一個PM不單單是使用技術(shù),而更重要的是對管理方面的認(rèn)識。一個PM主要的工作是組織團(tuán)隊,控制成本,管理業(yè)務(wù),控制項目進(jìn)度,與客戶進(jìn)行溝通,協(xié)調(diào)工作,定期進(jìn)行工作報告等。所以要成為一個成功的PM更要重視組織能力,PM必須能提高團(tuán)隊的積極性,發(fā)揮團(tuán)隊所長,在有限的開發(fā)資源前提下為公司得到最大程度上的利潤。成為一個PM后,通常不需要直接接觸技術(shù)開發(fā),而著重管理的是業(yè)務(wù)發(fā)展,但PM對技術(shù)也需要有一定的了解(在下曾經(jīng)為PM對技術(shù)了解的必要性寫過一篇文章,得到很多支持但也惹來不少的爭議)。在這里我還是要強(qiáng)調(diào)自己的觀點:要成為一個成功的PM最重視的是管理能力,但對技術(shù)也應(yīng)該有足夠的了解,因為這是與團(tuán)隊成員溝通的橋梁,只有這樣才能與整個團(tuán)隊的成員有著緊密的結(jié)合,讓團(tuán)隊成員感覺到他們自己存在的意義,從而調(diào)動團(tuán)隊的積極性,而不是漠視技術(shù)人員的存在。技術(shù)并非成為一個成功PM的充分條件但卻是必要條件!
2.從程序員向技術(shù)管理發(fā)展
其實一個Team Leader的職責(zé)與Project Manager相像,但Team Leader更著重于技術(shù)開發(fā)方面,通常一個大型項目都會有一兩個開發(fā)團(tuán)隊由Team Leader帶領(lǐng),負(fù)責(zé)開發(fā)核心部分,而其它部分分派給不同開發(fā)小組或者分派給外包公司。在網(wǎng)上常看到幾句話,貼切地形容了PM與TL的區(qū)別:“技術(shù)人員樂于被領(lǐng)導(dǎo);但他們不喜歡被管理,不喜歡像牛一樣被驅(qū)趕或指揮。管理者強(qiáng)迫人們服從他們的命令,而領(lǐng)導(dǎo)者則會帶領(lǐng)他們一起工作。管理是客觀的,沒有個人感情因素,它假定被管理者沒有思想和感受,被告知要做什么和該如何做。領(lǐng)導(dǎo)是引領(lǐng)、引導(dǎo),它激勵人們達(dá)成目標(biāo)。領(lǐng)導(dǎo)力是帶有強(qiáng)烈個人感情色彩的,它不是你能命令的,也不是你能測量評估和測試的。”
無論是PM與TL,對業(yè)務(wù)與技術(shù)都要有深入的了解,只是PM更側(cè)重于業(yè)務(wù)的管理,盈利的多少,風(fēng)險的大小等等,而TL則側(cè)重于項目的成本,開發(fā)的難度,軟件的架構(gòu)等技術(shù)方面的問題。在某些人眼中,技術(shù)與管理就像魚與熊掌,不可兼得,但依在下看來,兩者卻是秤不離砣,密不可分。只要及時提升自己對技術(shù)與管理的認(rèn)識,不斷地向深一層發(fā)展,要從程序員提升到技術(shù)管理人員只是時間的問題。打個比方,一個普通的.NET程序員,開始可能限制于ASP.NET的頁面開發(fā),但一旦他有了發(fā)展之心,他自然會對ASP.NET MVC、Silverlight、WinForm、WPF這些UI的開發(fā)手法感到興趣,學(xué)習(xí)不需要多少時間,他可能就會認(rèn)識這些UI開發(fā)只不過是一些工具,其實在開發(fā)原理上沒什么區(qū)別。接著他就會向深一層的通訊模式進(jìn)行了解,認(rèn)識TCP/IP、Web Service、WCF、Remoting這些常用到的通訊方式,這時候他可能已經(jīng)感覺到自己對開發(fā)技術(shù)有了進(jìn)一步的了解。進(jìn)而向工作流、設(shè)計模式、面向?qū)ο笤O(shè)計、領(lǐng)域驅(qū)動設(shè)計、面向服務(wù)開發(fā)等高層次進(jìn)發(fā),最后成為技術(shù)的領(lǐng)導(dǎo)者。上面只是一個比喻,但要注意的是,在學(xué)習(xí)的時期必須注意的是與同事之間溝通,很多的開發(fā)人員喜歡獨來獨往,開發(fā)的項目總想一個人搞定,不受外界的干擾。但要明白,就算你有天大的本事,一項大型的項目也不可能由你一個人全扛著。所以團(tuán)隊的合作性與同事間的溝通是必要的,這也是成功一個TL的必要條件。
3.單方面向技術(shù)發(fā)展
能成功進(jìn)行技術(shù)開發(fā)的尖端人才,這是在下最向往的工作,卻也沒本事登上這個位置。很多從事開發(fā)的人都會認(rèn)為,業(yè)務(wù)總會帶著“金錢的味道”,老板從來不管開發(fā)是否合符開發(fā)原則,是否經(jīng)過必要測試,他們只會在客戶面前無盡地吹噓,項目到期能成功交貨,只要不出什么大問題那這個項目就算成功了。其實我們也要明白:開發(fā)項目最終目標(biāo)是為了賺錢,在開發(fā)過程中對項目成本的限制和效率的控制這也是必須,所以這才需要管理人員對項目進(jìn)行管理。但開發(fā)人員也很想避開這“金錢的塵囂”,全心投入到技術(shù)的世界當(dāng)中。所以對技術(shù)有著濃厚興趣的人,往往會深入地研究某一項技術(shù),成為技術(shù)上的精英。但在這里說一句令人心淡的話:中國已經(jīng)屬于是世界上第二大經(jīng)濟(jì)體同盟國,但國民生產(chǎn)總值主要來源于第三方加工產(chǎn)業(yè)方面。中國可以說是人才濟(jì)濟(jì),但卻在高新產(chǎn)業(yè)上卻比發(fā)達(dá)國家落后。這幾年的確看到我們國家在高新科技上有著質(zhì)的飛躍,但跟歐美發(fā)達(dá)國家還有著一段距離。所以想在中國成為尖端技術(shù)的人才,無可否定比在國外要難。依在下看來,要想成為尖端的開發(fā)者,必須對C、C++、匯編語言、嵌入式開發(fā)、Windows API、Linux API這些底層技術(shù)有著深入的了解。要知道解JAVA、.NET??等這些之所以稱為高級開發(fā)語言,并不是指它們比C、C++、匯編語言更高級,而是指它們封裝了C、C++等等的功能,更適合用于企業(yè)軟件的開發(fā),使開發(fā)變得簡單。但如果要開發(fā)一些底層的軟件,大型的系統(tǒng)的時候,就必須用到C、C++、匯編等開發(fā)語言,這是成功尖端人才的一個條件。
確定未來的目標(biāo)
人是從歷練中成長的,古人云:三十而立,形容的不是一個人的社會地位,經(jīng)濟(jì)來源,而是形容一個人對未來的目標(biāo),對人生的意向。要成為一個成功人,就應(yīng)該早日為自己定下長期的發(fā)展目標(biāo),作為一個開發(fā)者也當(dāng)如此。隨著人的性格,取向各有不同,大家為自己所選擇的路也有不同:
1.自立門戶,勇敢創(chuàng)業(yè)
快30歲了,很多人會認(rèn)為要想真正賺得了錢,就應(yīng)該自立門戶,為自己創(chuàng)業(yè)建立一個基礎(chǔ)。像北京、上海、廣州這些一級城市,要買房子,一手樓基本要在2萬~4萬元/平方米左右,而在一家普通的IT公司當(dāng)上一個項目經(jīng)理,基本收入一般都在1.5萬~3萬之間(除非在大型的跨國企業(yè)內(nèi)工作,那另當(dāng)別論),要買一間100平方米左右的房子,就算不吃不喝也幾乎要10年的年薪,所以選擇自主創(chuàng)業(yè),是很多IT開發(fā)人員的一個未來目標(biāo),想要達(dá)到這個目標(biāo),就應(yīng)該更多地把業(yè)務(wù)作為重點。不可否認(rèn)的一件事,在中國社會里很多時候講的是“關(guān)系”,即使這30年的改革開放使中國的經(jīng)濟(jì)蓬勃地發(fā)展起來,但幾千年來留下的歪風(fēng)還是不能完全的磨滅。所以想要創(chuàng)業(yè)的人事建議你要多跟客戶打好關(guān)系,與合作伙伴保持互利互動的模式,這將有利于日后事業(yè)的發(fā)展。
2.急流勇退,退居二線
這也是不少人的選擇。很多人在有了家庭以后,感覺到壓力太大,人的一生并非只有事業(yè),他們想把更多時間用于對親人的照顧,對孩子的關(guān)心上。所以很多人會選擇一份像系統(tǒng)分析、系統(tǒng)維護(hù)、高校教師、專業(yè)學(xué)院講師這一類的工作。收入穩(wěn)定,而且往往沒有一線開發(fā)人員那么大的壓力。
3.不懈努力,更進(jìn)一步
無論你是一個Project Manager或者是Team Leader,如果你想繼續(xù)晉升一級,那還是會兩極分化的。從一個PM到一間公司的管理層,那所面對的事件會有很多變化。一個公司的總經(jīng)理,要管理的不再是一到兩個項目的成本,而是整個部門的運作,整間公司的業(yè)務(wù)流程,所以要肩負(fù)的任務(wù)會更重。在下曾經(jīng)有一位上司彭博士,他是企業(yè)的最高領(lǐng)導(dǎo)人,年薪超過三百萬,而且在報紙雜志上也曾經(jīng)亮過相。平常只會在某些會議上輕輕地亮下相,說兩句講詞,平常的公司運作與業(yè)務(wù)管理都不需要他直接執(zhí)行。這并不是說一個作為管理層很清閑,因為他們要面對的是更多的社會關(guān)系,與公司合作企業(yè)的聯(lián)系上。這跟一個PM的工作有很大的區(qū)別,所以要從一個PM晉升到管理層,那可是要付出更多的努力與汗水。
如果要從Team Leader上升為一個技術(shù)總監(jiān),那工作的方向也有所改變。像之前所說:一個TL可能更重視的是技術(shù)層面,講求與團(tuán)隊之間的互動合作性,更注重的是開發(fā)的完善。而一個技術(shù)總監(jiān)就無需要直接參加某個項目的開發(fā),而注意的是開發(fā)的效率與成果,如何合理使用有限的開發(fā)資源,控制開發(fā)的風(fēng)險和可能帶來的效果。
發(fā)展感受
經(jīng)歷了8年多時間,在下從一個程序員到一個項目經(jīng)理,之間經(jīng)過很多的曲折,但因為每一個人的際遇都有所不同,所走的路也有不同,正所謂條條大路通羅馬,成功的路不止一條,在下也不想令各位誤解,而只想為大家說一下我的發(fā)展方向。如果您是一位開發(fā)人員,“程序員->架構(gòu)師->Team Leader(Project Manager)->技術(shù)總監(jiān)”是一條不錯路,這也是在下選擇的路。在我國,想要進(jìn)一步提升自己,無論你想是以技術(shù)為重點還是以業(yè)務(wù)為重點,都離不開管理二字。在一些大型的企業(yè),一個團(tuán)隊往往會配備一個PM與一個架構(gòu)師,盡管兩個人負(fù)責(zé)的任務(wù)各有不同,但你會看到一個架構(gòu)師的收入往往不如一個PM,PM往往是這個團(tuán)隊的核心領(lǐng)導(dǎo)者,是關(guān)鍵人物。因為公司能否賺錢,PM有著重要的作用。PM與TL并沒有絕對的區(qū)別,而且在一些中小型企業(yè),一個開發(fā)團(tuán)隊只有3~5人,一個TL往往會兼?zhèn)錁I(yè)務(wù)處理、成本控件、架構(gòu)設(shè)計、開發(fā)管理等多項任務(wù)。所以在下會把Team Leader與Project Manager定于同一層次,一個公司的老板往往不會知道團(tuán)隊的架構(gòu)師、程序員是何人,而只會向PM詢問項目的進(jìn)度,所以只有晉升到這個層次,才有機(jī)會進(jìn)一步提升管理能力,讓自己有上升的空間。至于要成為一個技術(shù)總監(jiān),那要求就不再單單是對單個項目的管理,而應(yīng)該更則重于新興技術(shù)的引用,開發(fā)資源的合理利用,對開發(fā)項目敏捷性的處理等等,對此在下也在試探當(dāng)中,未敢多言。
與編程牽手 和代碼共眠 從程序員到技術(shù)總監(jiān)
從業(yè)IT十年,從程序員成為技術(shù)總監(jiān),現(xiàn)在回頭看一看,這條路也伴隨國內(nèi)的IT一起風(fēng)雨兼程10年,對IT技術(shù)由其是IT的純軟件開發(fā)這一塊,向即將要從事軟件技術(shù)研發(fā)的朋友談一談我的看法:
一.認(rèn)清當(dāng)前IT形勢,選擇合適的技術(shù)方向和技術(shù)起點
估計大家都多多少少知道,這個IT行業(yè)知識的更新很快,競爭很急烈.如果你對自己以后發(fā)展的方向在從業(yè)前有一個清析的計劃或認(rèn)識,相信你會比別人走得更好,走得更遠(yuǎn),賺的錢也更多...呵呵
IT軟件從業(yè)的方向,一般都會有這些機(jī)會:產(chǎn)品售前(市場,業(yè)務(wù)),產(chǎn)品開發(fā)(編碼,設(shè)計,測試),產(chǎn)品售后(支持,實施),產(chǎn)品管理(項目管理等)
A.產(chǎn)品售前(市場,業(yè)務(wù))
要從事這一塊的工作,主要是在軟件開發(fā)的前期(無產(chǎn)品),或者合同簽訂前期(有產(chǎn)品).一般要求對相關(guān)的業(yè)務(wù)和技術(shù)都要求很高,這可不僅僅是要求人際關(guān)系,交際能力.要想別人買你的產(chǎn)品,你得以專業(yè)的產(chǎn)品品質(zhì)為后臺,以專業(yè)的談吐,專業(yè)的技術(shù)和專業(yè)的業(yè)務(wù)理解能力來取勝.從業(yè)者要求:
要求從業(yè)者要有一定的社會經(jīng)驗,技術(shù)經(jīng)驗或業(yè)務(wù)經(jīng)歷,或一定的社會圈子和交際能力.建議:
剛剛從學(xué)校畢業(yè)的朋友或不符合上面條件的朋友最好要考慮清楚了.當(dāng)然這世上沒有什么絕對的東西,就看你自己了.現(xiàn)實情況:
據(jù)我所了解的,作這一塊的都會是公司一些高層(有關(guān)系,有經(jīng)驗)和業(yè)務(wù)專家或特殊背景的人員等.B.產(chǎn)品開發(fā)(編碼,設(shè)計,測試)
這一塊的工作,當(dāng)然是IT從業(yè)大軍的主力了,但也得要考慮清楚.如果你要作設(shè)計師,或測試,最好先作一段時間的編碼, 一個好的設(shè)計師是不可能不精通相關(guān)技術(shù)平臺的!
國外好的測試人員也幾乎是從開發(fā)人員中選出來的,基至是軟件開發(fā)高手.a.代碼編寫
在這一個職業(yè)選擇范圍內(nèi)最好是從代碼編寫開始.當(dāng)然你也可以先作測試,看看人家是怎么寫代碼的是如何來作這個軟件的,借用人家的測試經(jīng)驗也可以,以后有機(jī)會再來編一段時間的代碼也行.有時自己去寫一個軟件也可以,所以作編碼和測試都是一個雙向交互的.而不是編碼在前測試在后的.作代碼的編寫最好自己先看看別人的軟件,或由一些高手帶著指導(dǎo)一下,現(xiàn)在技術(shù)的學(xué)習(xí)都不成問題,關(guān)健是要連成一條線來學(xué)習(xí)和思考就會有一定的局限了.所以要熟悉整個的項目流程或業(yè)務(wù)流程不是靠個人編碼或在培訓(xùn)班學(xué)一下就能解決的,個人的技術(shù)學(xué)習(xí)和培訓(xùn)班大部分只能解決技術(shù)的學(xué)習(xí)問題,但作軟件不僅是要技術(shù)呀
三分技術(shù)七分業(yè)務(wù)說得不為過,業(yè)務(wù)的學(xué)習(xí)也是一個開發(fā)人員所要必備的,如果你在不熟悉業(yè)務(wù)細(xì)節(jié)之前建議你不要急著去寫代碼,那樣肯定會是對以后軟件的影響很大.先要熟悉一下業(yè)務(wù).所以軟件開發(fā)人員掌握一門技術(shù)平臺和語言是必備條件但同時也必須要有一定的業(yè)務(wù)知識,這樣才是一個合格的軟件開發(fā)人員.當(dāng)然精通軟件編碼,懂設(shè)計,熟悉業(yè)務(wù),熟悉軟件項目開發(fā)流程的軟件開發(fā)人員是優(yōu)秀的,那是高級研發(fā)人員的必備條件.如果你才入門或轉(zhuǎn)行或剛畢業(yè),建議從基礎(chǔ)的代碼編寫開始,跟著高手或找一些成熟的項目多學(xué)習(xí), b.軟件設(shè)計
當(dāng)然這個職業(yè)要求行業(yè)的經(jīng)驗,技術(shù)經(jīng)驗都要有一定的基礎(chǔ),薪水一般也會高很多,所以也是一些開發(fā)人員熱烈追逐的目標(biāo).但一個好的設(shè)計師不是一二年所能練就的,精通編碼,熟練設(shè)計模式和公司所采用的技術(shù)平臺,熟練一些設(shè)計理論并實際多運用,熟練公司業(yè)務(wù),其實這個層面的壓力也最大,一個好的軟件在設(shè)計上的比重幾乎要占到七成.建議剛畢業(yè)的朋友或軟件初學(xué)者不要在這一塊來湊熱鬧,即使你作成了設(shè)計師,但在我眼中看來你也不是一個合格的設(shè)計師...當(dāng)然你有這個能力來作設(shè)計師就要恭喜你了.c.軟件測試
熟練軟件測試的各種理論或?qū)嶋H運用,也要熟悉編碼技術(shù)及相關(guān)的技術(shù)平臺,熟練掌握業(yè)務(wù).軟件測試中一般都會有:
單元測試,要求你熟練開發(fā)技術(shù)進(jìn)行跟蹤調(diào)試,也就是白盒測試了
集成測試,對整個項目流程的測試,要求掌握業(yè)務(wù)知識,對設(shè)計的軟件能作功能上的測試或壓力測試等 ,屬黑盒測試
確認(rèn)測試,對業(yè)務(wù)要很熟悉,測試軟件是否完全滿足了客戶的業(yè)務(wù)需求.總體建議:
1.熟練一種技術(shù)平臺,熟悉一種業(yè)務(wù)
剛?cè)腴T的朋友很容易犯的一個毛病是,熟練:VB,VC,.NET,JAVA,C++,C,Dephi,PB,幾乎市場上要用的他全部會,唉,如果我看到他的簡歷上有這么一句話,這個人肯定不會在我考慮的范圍了.現(xiàn)在全球用得最廣最多的技術(shù)平臺體系也就三大體系:
sun的J2EE技術(shù)體系(JAVA):在高安全性,高性能上更勝一步,中高端市場上用得多
微軟件的技術(shù)體系(C++,.NET,c#,VB):在中,低端市場占絕對優(yōu)勢,也是全球個人電腦操作平臺用戶最多的.CORBA技術(shù)體系統(tǒng)(一種分布式技術(shù)體系和標(biāo)準(zhǔn)),全稱:Common Object Request Broker Architecture:公共對象請求代理結(jié)構(gòu),可以用不同的編程語言寫成,運行在不同的操作系統(tǒng)上,存在于不同的機(jī)器上。
一般介于底層和上層管理軟件之間,其他的還會包括底層開發(fā):C,匯編,屬純底層的開發(fā),當(dāng)然要求技術(shù)的起點和業(yè)務(wù)背景更強(qiáng),最好是學(xué)的專業(yè):電子電氣,嵌入式行業(yè),機(jī)械制造,數(shù)據(jù)采集等...看中你想要從事的技術(shù)體系,選好一門語言工具,好好上路吧...:)
永遠(yuǎn)要記住:你什么都想學(xué),你什么都學(xué)不精
2.從基礎(chǔ)入手,不要好高鶩遠(yuǎn),眼高手低,要與實際結(jié)合 B.產(chǎn)品售后(支持,實施)
這一塊對于開發(fā)技術(shù)的要求來講不是那么明顯,主要工作會在軟件開發(fā)后的工作,跟客戶打交道多,但更多要求體現(xiàn)在對業(yè)務(wù)的把握和客戶的交際上.有些軟件產(chǎn)品業(yè)務(wù)比較成熟,如果參與這一階段的工作,可以快速學(xué)習(xí)很多的業(yè)務(wù)知識,積累客戶交往的經(jīng)驗
建議:剛?cè)腴T或剛畢業(yè)的朋友,可以在這個工作上多選擇,等待時機(jī)成熟,立馬殺入軟件的開發(fā)或設(shè)計階段,當(dāng)然,這一塊的工作作得好也不容易,如果適合你作, 工作環(huán)境或工資都不錯你就大可不必多想了...C.產(chǎn)品管理(項目管理等)
這一塊的工作主要體現(xiàn)在管理上,當(dāng)然適合有一定經(jīng)驗或管理能力的人員來擔(dān)當(dāng), 最后的技術(shù)從業(yè)方向總結(jié):
技術(shù)型:先選擇好一種技術(shù)平臺,熟練一種開發(fā)語言和數(shù)據(jù)庫...專業(yè)專注的搞幾年再說
技術(shù)+管理型:如果你有一定的技術(shù)經(jīng)驗了,并且人際交往,管理能力不錯,你就可以向這個方向發(fā)展
技術(shù)+業(yè)務(wù)型:精通一種技術(shù)平臺,精通一種業(yè)務(wù),好好搞,這種人才最受歡迎...管理型: 如果你有一定的社會經(jīng)驗,從業(yè)經(jīng)驗,如果人際交往,管理能力還可以,老板也喜歡,就搞這個
業(yè)務(wù)型(市場):如果你對業(yè)務(wù)很感興趣,跟客戶的交往等也不錯,你可以選擇了,有適合的專業(yè)技術(shù)就更能錦上添花了
技術(shù)+市場+管理:老大的位置....:)
第三篇:從程序員到測試工程師
從程序員到測試工程師
前言:軟件測試一門非常嶄新的學(xué)科,目前研究的內(nèi)容還很不深入,仍然處于嬰兒階段。軟件測試需要什么樣的專業(yè)基礎(chǔ)還沒有定論,而且目前還沒有一種很好的標(biāo)準(zhǔn)來衡量測試人員。但無可置疑,軟件測試越來越受到軟件公司的重視,軟件測試工程師的作用也逐漸被人們所認(rèn)可。這一點已經(jīng)在像微軟這樣的國外大型軟件企業(yè)中所證實,在微軟,一個開發(fā)人員相對應(yīng)著一至兩個測試人員?,F(xiàn)在,就讓我們走近軟件測試工程師,關(guān)注他們的成長之路。
從程序員到軟件測試工程師
國內(nèi)軟件公司對軟件測試的態(tài)度令人擔(dān)憂。軟件測試工程師不足,開發(fā)測試人員比例不合理。據(jù)調(diào)查,最好的企業(yè)中測試人員和開發(fā)人員的比例是1:8,有的是1:20,甚至沒有專職的測試工程師。
曾經(jīng)參與微軟Windows95、Exchange Server4.0和4.5、Internet Explorer 4.0和5.0、SQL Server 2000開發(fā)與測試工作陳宏剛博士盡管已經(jīng)升任微軟亞洲研究院商務(wù)及高校關(guān)系高級經(jīng)理,但仍然對國內(nèi)軟件測試水平的落后深有感觸。
國內(nèi)很多企業(yè)還處在探索階段,小企業(yè)的運作方式造成其主要精力是要盡快完成初始資本積累。有些企業(yè)也了解軟件測試的重要性,很努力、很認(rèn)真的在學(xué),但因為很多原因而學(xué)不到精髓,不知道如何去做。于是只能局限于書本上學(xué)來的簡單的黑箱、白箱測試而已。很多人知道有壓力測試和性能測試,但針對產(chǎn)品具體如何去做就不清楚了。
陳宏剛表示,重視測試首先需要有開放性的軟件文化,而在很多公司中,測試工程師只是絕對服從的聽命角色,沒有開發(fā)他們的積極性和創(chuàng)造性。一些管理人員對軟件開發(fā)的流程管理經(jīng)驗不足,仍然用傳統(tǒng)企業(yè)的方法進(jìn)行管理,再加上對軟件質(zhì)量的控制理解不對,認(rèn)為編完程序經(jīng)過簡單的程序員自己測試就可以使用了,而沒有認(rèn)識到軟件測試是控制質(zhì)量最好的方法。
不過,國內(nèi)還是有一些大型公司和專業(yè)公司已經(jīng)在軟件測試方面走上正規(guī)。1994年開始接包IBM軟件測試項目,1999年軟件測試成為公司主體軟件外包業(yè)務(wù)之一的和騰軟件就是其中之一。因為客戶就是IBM這樣的大型軟件公司,騰軟件高級副總裁劉忠表示,它們
在軟件測試管理上,經(jīng)同國外的公司相差不大,同時也研究和應(yīng)用了多種軟件測試技術(shù)。
軟件測試工程師
一提到軟件測試工程師,很多人就會想到那些反復(fù)使用軟件,試圖在頻繁操作中尋找到錯誤發(fā)生的低層次人員或者軟件用戶。其實這是一種錯誤的概念,軟件測試早已超越了用戶使用來發(fā)現(xiàn)Bug的基本測試階段。
陳宏剛介紹說,微軟的軟件測試工程師分為三種:測試執(zhí)行者(Basic Software Tester)、測試工具軟件開發(fā)工程師(Software Development Engineer in Test)和高級軟件測試工程師(Ad_hoc Tester)
測試執(zhí)行者負(fù)責(zé)理解產(chǎn)品的功能要求,然后根據(jù)測試規(guī)范和測試案例對其進(jìn)行測試,檢查軟件有沒有錯誤,決定軟件是否具有穩(wěn)定性,屬于最低級的執(zhí)行角色。
測試工具軟件開發(fā)工程師負(fù)責(zé)寫測試工具代碼,并利用測試工具對軟件進(jìn)行測試;或者開發(fā)測試工具為軟件測試工程師服務(wù)。產(chǎn)品開發(fā)后的性能測試、提交測試等過程,都有可能要用到開發(fā)的測試工具。對技術(shù)要求最強(qiáng)的是這些人,因為它們要具備寫程序的技術(shù)?!耙驗椴煌a(chǎn)品的特性不一樣,對測試工具要求也是不同的,就像Windows的測試工具不能用于Office,office的也不能用于SQLserver,微軟很多測試工程師就是負(fù)責(zé)專門為某個產(chǎn)品寫測試程序的?!?/p>
而Ad_hoc Testet屬于比較有經(jīng)驗,自己會找方向并做的很好的測試工程師,這要求具有很強(qiáng)的創(chuàng)造性。剛進(jìn)入微軟時,老板也是只給陳宏剛一個操作流程,每天就按照這個規(guī)程去做,幾天下來,一個Bug都沒有發(fā)現(xiàn)。陳宏剛也很沮喪,覺得這樣挺對不起公司,后來自己問自己:為什么非要這樣做!于是換了其他的方法試試,令他吃驚的是,一下就找到很多嚴(yán)重的Bug,當(dāng)時也不敢聲張。有一天,他找到10多個非常嚴(yán)重的Bug,開發(fā)經(jīng)理一下就驚呆了,怒沖沖的跑到陳宏剛面前問:“你是不是改變了測試方式和測試步驟?”陳宏剛有些嚇住,說道:“可能改變了一點。”對方說:“我非常生氣,但我不是生你的氣,而是因為以前測試人員水平太差,或者以前的測試方面有問題,軟件中有些Bug存在了半年甚至一年,但直到現(xiàn)在才發(fā)現(xiàn),現(xiàn)在修補(bǔ)這些錯誤要困難很多!”后來陳宏剛得到了老板的贊許,可以按照自己的想法去做測試。對此,陳宏剛感受頗深:“一方面我體會到了微軟非常鼓勵創(chuàng)造的文化,同時也感到只遵守教條不是好的測試人員,就和用戶一樣了。做軟件測試工程師同樣需要開拓和創(chuàng)造性?!?/p>
在開發(fā)管理上,測試不應(yīng)該歸屬于項目管理,也不應(yīng)該歸屬開發(fā)人員。這三個部門應(yīng)該是并駕齊驅(qū),相互協(xié)作,測試工程師最終決定產(chǎn)品是否能夠發(fā)布。
軟件測試工程師的素質(zhì)
因為軟件測試仍然處在發(fā)展階段,還沒有上升到理論層次。對人員的評測,包括微軟在內(nèi),都還沒有一個統(tǒng)一標(biāo)準(zhǔn),因此評定軟件測試工程師只能根據(jù)工作實踐進(jìn)行自然淘汰。
軟件測試對邏輯思維、學(xué)習(xí)能力、反應(yīng)要求很高,是否有嚴(yán)密的思維和逆向思維也非常重要。陳宏剛介紹說,在五六個人的測試小組時,一半以上的Bug都是他找到的。他認(rèn)為這同自己數(shù)學(xué)專業(yè)的背景關(guān)系密切,數(shù)學(xué)中有邏輯思維的培訓(xùn),要善于找出來各方面的因素。比如要證明一個定理,各個方面都考慮到,一個條件不滿足就無法證明;但如果證明其不成立,最常用的就是找到一個反例,只要有一點證明不成立就可以了,軟件測試也是找這一點。
做測試還要考慮到所有出錯的可能性,還要做一些不是按常規(guī)做的、非常奇怪的事。除了漏洞檢測,測試還應(yīng)該考慮性能問題,也就是要保證軟件運行得很好,沒有內(nèi)存泄漏,不會出現(xiàn)運行越來越慢的情況;在不同的使用環(huán)境下,考慮軟件的兼容性同樣重要。軟件測試同產(chǎn)品的規(guī)模也有很大的關(guān)系,因為軟件的bug往往出在大型軟件的連接處。
做軟件測試工程師需要對軟件抱有懷疑態(tài)度。這是因為開發(fā)人員喜歡想當(dāng)然,總是找一些有利于自己程序執(zhí)行的數(shù)據(jù),有些開發(fā)人員甚至認(rèn)為不利于程序執(zhí)行的數(shù)據(jù)是對代碼的玷污和褻瀆。而軟件測試卻要策略性的準(zhǔn)備各種數(shù)據(jù),從每個細(xì)節(jié)上設(shè)計不同的應(yīng)用場景,不去想當(dāng)然的假定任何一個數(shù)據(jù)是可行的。
在職業(yè)素質(zhì)和交際方面方面,并不是測試工程師愛挑別人毛病才好,反而這個工作要求很強(qiáng)的溝通能力。經(jīng)常的和開發(fā)人員進(jìn)行溝通,說話辦事要很得當(dāng),不能指責(zé)別人,否則會事倍功半。性格隨和才能和開發(fā)人員順暢的溝通,對人和對事是完全不同的兩個問題。
如何培養(yǎng)優(yōu)秀的軟件測試工程師
朗川軟件測試工程師張建陽從北大力學(xué)系畢業(yè)之后,曾開發(fā)流體力學(xué)分析軟件,軟件缺少測試而產(chǎn)生的問題給她留下了很深的印象。后來去大唐電信做UIM(統(tǒng)一消息管理系統(tǒng)),她發(fā)現(xiàn)盡管公司為了鼓勵員工找bug采取了很多獎勵方法,但還是很少人愿意去做系統(tǒng)測試。而張建陽卻從那時查閱翻譯了很多國內(nèi)外的資料,對軟件測試產(chǎn)生了濃厚的興趣。
像張建陽這樣在工作中自己定位在軟件測試領(lǐng)域的開發(fā)人員并不多見,因為程序員更愿意去做開發(fā)而不是測試,從大環(huán)境上,測試人員收入水平低也是原因之一。而在微軟,測試人員和開發(fā)人員的工資水平是相同的。
如何改變這種現(xiàn)狀呢?有人說可以可以派人去先進(jìn)的國外軟件企業(yè)學(xué)習(xí),但這種方式因為牽涉到商業(yè)秘密,可操作性不大。陳宏剛博士認(rèn)為更好的方法是引進(jìn)人才,把在國外大型軟件公司工作過、有經(jīng)驗的人才引進(jìn)來,甚至要高薪聘請。他表示,這不僅僅是一個人的問題,關(guān)鍵是能夠把整個軟件測試的水準(zhǔn)提高一個層次。
引進(jìn)人才只是開始,更重要的是培養(yǎng)一批軟件測試人才。軟件開發(fā)的教育培訓(xùn)都是比較正規(guī)的,各個學(xué)校也都設(shè)有專業(yè),但軟件測試還沒有正規(guī)的專業(yè)畢業(yè)生,而且沒有評判的標(biāo)準(zhǔn)。陳宏剛博士給很多軟件學(xué)院建議,開設(shè)四方面的軟件測試專業(yè)基礎(chǔ)課:軟件測試基礎(chǔ)、軟件測試開發(fā)、高級軟件測試案例和行業(yè)軟件特色測試方法。國內(nèi)現(xiàn)在已經(jīng)有了一些軟件測試基礎(chǔ)的教材,但其他的教材還沒有。高級軟件測試案例主要是大型軟件測試案例,大型軟件出現(xiàn)的問題具有很強(qiáng)的代表性。而行業(yè)特色軟件測試的課程可以開闊學(xué)生的視野。陳博士介紹說,在國外,也是極少的高等院校開設(shè)測試專業(yè),但可以借鑒民間的培訓(xùn)機(jī)構(gòu)課程。在有一批專業(yè)的測試人才出現(xiàn)之后,人們會認(rèn)識到他們的重要性。
如果你已經(jīng)開始從事軟件測試工作,千萬不要認(rèn)為軟件測試沒有什么發(fā)展的潛力和前途。劉忠從1995年接下IBM的OS2漢化版本的測試開始到現(xiàn)在,他一直工作在軟件測試領(lǐng)域,并升到了公司高級副總裁的位置。和騰軟件也培養(yǎng)了一批測試工程師,它們從對測試職業(yè)將信將疑到明確自己的測試方面的職業(yè)目標(biāo)。劉忠介紹說:“很多人開始做測試執(zhí)行工作時會說很麻煩、很枯燥,只是一味的埋怨,而不是主動的去學(xué)習(xí),他沒有看到軟件測試背后所隱藏的知識。因為學(xué)習(xí)可以做這些工作,不學(xué)習(xí)也可以做這些工作,但質(zhì)量是不同的。有些人自學(xué)和請教了很多測試技術(shù)和管理方面的知識,公司自然就會在下個項目中去培養(yǎng)他?!?/p>
因此對于一個新手,要在各方面培養(yǎng)自己的能力。首先是要理解各種測試流程,并在理
解的基礎(chǔ)上轉(zhuǎn)化為自己的知識,以后遇到相似的問題能自己去解決。在測試技能上,要知道測試有那些手段,比如壓力測試有哪些方法,哪些工具可以輔助做測試。從專業(yè)技能上,面向不同的技術(shù)方向,像操作系統(tǒng)、網(wǎng)絡(luò)、通信等都要從專業(yè)上深入了解。這三方面要同步去成長。
軟件測試工程師未來的發(fā)展
從事軟件測試有沒有前途,未來的職業(yè)發(fā)展方向怎樣呢?
陳宏剛博士表示,軟件測試工程師在微軟的發(fā)展有幾種途徑:一種走技術(shù)路線,成長為高級軟件測試工程師,這時他能夠獨立測試很多軟件,再向上可以成為軟件測試架構(gòu)設(shè)計師。第二種就是向管理方向發(fā)展,從測試工程師到組長(Lead),再到項目經(jīng)理(Manager),到更高的職位。第三種可以換職業(yè),做項目管理,做開發(fā)人員都可以,很多測試工具軟件開發(fā)工程師在寫測試軟件的過程中,因為開發(fā)方面積累了經(jīng)驗,同時對軟件產(chǎn)品本身產(chǎn)生了自己的看法,很容易轉(zhuǎn)去做產(chǎn)品編程。
陳宏剛博士現(xiàn)在還帶著一個測試小組,兩個清華軟件學(xué)院的學(xué)生,一個南開的專門做軟件測試的博士生,一個北郵的學(xué)生,他們負(fù)責(zé)總部一個產(chǎn)品的測試。陳博士表示,在自己簡單的講講思路,共同探討之后,他們一星期就找出了70多個Bug,也感覺學(xué)了很多知識,并表示以后專注于軟件測試專業(yè),因為他們感覺軟件測試真的是一門很深的學(xué)科,有很多可以研究的課題。其實微軟的測試人員很多也都是碩士、博士,他們同樣在做創(chuàng)造性的工作,保證著程序質(zhì)量,推動著軟件的進(jìn)步。
軟件測試是正在快速發(fā)展,充滿挑戰(zhàn)的領(lǐng)域。盡管現(xiàn)在單機(jī)版桌面軟件的測試已經(jīng)成熟了很多,但對于網(wǎng)絡(luò)時代的到臨,包括微軟在內(nèi)的公司對基于網(wǎng)絡(luò)的測試也沒有一套完整的體系,也是處于探索中,網(wǎng)絡(luò)中被攻擊的可能性太大,這就是為什么黑客在網(wǎng)絡(luò)上能興風(fēng)作浪的原因。網(wǎng)絡(luò)測試是一個新環(huán)境,而且是很大的挑戰(zhàn)。
軟件測試未來的發(fā)展空間很大,軟件測試工程師的職業(yè)之路同樣充滿希望。
第四篇:如何從It小白到程序員
如何從It小白到程序員
從0基礎(chǔ)到讓程序跑起來,他們只用了10天,你還在觀望么?Newer嵌入式班級學(xué)習(xí)不懼酷暑,持續(xù)提升中····
IT行業(yè)發(fā)展日趨迅猛,IT產(chǎn)業(yè)的產(chǎn)值成倍增長,發(fā)展必然帶來人才的需求,因此眾多人群想要進(jìn)入IT行業(yè)發(fā)展。關(guān)于嵌入式開發(fā)你又了解多少呢?目前國內(nèi)外嵌入式方面的人才都很稀缺,嵌入式領(lǐng)域人才的工作強(qiáng)度相對較低,但是收入非??捎^,這些在校生為了更好的提升自己,為了能夠高薪就業(yè)來到了牛耳,17年品牌,全日制、業(yè)余制班級完全可以滿足你學(xué)習(xí)的需求。
第一次師生見面會,第一次預(yù)科課程··滿滿的學(xué)習(xí)激情
大家都是來自不同的學(xué)校,不同的專業(yè),但是大家有一個共同的目標(biāo),成為嵌入式開發(fā)工程師,平時學(xué)校有課,暑假須得好好的利用起來,每天上午上課,下午實戰(zhàn)訓(xùn)練,一天進(jìn)步一點,每天都過得充實,有收獲。
8月1日開始上課,到今天的成果演示,從0基礎(chǔ)到完成一個小游戲滿滿的成就感,他們只用了十天的時間,觀望的你還猶豫么?
從數(shù)組到指針,從排序算法線性結(jié)構(gòu),從二叉樹到圖···都離不開一個好的導(dǎo)師,離不開一個好的學(xué)習(xí)氛圍,離不開共同進(jìn)步的同學(xué)。
Newer C語言階段項目展示中,凌同學(xué)的界面做的有個性,羅同學(xué)的功能有特色,符同學(xué)的游戲色彩多變,你還在觀望么?
秋招臨近,牛耳教育「軟件工程師名企內(nèi)推班」火熱開班
18項核心技能,4大職業(yè)素養(yǎng)綜合特訓(xùn)!
第五篇:從程序員到項目經(jīng)理4
從程序員到項目經(jīng)理(四):外行可以領(lǐng)導(dǎo)內(nèi)行嗎
在上一篇中,我舉出了一個招聘需求,引起一些朋友的爭論。既然招聘的是項目經(jīng)理,為什么需要那么多專業(yè)技能呢?在百度上招聘頻道搜索“軟件項目經(jīng)理招聘”,可以查到8500多條類似的招聘信息??
一.從幾個招聘要求說起
在上一篇中,我舉出了一個招聘需求,引起一些朋友的爭論。既然招聘的是項目經(jīng)理,為什么需要那么多專業(yè)技能呢? 在百度上招聘頻道搜索“軟件項目經(jīng)理招聘”,可以查到8500多條類似的招聘信息。我們看看國內(nèi)軟件行業(yè)老大東軟集團(tuán)的招聘條件:
工作職責(zé):
帶領(lǐng)團(tuán)隊完成需求分析,開發(fā)計劃制定與跟蹤,項目組關(guān)鍵技術(shù)問題解決,負(fù)責(zé)項目QCD。
崗位要求:
1、3年以上軟件開發(fā)項目經(jīng)驗,2年以上項目管理經(jīng)驗;
2、熟練掌握J(rèn)AVA、WEB開發(fā),精通基于Oracle/Mysql數(shù)據(jù)庫的MIS系統(tǒng)開發(fā);
3、具有較強(qiáng)的溝通、組織能力和較好的文字表達(dá)、寫作能力;
5、有醫(yī)療業(yè)務(wù)開發(fā)經(jīng)驗者優(yōu)先。
顯然,東軟公司也是要求具有較強(qiáng)的專業(yè)技能的。當(dāng)然,也許東軟公司太大了,不具有代表性,那么我們再看一個比較小的公司,你絕對沒聽過(我也沒聽過),廣東廣風(fēng)隆電子科技有限公司:
任職要求:
1.能很好的把握開發(fā)質(zhì)量和項目進(jìn)度,規(guī)避風(fēng)險。
2.具有較強(qiáng)的語言和文字表達(dá)能力、溝通協(xié)調(diào)能力、良好的團(tuán)隊合作精神。
3.具備至少3年項目管理經(jīng)驗或大型系統(tǒng)開發(fā)實施經(jīng)驗的優(yōu)先。
4.掌握J(rèn)AVA技術(shù),能熟練應(yīng)用J2EE,Spring,Struts,Hibernate等開發(fā)和測試。
5.熟悉基于java的B/S架構(gòu)應(yīng)用技術(shù)。
6.熟悉基于Tomcat、WebSphere、weblogic等應(yīng)用服務(wù)器的開發(fā);
7.熟悉大型數(shù)據(jù)Orecle/SQL Server等,熟練掌握存儲過程編寫、數(shù)據(jù)庫表設(shè)計。
8.熟悉unix/Linux操作系統(tǒng)。
9.具備軟件團(tuán)隊管理經(jīng)驗,熟悉軟件開發(fā)流程,能夠獨立完成項目實施的優(yōu)先。
10.具備一定的系統(tǒng)框架設(shè)計、熟悉開發(fā)流程,具有的良好的需求分析、項目設(shè)計、規(guī)劃能力。
13.有如下經(jīng)驗者優(yōu)先考慮:
a.熟悉BIEE,或有BI項目開發(fā)實施經(jīng)驗
b.對BI/DW的概念和架構(gòu)有比較深入的了解,熟悉維度模型架構(gòu)
c.熟悉Oracle數(shù)據(jù)庫開發(fā),或有ETL工具ODI經(jīng)驗,精通SQL
d.有基于java技術(shù)項目管理經(jīng)驗的優(yōu)先,教育行業(yè)背景優(yōu)先
哇啦啦,這個更不得了。這究竟是招程序員還是招項目經(jīng)理,我也快被弄迷糊了??磥碇行」颈却蠊靖粗貙I(yè)技能。當(dāng)然,我再多舉一千條也代表不了所有的企業(yè)。但諸位如果有時間一條條看,會發(fā)現(xiàn)絕大部分公司對“軟件項目經(jīng)理”這個職位,都對專業(yè)技能有較高的要求。那么,傳說中的“外行領(lǐng)導(dǎo)內(nèi)行”究竟是不是真的?外行真的可以領(lǐng)導(dǎo)內(nèi)行,帶領(lǐng)項目走向成功嗎?
二.外行 vs 內(nèi)行
1.優(yōu)勢劣勢分析
外行和內(nèi)行究竟誰更適合當(dāng)項目經(jīng)理?那些招聘要求似乎已經(jīng)為我們給出了答案,最少在軟件行業(yè)內(nèi)行項目經(jīng)理更占據(jù)優(yōu)勢。然而,外行的項目經(jīng)理往往也有其獨特的優(yōu)勢,比如,他們往往更有大局觀,能跳出技術(shù)本身看待問題,有更強(qiáng)的領(lǐng)導(dǎo)力等等。事實上,外行領(lǐng)導(dǎo)內(nèi)行的現(xiàn)象,在國家大型建設(shè)工程或科研項目中要屢見不鮮。據(jù)說,我國的原子彈工程就是聶榮臻元帥領(lǐng)導(dǎo)的,而聶帥是不懂核物理的。
如果拿外行和內(nèi)行項目經(jīng)理來PK,并不是一件容易的事情,因為每一項都不是絕對的,這就如同比較男人和女人誰更適合做廚師一樣。當(dāng)我們拿兩者PK的時候,其實包含了一些隱含的信息,就是這個外行的項目經(jīng)理比內(nèi)行項目經(jīng)理,更加懂得管理、情商更高,否則的話,內(nèi)行項目經(jīng)理會毫無懸念的勝出,也就沒有比較的必要了。
基于這些隱含的信息,我們試著比較一下兩種項目經(jīng)理的優(yōu)秀和劣勢:
2.技術(shù)決定論的誤區(qū)
所謂內(nèi)行與外行是純粹從技術(shù)的角度來看問題,單純討論內(nèi)行好還是外行好,其實也暗含著一個前提,就是技術(shù)決定項目的成敗。而實際上,一個項目能否成功的影響因素,遠(yuǎn)不止是技術(shù),對一個項目經(jīng)理的素質(zhì)要求也遠(yuǎn)不止技術(shù)。同是外行或內(nèi)行來帶一個項目,會由于個人修養(yǎng)與經(jīng)驗在差異,項目結(jié)果可能相差很遠(yuǎn)。因此單純說外行好,還是內(nèi)行好,是沒有意義的。
3.綜合素質(zhì)決定論
問題的關(guān)鍵其實不在項目經(jīng)理是內(nèi)行還是外行,而在于他的綜合素質(zhì)。無論是外行還是內(nèi)行,只要誰的綜合素質(zhì)更高,誰就是更優(yōu)秀的項目經(jīng)理。
上一篇我們講到項目經(jīng)理的六種能力模型,也就是說,一個優(yōu)秀的項目經(jīng)理,應(yīng)當(dāng)具備六個方面的素質(zhì),即:知識、技能、邏輯思維、執(zhí)行力、心智成熟和領(lǐng)導(dǎo)力。
在知識層面,包括專業(yè)知識、行業(yè)知識和管理知識。外行項目經(jīng)理在專業(yè)知識和行業(yè)知識方面已經(jīng)輸了,但在管理知識方面按默認(rèn)值,外行贏了。
在技能導(dǎo)面,包括專業(yè)技能和管理技能。外行項目經(jīng)理在專業(yè)技能也又輸了,同樣管理技能方面,又略勝一籌。
現(xiàn)在打成了平手。剩下的,要拼邏輯思維、拼執(zhí)行力、拼心智、拼領(lǐng)導(dǎo)力,這就和內(nèi)行外行無關(guān)了,鹿死誰手,要看個人的修養(yǎng)。
因此,項目經(jīng)理的比拼,拼的不只是管理知識或?qū)I(yè)知識這一個方面,而是綜合素質(zhì)的比拼。
三.外行,你憑什么
1.唐僧的團(tuán)隊
外行,也就是不懂專業(yè)知識技術(shù),顯然不但不是什么優(yōu)點,反而是一個項目經(jīng)理的極大缺陷。那為什么領(lǐng)導(dǎo)還會置這么大的缺陷于不顧,任命一個外行為項目經(jīng)理呢?換一個角度,也就是說,一個外行,在什么情況下,可以成功的管理一個軟件項目呢?
一件事情的發(fā)生,總有他的內(nèi)部原因和外部原因。具體到這個問題上,也有它的內(nèi)因和外因。
(1)在內(nèi)部因素上,外行項目經(jīng)理必須具有更高的綜合素質(zhì)。
現(xiàn)在流行分析西游記中的取經(jīng)團(tuán)隊,其實也是一個典型的外行領(lǐng)導(dǎo)內(nèi)行的團(tuán)隊。到西天取經(jīng),靠的是降妖服魔的本領(lǐng),顯然唐僧是個外行。但是,唐僧并不是一無是處,相反,他的綜合素質(zhì)很高。他外柔內(nèi)剛,意志堅定,目標(biāo)明確,還精研佛法,具有很強(qiáng)的人格魅力,因此他的那些徒弟才能凝聚在他周圍,雖歷盡千難萬險而無悔。
(2)在外部因素上,必須有合理的人才結(jié)構(gòu)作為支撐。
唐僧雖然不會打怪,但是孫悟空可以,補(bǔ)齊了唐僧在這方面的不足。試想,如果他的徒弟都不能降妖,任憑唐僧的領(lǐng)導(dǎo)力再強(qiáng),顯然那也是于事無補(bǔ)的。同樣一個外行的項目經(jīng)理,在他的團(tuán)隊中,必須可以信賴的技術(shù)骨干,像孫悟空一樣能在關(guān)鍵時候解決問題,這些骨干一般就是項目中的組長、系統(tǒng)架構(gòu)師或者系統(tǒng)分析師,必要時可能要設(shè)置項目副經(jīng)理之職。如果團(tuán)隊
中沒有技術(shù)骨干,都是一些經(jīng)驗不足還不求進(jìn)取的程序員,那除非項目超級簡單,否則項目經(jīng)理縱然有諸葛亮的才華,也無濟(jì)于事。
2.規(guī)模決定一切
在上面兩項條件都具備的情況下,只能說明外行可以擔(dān)任項目經(jīng)理了。站在項目本身的角度,除了這兩項因素,往往還跟以下方面有著緊密的關(guān)系。
(1)項目規(guī)模:規(guī)模越大,采用外行項目經(jīng)理的機(jī)率越高。
(2)項目所在行業(yè):在建筑、施工、水利等傳統(tǒng)行業(yè),采用外行項目經(jīng)理的機(jī)率更高。
(3)項目的技術(shù)難度:在項目規(guī)模不大時,如果技術(shù)難度越大,采用內(nèi)行項目經(jīng)理風(fēng)險更小。
(4)項目進(jìn)度要求:時間要求越緊,更傾向于采用內(nèi)行項目經(jīng)理。
(5)項目管理的層次:有些項目層層分包,對于上面次層的公司,項目不需自己實施,只需對項目進(jìn)行監(jiān)管,項目經(jīng)理自然也不需要很強(qiáng)地專業(yè)技術(shù)了。但對于底層實施單位而言,項目經(jīng)理懂技術(shù)就很有必要了。同樣,有些大型項目分成若干個工程,每個工程又包括若干個子項目,也是類似的情況。
在這些因素中,項目規(guī)模是具有決定性的因素。項目規(guī)模足夠大的時候,也就有足夠的經(jīng)費來配備充分的人才。至于其實方面,其實只是表現(xiàn)而已。
四.透過瓶子看軟件行業(yè)
為什么軟件行業(yè)外業(yè)項目經(jīng)理相對較少呢?這與軟件項目本身的特殊性有一定關(guān)系,但在一定程度上也折射出軟件行業(yè)的現(xiàn)狀:
(1)軟件項目規(guī)模不夠大
在軟件行業(yè),幾十萬的項目很常見,幾百萬上千萬就是大項目了,項目的利潤率很低,很多中小型企業(yè)都生存在贏利的邊緣。據(jù)工信部統(tǒng)計,2011年上半年我國軟件行業(yè)利潤僅占軟件業(yè)務(wù)收入的1.28%。這么低的利潤率,估計比東莞的制鞋廠還不如吧。而幾百萬上千萬的項目,對建設(shè)、國防這些行業(yè)來說,簡直不值一提啊。前幾天太極集團(tuán)1.99億中標(biāo)鐵道部IT項目,大家都不服氣。也是,人人都在喝湯,你憑什么搞特權(quán)吃肉?
(2)成熟的項目經(jīng)理相對緊缺
軟件行業(yè)小項目太多,對項目經(jīng)理的需求量是非常大的,與此同時,成熟的項目經(jīng)理相對很少。所謂“千軍易得,一將難求”啊。當(dāng)然,即使牛B的項目經(jīng)理有了,其收入要求也不會低,這是小型項目難以承受的,只能退而求其次,找一個性價比更高的項目經(jīng)理,或都干脆拔苗助長,找一個不錯的程序員來帶吧。