網(wǎng)上從來都不缺少“做技術(shù)還是做管理”的爭論,人們從各種角度來討論這個問題。在我看來,二者并沒有本質(zhì)的區(qū)別。技術(shù)和管理,根本就是一回事。
網(wǎng)上有很多管理“做技術(shù)還是做管理”的爭論。這里不討論其外在的影響(比如“錢途”,機會,或者面子),而是試圖說明,在本質(zhì)上,技術(shù)和管理是一碼事。能搞好技術(shù)就能做好管理。注意,這里說的是開發(fā)技術(shù),不是項目管理。
按照現(xiàn)代管理的理論,管理要做的就是:計劃,組織,協(xié)調(diào)和控制。對于一個給定的目標,先“計劃”怎么樣實現(xiàn)這個目標;然后“組織”一批人按照計劃去做這個事情;在做事情的過程中,會有一些沖突和事先沒有預(yù)料到的情況,這是需要進行“協(xié)調(diào)”;同樣,要“控制”事物的發(fā)展方向是向著既定目標前進的。
同樣的,一個開發(fā)人員的工作是:拿到需求(目標),對需求進行分析,由哪些需求點組成,怎么樣滿足需求(計劃);然后設(shè)計一堆“類”和“對象”,通過這些類和對象實行需求(組織);在運行時,對象可能會發(fā)生一些意外情況,要通過“動態(tài)模型”,“異常處理”等手段解決(協(xié)調(diào));為了保證代碼真的能夠滿足需求,還要進行測試,并根據(jù)測試結(jié)果對代碼進行修改(控制)。
還有更多的,細節(jié)上的相同之處,這里就不一一分析了。可見,技術(shù)和管理其實是一回事。其實,技術(shù)比管理更難一些,因為:
對技術(shù)人員來說,目標是不斷變化的(需求變更);
對技術(shù)人員來說,協(xié)調(diào)工作要在系統(tǒng)運行前就充分考慮,而系統(tǒng)一旦運行,就要能夠自動處理意外情況。
而管理比技術(shù)難的地方在于:
類和對象的行為是可以預(yù)期的,而人的行為是不可預(yù)期的。
本人的最新博客遷移到http://thinkinside.tk,使用GitHub Pages建立。我會陸續(xù)將所寫的文章遷移過去,并進行補充和修正,
歡迎過來圍觀。