實用人才
人才服務

軟件開發需要那方面的人才呢

你好!

1前言

軟件開發并不是只有一個編程的人,而是可以分為不同的角色。

不同的軟件公司因為規模大小性質各不相同,所以圍繞軟件的角色也各不相同。

一個大型的軟件外包企業,外資企業,往往分工明確細致,每個人像螺絲釘一樣在一起工作,讓整個大機器得以運轉。

而在一個小型創業企業里面,往往一個人從接觸客戶,到開發產品到交付產品一條龍走完,整個產品周期就一個人,甚至幾個產品周期就一個人。

2軟件開發團隊角色

一般的項目組可以說一共有5種角色,開發(DEV),測試(QA),質量監督(SQA),技術主管(Tech-Lead),開發經理(SDM)。

2.1開發(DEV)

開發就是大家經常說的編程的人。

工作主要是寫代碼,其次是跟團隊成員客戶溝通。

前后者比例大概是7:3的關系。

開發是整個軟件開發團隊當中的最重要的角色之一,道理很簡單,產品出自于他們的親手。

說到開發,大家的印象就是整天呆在電腦面前,目光呆滯,頭發凌亂的計算機人士。

確實,整天和計算機打交道的人的確容易變成這樣,因為開發首要解決的問題就是如何用技術能力去解決客戶的需求,而不是自己的形象怎么樣。

事實上這種情況在現代中得到很大改善,很多IT人士都很注重自身形象。

具體的工作不僅要寫代碼用算法實現業務邏輯,更要有程序設計的思想,大到整個的程序框架,小到某個小模塊的擴展性兼容性,都是在開發真正寫代碼之前著重要考慮的方面。

現在的編程不像以前打孔式編程那么艱澀,大廠商開發的強大的編程工具(IDE)讓編程事半功倍。

然而技術在變簡單的同時,客戶需求又在日趨復雜化。

而技術就是為了實現業務邏輯,將業務邏輯抽象建模用計算機程序的方式表現出來,所以一個不懂業務邏輯的開發不會了解模塊和模塊之間如何協同工作,這便給工作帶來很大的局限性。

而如果一個開發只關注每個模塊之內的細節實現,那在現實中便不是一個好開發,至少不是一個好用的開發。

溝通方面,開發需要和測試,技術主管,開發經理,甚至客戶方面溝通,所以必要的溝通能力還是很需要的。

現在的軟件不再是一個人在戰斗,在團隊作戰中,開發有時需要和測試討論“某個軟件Bug(缺陷)是不是Bug”,有時需要和技術主管討論客戶的某個需求到底是要實現什么內容,有時需要和開發經理討論項目的進度是否需要推遲。

就開發的工作本身而言,是不太需要管理能力和全局觀的,如果能夠做好編程的工作之外,這兩方面也比較強,可能就離升職加薪不遠了。

2.2測試(QA)

任何一個產品都需要測試,就好比制造業中如果生產了一批電燈,我們不能聽制燈師傅說信得過而信得過,而得通過一系列模擬用戶的行為來對電燈進行測試,指標合格后方可出廠投入市場。

軟件測試也一樣,需要對開發者開發出來的模塊,產品進行全方位的測試。

原則是“做正確的事”,讓客戶需求功能得到滿足。

基本做事方法就是模擬客戶的一切日常行為,包括一些極其變態的行為,考驗軟件在各個方面的情況下的可用性和穩定性。

而這些“日常行為”便稱之為測試用例(Testcase),一個好的QA會設計出一套可以覆蓋所有檢查點(checkpoint),又不重疊的測試用例,這套功底可以參考MECE方法。

既然如此,QA就需要對整個軟件的業務相當熟悉,因為她(他)要知道在某個用戶行為下,軟件是否做出了正確的反應。

既然是模擬用戶行為,那么QA就需要去手動“跑”測試用例。

當一個系統很大的時候,測試用例極其多,光用手點一遍是非常耗費時間和人力的,所以QA可以做自動化測試。

所謂自動化,便是QA編寫一些腳本代碼,讓計算機幫助去實現一些人為的行為,而不用自己手動點。

所以這就需要QA做有一些代碼編寫能力。

溝通方面,QA經常要和DEV討論Bug(軟件缺陷),Bug的意思是本應該有的功能卻沒有做到的功能。

對于某些比較似是而非的Bug,怎么能夠讓開發者心服口服地承認并去修復往往需要花費一番口舌。

而這些Bug往往是根據不同的人的價值觀認定是不是Bug,所以合理地傳遞價值觀也是QA的一個基本素質。

