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