軟件開發與測試
首先,軟件開發是軟件工程師職責的基本組成部分,這點應該沒有問題。其次,此處的軟件測試可分為開發前的驅動測試,和開發過程中的白盒測試。驅動測試用于分析子系統/模塊內部邏輯,用于在開發之前暴露開發過程中可能遇到的大部分問題和對子系統/模塊進行更進一步的劃分;白盒測試是保證在項目交接到測試團隊手中時,能滿足基本的項目要求,即能夠進行α測試。
子系統/模塊分析設計
在軟件架構師做完系統設計,項目經理進行項目分工后,項目就正式進入開發環節。這時候每個軟件工程師會拿到自己負責的子系統/模塊,首先要做的就是進行分析設計,其次才是開發。開發前進行分析設計,便于從整體上對子系統進行把握,提前隔子系統中的變化點和問題,同時也可以對子系統進行更詳細的劃分,用于制定個人的工作計劃,與項目經理和軟件架構師進行具體的溝通。
撰寫文檔
在進行子系統和模塊設計的同時,要撰寫子系統設計說明書;在開發過程中,要記錄技術要點和發現的問題,同時如有需要,要修改子系統設計說明書;在白盒測試時,要記錄每個Bug。
定期主動溝通
在項目開發過程中,項目經理需要和團隊中的每一個人溝通任務進度,其主要職責是從整體上把握和控制項目的進度。那么作為團隊一員的高級軟件工程師通常會負責項目中很重要的子系統/模塊,這些子系統/模塊往往能決定項目的成敗。因此定期主動與項目經理溝通解決遇到問題,與架構師和專家溝通解決技術難題就顯得非常重要了。另外,就對個人而言,定期主動溝通也往往表現為個人的主動積極性,對于個人長遠發展非常有益。
持續學習
也許有人會覺得學習應該與職責無關,狹義看來確實如此。然而,不斷學習新知識,提高個人技能,于公司而言,能提升工作效率;于個人而言,益于職業發展。因此,工作之余,不管你職位如何,持續學習就顯得非常重要且必要。