現實的一個案例是,公司某QA“傳遞價值觀”能力極強,于是被拉去做市場去了。

除此之外,QA還要經常和技術主管溝通,熟悉客戶需求。

全局觀是因為QA要做集成測試,這樣需要對產品本身有個全局的觀念。

比如產品有個用戶管理系統和訂單管理系統,那么對于“刪除一個用戶”的行為,用戶的訂單會怎么處理?這便是一個全局觀的意識。

往往一個好的QA在這點上可以幫用戶想到很多用戶沒想到的東西。

2.3質量監督(SQA)

如果說QA的作用是確保“做正確的事”,那么SQA的作用就是確保“正確的做事”。

通常SQA是不會直接參與軟件開發的工作中,而是通過在一旁監督軟件開發的過程,然后把監測的結果反饋給軟件開發團隊。

既然是監督過程,所以SQA經常是流程化的代名詞。

流程是外企當中比較看重的東西,從每天的Dailyreport,到每周的weeklymeeting,從什么時候把當天的結果存到服務器上,到為什么團隊出現重大事故,幾乎都會有SQA的參與。

所以在前期制定一個符合項目的流程是SQA的必然工作。

項目運行過程中,所有項目流程規定的點所涉及到的郵件都要CC一份給SQA。

當SQA通過流程觀察項目的運行情況的時候,必然會收集到很多數據(包括剛才提到的郵件)。

SQA會對這些數據進行統計歸納,然后總結出規律和報告直接遞交給總監(Director)。

鑒于此,SQA在我們公司地位還是很高的。

SQA還會不定期對開發團隊進行個人的facetoface面對面一對一溝通,名字叫Audit,中文翻譯過來類似叫審計。

這種行為更針對“人”的評估,而不再是產品。

因為產品的好壞決定于人的好壞。

2.4技術主管(Tech-Lead)

技術主管在我們公司往往就是一個項目的負責人。

最主要的工作莫過于軟件架構設計,客戶需求溝通,技術難點解決和內部團隊管理。

技術主管,名字便告訴了大家技術功底一定要很牛,在我們公司經常是一些工作了2-3年以上的軟件工程師或者高級軟件工程師擔當。

雖然技術很牛,不過實際上直接參與軟件開發的還是DEV(開發者),技術主管只是在比較高的一層面進行協調,所以直接代碼編程很少。

但是遇到了技術障礙DEV無法克服的時候,技術主管一定要及時站出來做一個Problemsolver。

技術主管的日常主要工作就是和客戶溝通,熟悉需求,然后把業務需求轉換成軟件需求給DEV去做。

所以技術主管對業務邏輯要相當的熟悉,在整個項目角色中,對業務最熟悉的除了客戶就是技術主管。

所以技術主管起到了一個銜接的作用,溝通起了客戶和開發,連接起了現實的業務需求和虛擬的軟件實現。

這一切,對技術主管的溝通能力的要求就很高了。

軟件團隊不是一直和諧的,有時會出現某個模塊的接口和另外一個模塊的接口銜接不上,有時會出現一個人的工作被另外一個人的工作Block(中斷)了,有時也會出現某個DEV總是不買某個QA的賬等等,所有的這一切,從技術到人本身,都在時時考驗一個技術主管的管理水平。

2.5開發經理(SDM)

軟件開發經理是一般軟件項目中執行層面上的最高職位了。

其主要作用是項目的進度控制,客戶高層溝通,甚至到項目預算控制。

軟件開發經理的編程功底要看具體人而定,在我們公司軟件開發經理一般都是技術出身,5-8年的工作經驗或軟件行業的資歷。

在具體的項目中,幾乎不參與任何代碼的編寫和設計工作。

前期的項目計劃(ProjectPlan),中期的項目進度管理和客戶需求管理,到后期的項目交付,所有的工作都是軟件開發經理和客戶主要要溝通的東西。

業務方面,軟件開發經理對業務認知的能力是非常強悍的,因為資歷深的人對很多陌生的業務嗅覺和認知要比其他人強。

不過在實際中,業務需求方面大部分工作給技術主管做了,所以軟件開發經理主要關注于項目總體,對細節不太關注了。

軟件開發經理還有個重要的作用便是在軟件項目過程中,積極地調動項目內外的資源。

簡單的說,把合適的人放在合適的位置上。

當團隊出現無法解決的問題時,軟件開發經理會想方設法從外部獲取資源幫助團隊渡過難關。

3從軟件開發團隊成員看21世紀企業所需的人才素質

