天天看點

如果我當上技術經理如何展開工作

                                                                 軟體架構師何志丹

如果我當上技術經理如何展開工作... 1

1       總括... 1

1.1        引子... 2

1.2        技術經理(總監)的任務... 2

1.3        此職位和我高度比對... 2

2       術語、概念、假設... 4

3       規劃... 5

3.1        不同階段核心要素不同... 5

3.2        研發部組織架構... 6

3.3        規範... 8

3.4        關注點... 9

4       計劃... 10

5       教育訓練與考核... 11

5.1        教育訓練... 11

5.2        考核... 11

5.3        對我的考核... 12

5.4        晉升... 12

6       需求與測試... 12

6.1        不同性格在不同階段的優劣... 12

6.2        關于需求人員... 13

6.3        關于測試人員... 14

6.4        需求确認或整理... 14

6.5        需求分解、任務跟蹤... 14

7       單人代碼走查... 14

7.1        代碼走查員發展階段... 15

7.2        代碼走查好處... 15

7.3        我代碼走查需要的時間... 15

8       專業化分工及組建公司公共庫... 16

8.1        專業化分工... 16

8.2        組建公司公共庫... 16

8.3        關于技術攻關... 16

    1. 總括

公司成立以來,一直處于高速發展狀态,未來幾年也将高速發展。高速發展意味着:容易摔倒。摔倒了,運氣好,繼續跑,搶點殘羹冷汁;運氣不好,直接出局。又不能不跑,等修整好了,發現無路可跑:增量市場已被搶光。

      1. 引子

電腦遊戲《雙點醫院》的經典情節:“賺錢的醫院突然巨額虧損,症狀是:各科室人滿為患” 。新人的解決方法是:建立更多的科室,招更多的醫生、護士。新招的醫生和護士是新手,效率低,于是堵塞更嚴重。根本原因是:那些難治的病占用從業人員太多的時間,将那些難治療的病人(不到總病人的10%)請回去,很快就扭虧為盈。對應到軟體開發中,就是不到10%的需求,讓整個團隊疲于奔命,還虧錢。

     放到現實中,這個問題各科室主任和各工種主任都無法解決。如果醫院有技術總監的話,歸技術總監解決。絕大部分醫院沒技術總監,是以隻能正副院長解決,如果院長們是技術性、管理型、市場型,沒有财務型,那就無解。

      1. 技術經理(總監)的任務

核心任務:産品研發全過程進度與品質把控,包括:

  1. 根據不同産品、不同階段的核心訴求,調整部門結構。
  2. 在各部門、産品、工種之間調配資源(主要是人力),從上級申請資源。
  3. 協調各産品定位,以服務不同層次的使用者,分析是否存在斷層。
  4. 針對高發的問題,建立夠用的制度和規範。
  5. 處理部門間沖突,協調部門間合作。

日常任務

  1. 對上溝通,了解公司的業務、戰略方向、制定相應的計劃。熟悉管理知識,以友善與上級溝通。
  2. 和友方部門溝通,以互相配合。了解市場知識,以提高溝通效率。
  3. 檢視代碼、需求文檔、測試結果,以保持對相關員工的了解。繼續補充需求知識,熟悉主要産品業務知識,了解次要産品業務知識。
  4. 檢查各部門的成果(部門自查往往是不徹底的),發現瓶頸。和需求分析人員、售前、售後(甚至客戶、使用者)溝通,以估算需求的效果。根據缺陷産生原因分類統計或彙總缺陷,以發現開發團隊甚至個人瓶頸。比對代碼走查發現的缺陷和測試員發現的缺陷,以估算兩者的瓶頸。
  5. 處理下級部門的申請。
      1. 此職位和我高度比對

“産品研發全過程進度與品質把控”的關鍵是:看文檔、寫文檔。會看文檔,才能正确決策;會寫文檔,才能友善上級和其它利益相關人決策。這剛好是我的特長,一般架構師都有這個特長。

        • 我是理論與實踐的完美結合

大二是就考過了軟考的進階程式員(今軟體設計師),2014年過了軟體架構師,理論聯系實際至今。創業的那段經曆,讓我體會到管道的重要;廣州頂豐讓我體會到溝通的重要;上一份工作讓我體會到“少即是多”:雞肋需求(作用很小的需求)砍掉,後期需求(前期沒有,後期有用的功能)暫緩。

        • 全局觀和技術積累

