- 代碼的藝術:用工程思維驅動軟件開發
- 章淼
- 920字
- 2022-05-05 21:55:50
1.1 為什么要重視工程能力
由于行業內競爭加劇、成本上漲和產業升級等形勢的變化,工程能力受到越來越高的重視。
1. 形勢變化與挑戰
最近幾年,軟件研發企業尤其是互聯網企業正面臨以下形勢的變化和挑戰。
(1)行業競爭的加劇。中國互聯網經過20多年的發展,早已不是荒蠻之地,競爭的需要逼迫各企業在軟件研發的質量和效率上不斷提高。
(2)成本的上漲。中國在研發成本尤其是人力成本方面上漲非常快。中國軟件工程師的人力成本已超過歐洲,和美國的差距也沒有那么大了。在這種情況下,業內對于人均產出提出了更高要求。
(3)產業的升級。中國的互聯網企業普遍從toC轉向toB,而toB對軟件研發的質量提出了更高要求。
2. 如何應對挑戰
面對以上挑戰,一些企業的應對方法是延長工作時間、增加工作強度。部分公司出現了“996”(早9點上班,晚9點下班,每周工作6天)的工作制度。應該說,這些方法給從業者的身體健康和正常生活帶來了嚴重的負面影響,它們也只能是短期行為,不可能被長期執行。
從現實情況來看,其實國內很多軟件工程師的工作效率是比較低的,并有巨大的提升空間。根據筆者多年的訪談反饋,很多軟件工程師已經工作了8~10年,但他們的工作方法其實是錯誤的。在以前人工成本較低、管理方法比較粗放的情況下,這些問題并沒有得到足夠重視。現在中國很多傳統行業在進行轉型升級,因此中國的很多軟件工程師也需要升級了!
提升工程能力,是應對以上變化和挑戰的重要解決之道。
3. 工程能力是制勝之本
在提升工程能力的路上,我們可能會聽到一些不同的聲音。有些人說,手頭的業務很忙,所以沒有時間提升工程能力;有些人說,現在的項目進度已經很緊湊了,按照正規的方法來工作會拖慢進度,所以不能對工程能力有嚴格要求。
從使用不正規的方法到使用正規的方法,一定會有一些學習上的成本投入。更重要的是,工程能力不是錦上添花、可有可無,而是一種生存能力。很多項目的失敗,其實是輸在從業者工程能力的不足上了!
工程能力首先會影響“打得準不準”。如果從業者不能做好需求識別和分析,缺乏產品方面的意識,那么研發出的軟件就沒有市場和用戶。
工程能力還會影響“是否能打贏”。工程能力會影響軟件研發的效率、質量和成本,一個低效率、低質量和成本高的軟件項目是沒有市場競爭力的。