1. 程式人生 > >2018-2019-1 20189206 《構建之法》第三章學習筆記

2018-2019-1 20189206 《構建之法》第三章學習筆記

職業 衡量 版本 誤區 con 指定 ont 專業 組織

2018-2019-1 20189206 《構建之法》第三章 學習筆記

第三章 軟件工程師的成長

個人能力的衡量與發展

軟件開發團隊與個人

軟件開發流程不光光指團隊的流程,還包括個人開發流程,軟件團隊也是由個人組成的。在團隊的大流程中,也是每一個具體的人在負責開發、測試、用戶界面設計、管理、交流等工作。

把每個人的工作有序地組織起來,就是團隊的流程。

一個好的團隊流程能把沖突的積極方面釋放出來,而避免消極方面。

individual contributor (IC)

軟件團隊中,軟件系統的大部分模塊都是由個人開發或者維護,這些成員稱作IC。

 IC在團隊中的流程:

通過交流、實驗、快速原型等方法,理解問題、需求和任務

提出多種解決方法並估計工作量,其中包括尋找以前的解決方案,因為很多工作是重復性的

與相關角色交流解決問題的提案,決定一個可行的方案

執行,把想法變成實際中能工作的代碼,同時驗證方案的可行性其他特性

和團隊的其他角色合作,在測試環境中測試實現方案,修復BUG。如果方案有嚴重的問題,就考慮其他方案。

在解決方案發布出去之後,對結果負責

軟件工程師的成長

  • 積累相關開發的知識,提升技術技能
  • 積累問題領域的知識和經驗
  • 對通用軟件設計思想和軟件工程思想的理解
  • 提升職業技能(區別於技術技能
    • 其中包括了自我管理能力、表達交流能力、與人合作能力、按質量完成任務的執行能力
  • 實際成果
    • 你的工作成果用戶評價如何?是想占有率如何?對用戶多大價值?你在其中起到了什麽作用?

軟件開發的工作量和質量的衡量

  • 項目/任務大小
    • 一般用代碼量來衡量;或者用功能點衡量。
  • 花了多少時間
  • 質量如何
    • 交付有兩個概念,一個是代碼完成時交給測試人員;另一個是軟件最終發布時交給顧客。
  • 是否按時交付
    • 在工作團隊中,穩定、一致的交付時間是衡量一個員工能力的重要方面

團隊對個人的期望

TSP團隊軟件流程,對團隊成員也有所要求:

  • 交流:能夠有效地與其他隊員交流,從大的技術方向到看似微小的問題。
  • 說到做到
  • 接受團隊賦予的角色並按角色要求工作
  • 全力投入團隊的活動
  • 按照團隊流程要求工作
    • 團隊有自己的流程,能力再強,也要按照團隊指定的流程工作
  • 準備
    • 準備工作很重要!
  • 理性地工作

軟件工程師的思維誤區

  • 分析麻痹
    • 極端情況就是想弄清所有細節、依賴關系之後再動手,不想修復問題,出了問題都賴在相關問題上。
  • 不分主次,想解決所有依賴問題
    • 這種極端情況是過於積極,想馬上修復所有的主要和次要的依賴問題,而不是根據現有條件找到一個“足夠好”的方案
  • 過早優化
    • 一個工程師在寫程序時,經常容易在某一個局部問題上陷進去,花大量時間對其進行優化,無視這個模塊對全局的重要性,甚至不知道“全局”是怎樣的。
  • 過早擴大化/泛化

解決大問題固然美好,但是所有的大問題都是從解決了無數的小問題上積累來的

軟件工程師的職業發展

讀完這一小節的內容,其實是很有感受的,學習也好工作也好,愛好是推動著我們不斷前進的主要動力。比如在讀書的時候,真的喜歡的內容讀起來是十分有樂趣的,一方面想理解其中的邏輯,另一方面不斷深究閱讀。如果未來目標確定為軟件工程師,那麽就要發自內心地熱愛和了解這份職業並向著職業的要求成長、學習。

職業成長

就像上一小節所說,規劃自己的職業發展可以分為以下幾個方面

考級之路

  • 計算機等級考試 全國計算機技術與軟件專業技術資格考試
  • IEEE提供了一系列職業認證服務

Steve McConnell版本

首先一個軟件工程師需要具備一定的知識和能力:

  • 知識:將軟件知識分為十大領域
  • 能力
    • 入門Intoductory
    • 熟練Competency
    • 帶頭人Leadership
    • 大師Mastery

工程師需要做到以下幾點:

  • 閱讀:4-6篇經典文獻的深入分析和閱讀
  • 工作經驗:參與並完成6個具體的項目
  • 課程:參加3個專門的課程

技能的反面

當時在寫簡歷的時候,知道在寫技能的時候,會有精通-熟練-了解這些等級。

如何提高技能——通過不斷的練習,把低層次的問題都解決裏,變成不用大腦的自動操作,才有腦力來解決較高層級的問題。

2018-2019-1 20189206 《構建之法》第三章學習筆記