最近社會上流傳了一種非常不好的風氣,似乎一個畢業生刷LeeCode(是這麼拼麼)就能證明他努力了,卻絲毫不考慮一件事:一個問題有N種解法,在不同的要求和不同的場合下理應採用不同的解決方案,而不是所謂的最優解。這個世界上根本沒有最優解。
不同的架構,不同的底層實現,不同的業務場景,誰能證明自己用的就是最優的?
這是其一。
我個人非常理解PM想要快速上線,想要實現極好的用戶體驗的迫切。
所以,我會在時間緊迫度、空間佔用程度(因網絡速度而定),等多重複雜因素前提下找到折衷點,並採用一套完全可行且效果一致的解決方案去執行。
曾有人問我,你知道HTTP有幾次握手?
乍看這個問題似乎考驗了底層理解能力,事實上,他有幾次握手跟我有什麼關係?我瞭解了他就能少握一次手嗎?就算他握100次手我能阻止的了嗎?這並不應該是我關注的問題。我要關注的問題是,在現有他3次握手的不可變前提條件下,我如何做到代碼體量小、傳輸速度快,並且能保證我的安全性符合要求。
似乎很多人不能認同我的這套論述。
其實事實上,世界上本就沒什麼好壞而言,你刷了題,只能說明你爲了找工作很努力。你不刷題,卻做了更多的市場調研,也只能說明你爲了工作很努力。
換個角度換個思路,如何用技術讓業務產生價值,纔是真正學技術研究技術的本因啊!
單純從業務角度出發,PM關心你用的是什麼技術嘛?用戶關心你用的是什麼技術嘛?
都不!
所以,請技術人員擺正自己的位置,不要走互聯網的“應試教育”。
記:寫給自己的警示。