你說前端不用瞭解業務?
前言
其實我的觀點一直都是程式設計師沒有前後端之分,專案才有前後端之分。我們可以看到很多優秀的前端都懂後端的,很多優秀的後端也對前端有所瞭解。
剛好我是個前端,經常被做後端朋友吐槽前端不懂業務,然後一直想寫點來吐槽下,其實懂不懂業務和前端後端沒關係,而是和你在在專案中所在位置和你在專案裡的用心程度有關。就我目前來說,每天的扯皮,在扯業務的比單純扯前端技術的多的多,對業務的瞭解也不比後端瞭解的少。
到底誰不瞭解業務?
說說我遇到的一種情況:
前後端沒分離的時候是這樣開發的:
產品互動下來,開發需要對每個前端邏輯理清楚,資料庫要怎麼設計,介面要怎麼設計,前端(其實是重構)只是實現ui設計的效果。
前後端分離經常出現的情況是:
一個專案啟動,產品給了互動,後端會說你把需要的介面列個文件給我,前端把介面列完,後端一個一個寫完,流程走通後發現缺胳膊少腿,然後介面添添補補,專案終於完工了。
這個過程後端都不考慮的業務的,業務都丟給前端和產品去考慮,後端甚至不管他給的介面用來幹嘛,反正提供給前端要的資料就可以了。
有的時候前端只是要一個欄位,後端把整個表都返回給前端,都不用考慮效能的。
所以這個時候出現的情況就是後端不太瞭解業務。懂不懂業務和是前端後端沒什麼關係。
一個專案最好只有一個負責人
在實際專案中參與前後端分離專案已經有好幾年了,在我這幾年實際參與的專案總結出一個小規律:如果一個專案中,前端中沒有懂後端的人,後端中沒有懂前端的人,專案出問題的可能性會大很多。
前後端分離之後,普遍出現這樣一種情況,前端有個負責人,後端有個負責人。這個導致的結果就是,後端負責人很多不會考慮前端的開發體驗,前端會各種吐槽後端這不規範,那不規範,導致扯不完的皮。
在一個專案中必須有個leader,而且是唯一的leader,前後端分離不是一個leader分離出兩個leader。
前後端區別?
個人覺得本來沒多大區別的,被大家搞得區別很大。職業規劃本來都一樣: 碼農 -> 技術主管 -> 業務主管/資深工程師 -> CTO/CEO。
但實際情況多是一個公司做好後面後端的話語權會越來越大,畢竟資料庫在人家手上,然後導致前端會顯得不那麼重要。如果你還是在一家不重視使用者體驗的公司,那前端只是實現效果的重複勞動者而已。
自我感知下來,我做後端會比做前端更加仔細謹慎;做前端的時候對產品的感覺更深,再體驗上思考的更多,和產品的溝通會更多,這是做前端比較能找到成就感的地方。
解決方案
我覺得可以試試輪崗