從一個軟件開發團隊中開發(DEV),測試(QA),質量監督(SQA),技術主管(Tech-Lead),開發經理(SDM)這五類角色所具有的各種能力我們不難看出二十一世紀的社會需要的是什么樣的人才,答案很明確,二十一世紀我們需要的是復合型人才。

那什么是復合型人才呢?復合型人才就是多功能人才,其特點是多才多藝,能夠在很多領域大顯身手。

復合型人才包括知識復合、能力復合、思維復合等多方面。

當今社會的重大特征是學科交叉,知識融合,技術集成。

這一特征決定每個人都要提高自身的綜合素質,個人既要拓展知識面又要不斷調整心態,變革自己的思維,成為一名“光明思維者”。

那么一名復合型人才又應該擁有哪些素質呢?

3.1高尚的思想政治品格

首先,要樹立正確的馬克思主義世界觀、人生觀、價值觀,用辨證唯物主義的觀點,客觀、動態、全面、本質、聯系地看問題、分析問題、解決問題。

其次,要有堅定的政治立場,堅持四項基本原則,樹立共產主義的信念和理想,自覺、積極、熱情、主動地參加有中國特色的社會主義的建設,為實現社會主義現代化而奮斗。

在現今社會中,要能識別和抵制各種錯誤思潮的影響,堅定正確的政治方向。

第三,要有現代意識,譬如競爭意識、時效意識、科學意識、開放意識、改革意識、民主意識、法制意識、平等意識、信息意識、優質服務意識等。

3.2良好的科學文化知識

科學文化素養是指人們對自然科學、人文社會科學、文學、美學、藝術等人類文化各種基本知識或常識的認識程度和掌握情況。

21世紀的人才又需要精深而嫻熟的專業知識、先進而新鮮的前沿知識以及與本專業相關的各種知識。

3.3法律道德知識

21世紀的社會將是一個法制社會,法律在它的適用范圍內具有普的約束力和強制性。

尤其在社會主義市場經濟下,任何經濟活動都必然依法進行,知法、懂法、用法、守法,增強法律意識就顯得更加重要。

所以,21世紀人才必須有較高的法律修養,了解憲法和法律的基本內容,正確行使公民權利,認真履行公民義務,作一個守法的公民,運用法律維護自己的正當權益。

3.4健康的心理

所謂心理健康是指個體在各種環境中都能保持一種良好的心理效能狀態,個體在這種狀態下能以社會認可的方式調節內部心理結構,以取得對外界環境的良好適應,并充分發揮其身心潛能,保持旺盛的生命力。

3.5一定人際交往能力和合作精神

21世紀是一個變化極快的時代,由此是一個競爭異常激烈的社會,但也由此不可能光靠一人的能力來成就事業,因此21世紀更加需要合作。

合作精神是一種值得弘揚的時代精神,也是新世紀人才必備的一種優良品質,我們必須放棄“雞犬之聲相聞,老死不相往來”的陋習,倡導科學、文明、健康、開放的社會交往方式,學會交往,學會合作,提倡合作精神。

在人際交往和互相合作過程中注意互惠互利、互相尊重、互相信任、擺脫嫉妒、能力升華等,把祖國建設得更富強。

3.6新時代的創新精神

創新精神是21世紀所必備的,沒有創新就意味著“一潭死水”,停滯不前,繼而落后,繼而挨打。

科學技術要走在世界前沿,經濟建設要躋身世界前列,無不需要創新,尤其在建設有中國特色的社會主義的中國,從事這具有開拓性的億萬中國人民所從事的嶄新事業,既無前人之鑒,也無現成的經驗參考,這就完全要靠我們自己去開拓、去創新。

3.7身體健康素質

人乃萬物之本,人之成才要在體力和腦力上付出艱辛的勞動,這就要求在生理機能上有良好的體質和健康、發達的大腦。

身體健康素質應包括三個方面:一是要有結實健壯的身體,能夠抵抗疾病、承受繁重的工作和各種艱苦環境的考驗;二是要有健康、發達的大腦,能夠足以用它來汲取知識和承受繁重的腦力勞動;三是要有良好的心理素質,保持健康人格。

綜上所述,這幾大素質是21世紀人才必需的。

它們不是各自孤立的,需要全面、整體、和諧地發展,才有可能形成新世紀人才的基本素質。

4結束語

二十一世紀是一個社會高速發展的時代,我們需要的是具有全面素質的復合型人才。

轉載請注明出處人才網 » 軟件開發需要那方面的人才呢