一些沒有錯誤的原因
之前寫了一次《我所熟知的兩種愚昧》,這大概可以被認為是這篇文章的精神續篇。
今天早上我說
感覺我還是涂樣啊。一邊說讓你搞技術,一邊自己上線把服務器搞掛掉然后讓你來擦屁股;一邊要你全力開發,一邊一天打斷你個十幾次讓你寫不了代碼;一邊說不搞傳統公司一套,一邊用上線時間替代考勤時間,事情不上敏捷排期,想事起來大半夜來你個電話;一邊把說著自己看不起的公司,一邊把自己看不起的一套全做一遍。我真的想不懂有些人天天想些什么。
原來就是想發發牢騷,誰知道搞出 7 家公司來問我要不要去他們公司。當然,一事歸一事,我最近倒是對行業風氣感到十分堪憂。主要是這個膨脹的行業,每個人都覺得自己能做出點什么,雖然并沒有什么所作所為,但在讀了一些雞湯之后,總覺得自己大有作為。這世界上自然無法去評價一本書、一個人或者一件事本身是錯誤的,自然我只能說這些人是沒有錯誤的。于是我今天只能說得罪你們一下,畢竟我是身經百戰,見得多了。
一些沒有錯誤的事
上次說的時候說有一些人買很多書放在書柜里,束之高閣什么都不看,說這是葉公子高好龍。不過我現在倒是還發現一些人,他們買回來雞湯書確實看,只是看得方式非常奇怪。我覺得稍有技術水平的人都應該把《黑客與畫家》當小說看,把《代碼大全》當管理類書籍看。但確實有一些人,把這書當技術書籍來看。當然,這書沒法當技術書籍來看,因為這書只有技術名詞,并不真的有技術內容在里面???
沒關系,對于他們來說名詞是他們技術生涯中最重要的東西。我們要實行敏捷的開發工作流,要通過建立 TDD 開發來提高工作效率和工程的魯棒性。至于敏捷要做什么?TDD 要做什么?不知道,我也不要知道。如果下面完不成工期,就說:上次我不就和你說我們要敏捷開發了嗎?你現在腦子里想的應該是:去你媽的敏捷開發,這項目用的是人肉測試的能敏捷個鬼啊。但你不敢這么說,畢竟看著領導把這些詞都寫進報告里,老板看著非常高興,至于下面代碼寫成一坨什么樣的垃圾又怎么樣呢?雖然是開發背鍋,但開發你敢辭職嗎?他早就料你不敢了,而且就算你辭職了,他也早就準備好和老板的說辭,又有什么用。
以前以為這種風氣在一些國企很流行,誰知道現在創業公司里這種風也是越吹越大了。一方面是像風一樣吹過來的,另一方面則是創業公司里也在助長這種風氣。以前國企能有這種風氣,主要是領導又不懂技術,也沒有什么結果導向,誰能吹自然就成了評價標準。這幾年創業公司很大程度就是投資人也不關心你技術,反正錢多項目少,一定得把錢花出去才好??茨膫€老板能吹,下一輪及時退出就是了。
Paul Graham 有錯嗎?Paul Graham 就算明天邊抽大麻邊罵 Common Lisp 也想不到你們是這么理解他寫的書的。
除了書,一些人的言辭也很有意思。比如一個創業公司的老板告訴你:
確實是他寫的,只不過他在 bash 里敲了個 rails new
罷了。有錯嗎?沒有。只是第二行代碼開始就和他沒關系了。他確實沒說公司的早期技術是他負責的,但是他讓你感到了錯覺,這公司早期技術連老板都親自參與,是一家技術驅動的可靠公司。然而你真的看了才發現,狗日的技術驅動,就跟個密集勞力的工廠似的。沒有人在騙你,只是在誤導你。至于這種誤導是有意還是無意的,那就不好揣測了。
如此類似的還有某人說:
因為全棧并沒有標準來界定,你就算前端后端都只會寫個 Hello World 也沒有人敢否定你是全棧工程師啊。至于全棧工程師是把前后端架構都有著較為清晰的認知和理解,能夠很好把握整個項目的人;還是只是會前端糊糊墻,后端糊糊屎,就真的沒有人知道了。現在一些 PM 也說自己能寫代碼,真的寫的不錯的代碼有,problem maker 的也有。又如何,又沒人真拉著產品上去寫代碼。
說這些話的人本身有錯嗎?你說不上他們錯,你不能把一個道德上衡量和人類語言固有的缺點來攻擊一個人吧。
一些公司和你介紹說,我們用先進的技術架構,我們用 Rails ;用 Vue;用 React;用 Ansible;用 Git,反正啥流行啥都用了。結果你一看,沒有一個不把這框架用處墻上糊屎的感覺,你能有什么好說的嗎?
你用 Node.js 我可以給你寫出一坨耦合;你用 Rails 我可以給你寫出 model 巨嬰;你就算用 Java 我可以給你搞出混亂的組件關系。就算你沒踩到語言的坑,進去一看,這起變量名的英語水平和小布什似的。你能說什么不對嗎?并沒有人在欺騙你,只是他們在掩蓋不想讓你看到的東西,或者他們自己都沒有意識到這是問題。
世界上不存在任何一個自動化程序能阻止人類所有的破壞,如果有,那么這個自動化程序的復雜度不亞于能自動寫程序的程序。所以當別人和你說別人在用多先進的自動化,也不代表這個項目是質量優秀的。如果你假設它是優秀的,那么就是你自己的問題了。
一些沒有錯誤的結論
做事對自己負責,對社會負責。你又不是個政客,請只說自己真的熟悉的東西。Don't do evil.
但聽別人說話,就算別人不是在說謊,也不一定是真相。Don't stay foolish.