首先:小公司為什麼會變大?
然後:在變大的過程中,發生了什麼?
繼續:為何大公司效率會低?
最後:為何大公司,快不起來了?
一、小公司為什麼會變大?
當然,通常只有業務發展良好的公司,才會變大。所以,最直接的原因是:活幹不完了,必須加人。
加了人之後,自然要派活。既然是派活,自然要有所分工。舉個簡單的例子:如果公司只有乙個程式設計師,那自然所有的活都是他幹。加了幾個人後,自然可以分前端、後端、dba、測試、運維...種種角色。
不同的工種,自然需要協作。開會、文件、上下級關係,自然也要逐步建立起來。這些,都可以認為是「合理的開銷」。
二、在變大的過程中,發生了什麼?
輔助性部門開始出現:人多了以後,需要專職的hr;占地廣了以後,需要專門的打掃、清潔人員;統一的後勤保障,也變成剛性需求;
協調性部門開始出現:pmo這樣的辦公室,用於協調多個專案;會議越來越多,需要有專門的協調會議室的部門;多個部門之間的矛盾,需要有乙個更高階的聯席會議進行協調;做事要有規範,專門制定流程規範的部門開始出現;
監察性部門開始出現:人越來越多,難免會混入壞人,所以要有「道德自律委員會」;事越來越多,難免會出紕漏,所以要有「質量保障委員會」;外部交易越來越多,難免會有風險,所以要有「合同風險審查委員會」;
競爭性部門開始出現:在某種管理思路的影響下,開始設立多個目標類似的部門,以期通過內部競爭,促進效率提公升;
這些部門,都沒有必要嗎?當然不是,老闆又不是傻子!
三、為何大公司,效率會低?
首先我們需要理解,怎麼算效率高?怎麼算效率低?同樣一件事情,如果很小,很簡單,往往小公司會做得更快,甚至更好;而大公司,則會做得更慢,甚至更差。
但是,如果是一件極其複雜的事情,小公司可能根本無法完成,大公司再慢,至少他們能搞定。
所以,我們的問題應該轉化為:「如果一件事情,原本可以又快又好的完成,為何大公司卻有那麼多浪費?」
根本原因在於:大公司的管理模式,不夠柔性化,不具備「伸縮性」。打個計算機伺服器的比方:「當訪問量增長的時候,我們可以不斷新增伺服器。但是,當訪問量下降的時候,大家都忘記把伺服器再撤下來了。」
四、為何大公司,快不起來了?
高大上意識,小事情往往也會大張旗鼓的去做。
風險意識,沒有人敢說:「某某流程,大多數時候並無必要」
參與意識,這件事怎麼能與我們部門無關呢?
自保意識,只要嚴格遵守流程,這個事情就算搞砸了,責任也不會在我身上。
歸根結底,是缺乏不斷改進的意識(或者換言之,公司大到某種程度,就算是想改進的人,也會面對深深的無力感)。
創業公司和大公司的差異
早晨起床後,吃個早飯我就來到了機房,這邊人不是很多。昨天買的9本書到了。有些書不是一段時間能看完的,有些書是需要多翻幾遍的。剛才在看黑客與畫家的第二章的時候,讓我看到了創業公司和網際網路公司的差異。在大公司裡,程式設計師被當做技工,職責就是將產品經理的 構想 翻譯成 這似乎是大公司的普遍情況。大公司...
「大公司」的安全問題
今天看到乙個漏洞,是關於乙個 大公司 網際網路公司,員工總數超過一千 某個功能存在水平許可權漏洞的問題,讓我對大公司的安全問題又有了新的想法 第一,專家型人物一般主要負責網路或者系統層面的漏洞,比如ddos,linux核心提權之類,常常不能有效地指導一線的開發人員。第二,網際網路業務要求有很快的開發...
虛函式效率低的原因
設想一下,如果說不是虛函式,那麼在編譯時期,其相對位址是確定的,編譯器可以直接生成jmp invoke指令 如果是虛函式,多出來的一次查詢vtable所帶來的開銷,倒是次要的,關鍵在於,這個函式位址是動態的,譬如 取到的位址在eax裡,則在call eax之後的 那些已經被預取進入流水線的所有指令都...