由於公司人數少,對於新Project或是怎麼改進系統
我最近也可以參與討論和做決定了
最近我們討論最熱烈的就是
要自幹還是用現有的技術來解決問題?
吵來吵去最後的決定通常還是要回歸現實問題
哪一個決定可以帶來最多的Business Value?
不過撇開商業上的考量 (通常也不是我們工程師該考慮的問題XD)
到底哪一個決定好呢?
自己開發一個系統或是技術
好處就是最能符合自己的需要
使用上也符合公司的開發文化
可能上線的時間會縮短許多 (沒有了研究和整合的時間)
但壞處就是需要自己人去維護他
相當於多了一個需要工程師維護與觀察的系統 (工作量增加...)
還有就是可能開發的不夠彈性,功能只侷限在現有的問題
還有最重要的是,以後跳槽了別的公司沒有這項技術XD
假如其他公司都用某個熱門的開源技術,那就對職業發展有些不良影響
所以我個人覺得假如可以的話,現實情況允許的話
還是盡量選擇現有的開源技術或是熱門技術來解決問題才好
這樣才可以把資源都妥善運用在公司擅長的業務上
而不用花精力去維護多出來的一個系統
(我們有個笑話就是開發了一個Support Tool後我們還要再對這個Support Tool做Support Tool)
但當然假如公司夠大人手充足
願意花長時間好好規畫設計出下一個熱門技術
那當然還是自己幹一個比較好囉!
但假如是小公司或是新創公司
前期假如都是為了趕快趕期限
而使用了一堆自幹出來的技術
那最好要有精美詳細的Wiki或文件
要不然當員工來來去去
要重新訓練一個新人時
就會感到困擾了....
2018年4月29日 星期日
2018年4月11日 星期三
團隊與管理
今年開始工作上的內容也變了
很幸運被公司升為了小組長也開始帶人了
這可能就是在小公司工作與大公司工作的差別了
人力不足很容易就有貢獻可以升上去(但薪水沒怎麼變就是了...)
總而言之開始帶人後就發現這真不是一個容易的事情
好像也很少聽到別人分享這方面的經驗
我們工程師,對岸俗稱碼農,唯一會的事情就是寫Code了
叫我們面對2D人物還應對自如
當角色升維變成3D就開始很難溝通了....
尤其用英語更是很難表達出自己的意思啊!
當開始管理一個團隊時候,每一個人的能力各不相同
所以妥善分配事情讓團隊有效率的運作是不容易的事情
(現在真的自己寫Code的時候比以前少了87%了)
會遇到的人大概分成幾種
我覺得還蠻有啟發性的
畢竟一個Project 複雜的事情其實只要少部分的人去完成就好了
例如設計程式架構,可擴充性
或是說正夯的AI 所用的 Algorithm, Model
也是少部分的 PHD 去搞就好了
剩下的人就是要完成實作或是
Monitoring Tool, Clean Data,Saving or Parsing Data 之類的事情
所以假如團隊裡一直有一個人狂拖後腿
無法好好完成真正實作以及維護系統的工具
那整體效率可定是大幅降低了
很幸運被公司升為了小組長也開始帶人了
這可能就是在小公司工作與大公司工作的差別了
人力不足很容易就有貢獻可以升上去(但薪水沒怎麼變就是了...)
總而言之開始帶人後就發現這真不是一個容易的事情
好像也很少聽到別人分享這方面的經驗
我們工程師,對岸俗稱碼農,唯一會的事情就是寫Code了
叫我們面對2D人物還應對自如
當角色升維變成3D就開始很難溝通了....
尤其用英語更是很難表達出自己的意思啊!
當開始管理一個團隊時候,每一個人的能力各不相同
所以妥善分配事情讓團隊有效率的運作是不容易的事情
(現在真的自己寫Code的時候比以前少了87%了)
會遇到的人大概分成幾種
- 會思考的人 (Thinker)
這種人就是會好好的想自己的工作該怎麼樣達成
且會考慮效能以及未來擴充性
假如團隊裡都是這種人應該非常強大
可以迅速完成複雜的工作
但通常這種人就是會比較不喜歡做重複的事情
可惜一個Project 可能複雜的事情或是架構方面只占少數
多的是實作以及無聊的工作
所以要給這種人多一點能發揮強大實力的事情 - 一個指令一個動作的人 (Doer)
這種人就是你叫他做什麼,他就做什麼
你沒叫他做什麼,他就什麼都沒做
所以假如你都把事情規劃好讓這位仁兄去做
你就可以妥善的使用他了
但期待你跟他解釋一個虛擬概念讓他找出解決方法就太為難人家了 - 不知道在想什麼的人 (Mediocre)
這種人就很神秘了,你會不知道他到底來公司是幹什麼
今天你跟他交代請完成A,過一陣子他會做一個B給你
你覺得是基本的事情他拼命卡關問你
你覺得是要詢問的事情他自己靈機一動然後做一個垃圾給你
或是可能這個人常常不在狀況內到處打混摸魚
且可能還會自我感覺良好
理論上大家的目標應該都是要成為第一類人
第一種人很聰明可以完成複雜的事情
這種工程師在有正常升遷管道的公司應該可以爬得很快
但事實上大部分的人應該都是會屬於第二類或第三類的人
(就算在大公司強者如雲的地方應該也是這樣
或是他們的第二類人在其他地方就已經是強者了)
或是他們的第二類人在其他地方就已經是強者了)
這裡就要提到本篇主題,我老闆跟我分享的管理哲學
他覺得你的團隊不可避免的一定會是混雜的狀況
該如何好好運用所有人才是決定你的管理能力好壞的點
並且一個團隊的好壞
並不是取決於最強的那個人有多強
而是最弱的那個人有多弱
我覺得還蠻有啟發性的
畢竟一個Project 複雜的事情其實只要少部分的人去完成就好了
例如設計程式架構,可擴充性
或是說正夯的AI 所用的 Algorithm, Model
也是少部分的 PHD 去搞就好了
剩下的人就是要完成實作或是
Monitoring Tool, Clean Data,Saving or Parsing Data 之類的事情
所以假如團隊裡一直有一個人狂拖後腿
無法好好完成真正實作以及維護系統的工具
那整體效率可定是大幅降低了
訂閱:
意見 (Atom)