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