全局觀和技術積累的完美結合,将風險消滅于萌芽狀态。同一行業、同一公司待的久,容易積累技術;不同行業、不同大小的公司容易形成大局觀。先積累技術,再培養大局觀,顯然比先大局觀後技術合适。大型公司(武漢開目、南方數位)、中型公司(中山極點3維)、小型公司(廣州頂豐)都待過,創業4年。大中公司友善學技術,小公司(往往無規章或規章不健全)容易發現引起項目失敗的非技術問題。創業暴露自己幾乎所有的缺陷(尤其是技術缺陷),後面的幾年成功補充了相關知識。

        • 公共庫

直接使用我積累的元件,以降低成本、縮短工期、提高品質。在創業和業餘時間封裝了多個庫(dll),主要3個:SN.dll通用功能,不依賴任何庫(包括STL、MFC)和作業系統。SNMFC.dll,對mfc和Windows api進一步封裝。SNStl.dll,對stl進一步封裝。目前已經經過兩個商業軟體和若幹小軟體的驗證。源代碼可以我和公司共有。典型類:幾行代碼建立服務端、用戶端通訊,如果不用類庫,要幾十行,幾十行足以搞死新手了。而且自動處理拆包、粘包。

CAD二次開發庫。2017到2018,廣東XX開發CAD圖紙大師時,封裝一個CAD庫,此庫歸廣東XX。我現在一邊找工作,一邊重新封裝庫,相對于廣東XX的庫,應用範圍廣,但性能稍差。典型類:某個擴充卡類屏蔽CAD2010之後和CAD2010之前版本的細微差別。

        • 開發高品質的軟體

開發高品質的軟體,以提高使用者體驗。比如:軟體幾乎沒有崩潰,可維護性(新增功能或大改功能的難度,架構師與軟體工程師的最大差別)高。

        • 強大的學習能力

強大的學習能力,以解決新問題。這是适應工作環境的結果,以前的工作職位是:公共組軟體工程師,架構師。出于工作需要:經常完成各類預研工作。曾于2003年3月出任CSDN專題開發大版主、2003年7月出任CSDN VC/MFC版的大版主多年。

        • 教育訓練能力

較強的教育訓練能力,友善團隊建設。網上教育訓練6人,4人上班(至少2人拿高的工資),2人(國中學曆)創業接活。

如果可行的話,培養一到多個公共程式員、代碼走查員,一次隻培養一個。熟練的公共程式員、代碼走查員可以大幅提高開發效率:新手公共程式員、代碼走查員會嚴重降低開發效率:公共子產品有缺陷,意味這所有子產品有缺陷。新手代碼走查員,會發現大量次要缺陷,被走查左右為難:改,影響工期;不改,違反制度。

        • 我的品德

敢于直言、不拉幫結派

重技術輕業務使得我在哪個公司工作的效率相差不大,是以敢于直言。

實踐是檢驗理論的唯一标準

在方案選擇上無偏好,根據實踐情況調整。如果别人有更好的方案,則采納别人的方案。

适可而止,方能全身而退

這和我最近工作經曆有關。我的工資比中小公司的平均工資高很多,中小公司沒有容錯實力,如果搞砸了(或6個月無進展),就出局了。如果搞成(或基本完成)了,公司沒有能賺回我工資的工作,也得離去。

一般而言,公司前期技術重要,後期技術相對次要,這是就形成後期技術部産出低于收益。這時,我願意離去。其實許多技術人員,也是适合前期,他們在後期也願意離去,很憋屈。

善于總結

重要内容書面總結,友善後面來的人查閱。

        • 此職位不适合科班出身的技術經理

科班出身的人理論強,但很可能脫離實際(執着品質,忽視工時和成本)。就算按最低标準CMM3搞,理想狀态也要3個月,這個3個月許多工作都要暫停。快速奔跑的團隊,停3個月,不知道能否繼續跑。就算搞成了,跑速大幅降低,不利于搶占市場。

        • 此任務不适合自學成才的技術經理

自學成才的人實踐能力強,勇于嘗試。但高速發展時,嘗試失敗的代價太大。

完整的文檔已經上傳,:

https://download.csdn.net/download/he_zhidan/10899611

繼續閱讀