若問你:軟件工程師應該具備那些特點、你會怎樣回答?
如果有人問你,作為一個軟件工程師需要哪些特質的話,你會怎麼回答?從技術層面上講,工程師的技術要求是首位。除此之外在做人處事方面,更有魅力的工程師則更受歡迎。
最近有同事問我,是什麼成就了一個工程師。下文就是我的回答,適用於各個技術領域。其中我故意不考慮企業架構相關的問題。
1、了解相關領域的技術知識
在你想要成為工程師的相關技術領域,必須具備扎實的專業知識和過人的本領。
2、超強的分析、設計能力
不管怎樣,具備很強的分析和設計能力都是必殺技。另外就是能夠運用模式方式來解決各式各樣的問題。
3、編碼與驗證性測試(POC)
熟悉 Technology Stack,並能使用各層的技術熟練地編碼。能快速進行驗證性測試。
4、架構設計的實力
能為原始需求提供架構方案。考慮周全:工具和框架的採用、安全性、性能和擴展性、依賴關系、集成、效益。熟悉軟件開發生命周期(SDLC):需求、分析、設計、測試、打包、部署。
5、Modeling Language 或工具
能使用不同的Modeling Language或工具,向其他工程師、開發者、項目經理等人,闡述架構。
6、架構框架
能證明架構的可行性,包括其業務、應用、數據、基礎設置方面。了解TOGAF和ZACHMAN框架就更好了。
7、溝通能力
能與開發人員、測試人員、商業分析師、上級經理溝通無阻,無論在口頭上和書面上。
8、講道(Sermon)
能講解該行業的市場、技術知識。能為全隊提供培訓課程。
9、銷售、甚至售前
能參與售前工作(特別對於軟件服務業):制定技術方案、使用各種預算工具估計方案的規模和成本、與銷售對像互動。
10、演講技巧
優秀的演講技巧、華麗的計劃書和技術文檔、PPT演講、講道。