2012年12月16日 星期日

硬體出身的人材主導的軟體產業也是個很大的問題

作者: HYL (@EVERYWHERE) 看板: Soft_Job
標題: Re: [閒聊] 軟體人的心路歷程分享
時間: Sun Nov 25 14:55:38 2012

※ 引述《HYL (@EVERYWHERE)》之銘言:
: 標題: Re: [閒聊] 軟體人的心路歷程分享
: 時間: Sun Nov 25 02:28:03 2012
: → HYL:舊文重貼,所以速度比較快 XD                                 11/25 02:33
: → francej:所以看來軟體業要有搞頭. 只有get the best people一途     11/25 13:17
: → francej:(best people不只有軟體工程師,也包括能打開國際市場的商   11/25 13:18
: → francej:業人才..)                                               11/25 13:18

  硬體出身的人材主導的軟體產業也是個很大的問題,這幾天我就在思考要怎
  麼跟上面解釋,做軟體的不能開 branch

  做硬體跟做軟體的另一個差別是,硬體是賣出去就結束了,軟體是賣出去才
  是開始,開始怎麼做支援及客服。

  以我現在呆的網通業來說,可能因為各電信商既有設備的不同,賣出去的硬
  體也都是客製化的產品,一個客戶就開一個 branch 也說不一定。因為賣硬
  體的一個單的金額都很大,所以很習慣開 branch

  問題是,軟體是佈建(deployment)模式是很不一樣的,矽谷那邊目前是已經
  玩到程式進 VCS後,一小時就能自動佈建到生產環境給客戶使用。已netflix
  來說,一進 VCS, Jenkins抓到後,自動在 AWS中開50台機器模擬正式的環
  境,一小時跑完所有的測試,然後出來的成果就是 production ready

  這樣的好處是,成果很快就可以看到,有問題很快就可以修好,如果一個功
  能因開發不及要延遲上線,跟客戶也比較好交代,而且若是所有客戶都用同
  一個版本,維護超簡單。

  但是對硬體的人來說,他們非常習慣 Waterfall式的開發流程,同時間支援
  多個 branch ,很習慣 double or n-way commits,可是這在軟體上就是辦
  不到。

  因為,硬體設備一出去能支援的功能就定死了,最多就是用設定檔改改功能
  ,硬體本身並不會因為「內部狀態」的不同而有不同的反應,或是「狀態」
  亂掉的話重開機就好。客戶端出問題時,跟客戶問清楚版號跟設定檔就可以
  重現問題。

  但是軟體則不同,軟體在運行時,會在資料庫中留下大量的狀態,各筆資料
  可能會應各個版號的軟體解讀不同,而有不同的變化出現;在出問題時,往
  往是要連客戶端的資料、 Log都一起解讀才有辦法猜出問題所在。

  如果說要同時間支援多個版號,等於每次出問題時,我都要先把我的腦袋時
  光回溯到那個版號,然後再去開始推導到底是那些地方可能出錯,以及這個
  版號在其它客人那邊已抓到那些問題。

  過去我在別的電信外包商那邊服務時,我們是有另一個 solution team去面
  對各大電信商,由專人特別服務電信商;可是說不客氣點,這些 solution
  team的人技術能力往往是不夠的,在沒有介入核心團隊開發產品的狀況下,
  無法深入了解軟體的內部運作方式,出問題往往還是要核心團隊自己跳下去
  看的。


  在台灣,沒有產品經理會去反對開 branch ,然而,這就是台灣軟體業無法
  再上層樓的問題之一。

  我是打算跟我主管講,一個人一個禮拜只有 168小時,不管你怎麼壓榨,最
  多就是工作 80 小時,你是要我把時間花在核心產品的開發上,還是要把40
  小時放在客戶支援上呢?

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.30.76

沒有留言:

張貼留言

您好.本資料庫並非第一手資料.如果你有對文章作者的詢問,意見與需求,請自行找尋文章作者並提供意見,謝謝.