什么是“高級軟件工程師“,這個(gè)職位到底該做些什么,相信大家都有答案。在目前很多國內(nèi)軟件企業(yè)中,如果你是”高級軟件工程師“,那么從需求分析,設(shè)計(jì),開發(fā),測試,甚至到客戶這一條龍都可能由一個(gè)人來負(fù)責(zé)。那么這個(gè)職位到底該做些什么呢?下面是我的認(rèn)識。
1,軟件開發(fā)與測試
首先,軟件開發(fā)是軟件工程師職責(zé)的基本組成部分,這點(diǎn)應(yīng)該沒有問題。其次,此處的軟件測試可分為開發(fā)前的驅(qū)動(dòng)測試,和開發(fā)過程中的白盒測試。驅(qū)動(dòng)測試用于分析子系統(tǒng)/模塊內(nèi)部邏輯,用于在開發(fā)之前暴露開發(fā)過程中可能遇到的大部分問題和對子系統(tǒng)/模塊進(jìn)行更進(jìn)一步的劃分;白盒測試是保證在項(xiàng)目交接到測試團(tuán)隊(duì)手中時(shí),能滿足基本的項(xiàng)目要求,即能夠進(jìn)行α測試。另外,驅(qū)動(dòng)測試因團(tuán)隊(duì)而異,并非必須,但個(gè)人更推薦這么做。
2,子系統(tǒng)/模塊分析設(shè)計(jì)
在軟件架構(gòu)師做完系統(tǒng)設(shè)計(jì),項(xiàng)目經(jīng)理進(jìn)行項(xiàng)目分工后,項(xiàng)目就正式進(jìn)入開發(fā)環(huán)節(jié)。這時(shí)候每個(gè)軟件工程師會拿到自己負(fù)責(zé)的子系統(tǒng)/模塊,首先要做的就是進(jìn)行分析設(shè)計(jì),其次才是開發(fā)。開發(fā)前進(jìn)行分析設(shè)計(jì),便于從整體上對子系統(tǒng)進(jìn)行把握,提前隔子系統(tǒng)中的變化點(diǎn)和問題,同時(shí)也可以對子系統(tǒng)進(jìn)行更詳細(xì)的劃分,用于制定個(gè)人的工作計(jì)劃,與項(xiàng)目經(jīng)理和軟件架構(gòu)師進(jìn)行具體的溝通。
在這點(diǎn)上,要及早認(rèn)識到并不是只有架構(gòu)師才需要進(jìn)行軟件設(shè)計(jì)的,軟件工程師一樣需要,且是必備技能。相信有很多人拿到自己的任務(wù)時(shí)只是跟項(xiàng)目經(jīng)理進(jìn)行簡單的溝通,知道自己要做什么,就開始悶頭寫代碼了,這是非常不可取的。
3,撰寫文檔
在進(jìn)行子系統(tǒng)和模塊設(shè)計(jì)的同時(shí),要撰寫子系統(tǒng)設(shè)計(jì)說明書;在開發(fā)過程中,要記錄技術(shù)要點(diǎn)和發(fā)現(xiàn)的問題,同時(shí)如有需要,要修改子系統(tǒng)設(shè)計(jì)說明書;在白盒測試時(shí),要記錄每個(gè)Bug。以上這些文檔是為了方便以后進(jìn)行項(xiàng)目維護(hù),工作交接,問題分析,個(gè)人總結(jié)等等。
4,定期主動(dòng)溝通
在項(xiàng)目開發(fā)過程中,項(xiàng)目經(jīng)理需要和團(tuán)隊(duì)中的每一個(gè)人溝通任務(wù)進(jìn)度,其主要職責(zé)是從整體上把握和控制項(xiàng)目的進(jìn)度。那么作為團(tuán)隊(duì)一員的高級軟件工程師通常會負(fù)責(zé)項(xiàng)目中很重要的子系統(tǒng)/模塊,這些子系統(tǒng)/模塊往往能決定項(xiàng)目的成敗。因此定期主動(dòng)與項(xiàng)目經(jīng)理溝通解決遇到問題,與架構(gòu)師和專家溝通解決技術(shù)難題就顯得非常重要了。另外,就對個(gè)人而言,定期主動(dòng)溝通也往往表現(xiàn)為個(gè)人的主動(dòng)積極性,對于個(gè)人長遠(yuǎn)發(fā)展非常有益。
5,持續(xù)學(xué)習(xí)
也許有人會覺得學(xué)習(xí)應(yīng)該與職責(zé)無關(guān),狹義看來確實(shí)如此。然而,不斷學(xué)習(xí)新知識,提高個(gè)人技能,于公司而言,能提升工作效率;于個(gè)人而言,益于職業(yè)發(fā)展。因此,工作之余,不管你職位如何,持續(xù)學(xué)習(xí)就顯得非常重要且必要。
6,帶新人
這點(diǎn)也許不是硬性要求,然而據(jù)說國外有高手帶領(lǐng)新手這樣一種師徒習(xí)慣,我們也應(yīng)該學(xué)習(xí)并發(fā)揚(yáng)。通常情況下新人會與高級軟件工程師協(xié)同工作,因此帶新人一方面,帶領(lǐng)新人可以有重新審視自己知識的機(jī)會;另一方面能夠讓新人更快入手,降低學(xué)習(xí)成本和提高工作效率;同時(shí)也能保持良好的人際關(guān)系。
以上是個(gè)人對高級軟件工程師職責(zé)范圍的認(rèn)識,也許有些比較牽強(qiáng),然而就對職業(yè)發(fā)展而言,要想做好高級軟件工程師,上面幾條是平時(shí)工作中必須要做的。
-
軟件工程師
+關(guān)注
關(guān)注
8文章
218瀏覽量
21138
發(fā)布評論請先 登錄
相關(guān)推薦
評論