十年前剛入行的時候,作爲一名被agile剛洗腦的新兵,以爲本身彷彿掌握了什麼神兵祕器。你看,大家這裏那裏都是在作local optimization,你看你不懂什麼叫value driven吧,你作這些事情有什麼價值。回想起一副衆人皆醉我獨醒的神態,我也是醉了。架構
如今才發現除了少部分人真的是蠢的,是不知情的狀況下去作Local Optimization。更多人和組織的是在精明地去作Local Optimization的事情。而我也終於成爲了本身當年最討厭的那種人。運維
爲何Microservices那麼流行?不懷疑有的應用確實很複雜,確實須要拆開來管理複雜度。可是Microservices更重要的價值恐怕是可以創造更多的部門,創造更多的leader位置吧。當一個組織架構由於有head count,而不斷膨脹以後,沒有比打着Microservices的旗號創造崗位更得人心的事情了。爲何沒有怎麼據說過誰誰拆分過分了,須要整合一下Microservices的?爲何沒有據說過幾個遺留系統功能很是相似而被合併成一個的?不是由於這樣的事情不值得去作,而是由於它們是反人性的。拆分應用意味着分出更多的蛋糕給中層領導,合併應用意味着必然要動到誰的奶酪。對於一個小部門來講要作全局優化,意味着去挑戰全局的利益分配,躲起來本身作Local Optimization更可能是不得覺得之。測試
就一個普通的碼農來講,不多由於編碼問題而致使進度問題的。從大的方面來講,更多的問題來自於不合理的代碼架構。而挑戰代碼架構,也每每不是一個技術問題,而是一個切蛋糕和宗教信仰的問題。從小的方面來講,不外乎跨角色溝通的問題。需求不明確,測試作得很差,環境總有問題。可是一個有追求的碼農是真的作很差需求溝通,作很差測試,弄不環境麼?曾經覺得這是一個能力問題。如今發現這尼瑪是一個我的利益與公司利益對立的問題。從公司的角度來講,固然但願這些事情都有人去搞定,可是作爲一個有代碼寫的碼農願意去作運維麼?願意下一份工做變成運維或者運維開發麼?這個社會的職業發展通道使得我的被迫把我的利益至於公司利益之上,我就寫好個人代碼就行了,大家愛咋地咋地。哈,Local Optimization。優化
過去的人老是期盼國家可以有一個好皇帝。如今在公司裏就期盼公司是由一個超英明的CEO創建的。Local Optimization咱們都無能爲力,那些偉大的公司是如何避免這些問題的?哈,人家有超英明的CEO一手創建,從一開始就避免了這些問題。每一個人其實都是一個系統的一部分。今天你個人袖手旁觀,也是形成明日的局面的一份子。就好像革命同樣,每一個人都看着秋瑾們去流血,本身明哲保身,最終形成了社會的崩塌。編碼
人終究仍是自私的。我們嘛,無論那麼多了,有兩行代碼寫就行了。內部諮詢這種權責不對等的事情,期望委託給一個部門,一小部分只是領薪水過日子的人去作,沒有一點成功的但願。開發