close
文章出處

系統復雜度,是伴隨著系統的不斷進化逐漸產生的,事情的開始都是美好的。

系統的進化是件很有意思的事,不在這個行業的人不理解他們每天要用的各種軟件為何這么復雜,需要這么多的工程師沒日沒夜的加班。所以在知乎上就有了這種問題:

“為什么很多看起來不是很復雜的網站,比如 Facebook 需要大量頂尖高手來開發?”
參看網址:https://www.zhihu.com/question/20303645

前淘寶員工,《淘寶這十年》的作者子柳還在這個問題后面后面做了挺通俗的解釋。在他的答案后還有挺多答案。略過這些長篇文章的專業解釋,結論其實就是事情做大了,很多之前你認為不是問題的東西都成了問題。

作為實際參與開發IT系統的人,很多程序員有一種傾向,喜歡一切盡在掌握中的感覺。如果理解不了,參考一下時下流行的工匠精神,百科對其的定義是:

工匠們喜歡不斷雕琢自己的產品,不斷改善自己的工藝,享受著產品在雙手中升華的過程。工匠們對細節有很高要求,追求完美和極致,對精品有著執著的堅持和追求,把品質從99%提高到99.99%,其利雖微,卻長久造福于世。

技術人員往往要在實際工作中能否徹底貫徹自己對于標準的要求進行不斷地平衡,在各種工期倒排的惡劣情況下,還能不能維持對于高品質代碼的追求,還有幾天就是deadline了,測試代碼還要不要寫了,測試的覆蓋度能不能達到,用戶看不見的地方能不能做到更好。這種問題并不是軟件行業的專利,我們每天都會遇到。比如廚房里的員工有沒有嚴格遵守衛生的規章,4S店的維修技師有沒有按照廠家的規定完整的做了每一道檢查,保潔阿姨有沒有清理了所有的衛生死角,以上描述的行為最終都指向專業素質-職業道德,而在中國很多行業監管缺失的情況下演變成了看良心,靠宗教上的理念讓人相信下地獄,這里就不展開了,法律與道德還是留給社會學者去研究吧。

最初的軟件系統開始都沒有那么復雜,一開始都是簡單的。一個有幸能存活超過一年的系統,如果恰好又迎來用戶的爆發性增長,企業經營者與產品經理就會提出更多的想法讓軟件往預測的道路上走。這時有可能原來為10W用戶設計的用戶表就不能支撐了,要在業務爆發到500W用戶的時候依然能保證不算太差的登錄體驗,偶爾創業公司并沒準備好遇見到這種情況;如果業務線性增長對于技術人員倒是件好事,技術負責人能知道何時能遇到瓶頸,留給自己的時間窗還有多久,并開始進行合理的人才儲備和技術儲備,好吧,其實還是人才儲備,東西都是人做的。

盡管如此,小而美的系統仍然是厭倦了大公司各種復雜系統,流程,部門的開發者的最愛,系統的每一塊代碼都知道是用來做什么的,出了問題馬上就能推測出是在哪里出的問題。這只是個理想情況,當引以為傲的系統運行了以年為單位后,這個循環又開始了,后來者又開始往那個曾經小而美的系統上吐口水了。


文章來自微信平臺「麥芽面包」
微信公眾號「darkjune_think」
轉載請注明。
如果覺得文章有趣,微信掃二維碼關注我


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()