前端工程師懂設計對工作是否有用?

今天在微博與 @年輕的蛋黃醬(假阿當) 爭辯這個話題:

這樣的前端和工廠的機器人有何區別?前端的... 來自SuneBear

最終並沒有得到一個滿意的結論,並且有了新的疑惑:

1. 前端工程師除了軟體工程外還應該懂什麼?

2. 什麼樣的前端工程師才能稱為「成熟專業」,用什麼標準來評定?

3. 專業的前端工程師的「職能範圍」是?

4. 只靠軟體工程的知識就能完全搞懂 Chromium/WebKit 嗎?

5. 只學工作中用到的知識並互不干擾的工作流方式具有普適性嗎?

6. 一切都圍繞當前工作內容考慮的工程師是不是自我設限?


作為一個開發者,一個程序員,一個前端,懂(界面)設計對工作有沒有好處?我們舉個例子。

昨天買了一隻口紅送給老婆,她說這隻口紅買的「有品味」。我跟她說,從某種程度上來說對於一個商品要達到「有品味」很簡單,只要做到兩點:一是選擇包裝好看的;一是選擇貴的。好看是主觀的好看,而貴基本上是市場選擇的結果。

為什麼會舉這個例子?因為雖然我第一次買,而且沒有買妹妹常用的 YSL,同事介紹的 Chanel 或者 Dior,但評價卻不錯。如果美的欣賞達到一定水平,主觀選擇會帶來很大的加分,比如我選擇這個口紅很大程度是因為它用真皮小羊皮,設計很不錯,同樣價格的像嬌蘭就沒有這麼好看。

關注「好看」對我的生活看起來並沒有直接的影響,就像懂設計看起來對前端開發並沒有直接的影響。但事實卻影響著日常生活的各種決定。比如 Macbook、比如洗衣機、又比如書房的裝修對傢具的選擇。這裡不一一舉例。拿 UI ( User Interface ) 設計來說,對於前端工程師來說,通常有兩方面特別需要關註:好看、好用。好看因人而異,甚至有時候需要有獨特口味的人做專制的選擇,比如你上游是 Design Team,那麼如果說服不了他們,最好是相信他們,而如果上游沒有,那麼一個 UI 好不好看完全在於你(像開源軟體,一般我會選擇好看的),不懂設計的人很難做出很好的對 UI 有要求的開源軟體;而好用也很重要,而且必須懂,比如要知道如何「更快」「更流暢」「用戶少做一步」等,容易量化,所以容易改進。

如果不懂設計,在前端這個行業,很有可能發生的事是:來一個需求做一個需求,並且覺得沒完沒了;沒有參與感,沒有話語權,並不覺得在改變點什麼;作品一成不變,很難有觸動和改變;隨時可被替換;一旦有機會負責一個完整的面向用戶的項目,會做的非常糟糕;等等。對於一個非常希望幫助用戶「生活的更簡單」的工程師來說,這是非常恐怖的,或者說這應該是開發一個無思想的機器人來做的。

所以怎麼說呢?抱著「懂設計無用」思想的同學,也許... 這是適合你的吧。反正我覺得懂設計,挺好的,不止對於工作,對於日常生活也是。


就題主標題面言,懂設計對前端工作當然有幫助了。對於題主裡面的一些問題小生也無法回答,怕造成誤導。

就我個人而言,前端有很多事情可以做:

  • 初級點的,就是做做頁面,psd轉換成web頁面
  • 中級點的,除了做web頁面,會考慮周邊的一些,比如性能,用戶體驗等
  • 高級點的會考慮工程化的一些事項,這樣或許就是大家所說的前端工程師吧(在下是還沒達到這個級別)

當然,周邊還有很多有意思的東西,不仿自己去體會。或者找到自己做前端的初心,至於別人怎麼說,並不太重要,重要的是自己想要什麼?


跟UI妹子聊的到一塊,人家覺得你懂她,看著你的代碼,雖然不知道在寫些什麼感覺好厲害的樣子,完了一群程序猿虎視眈眈地盯著你。就這樣吧。


這裡我贊同 @高山垚 的結論。

就我從業經驗而言,設計並不僅僅是視覺設計,更是交互設計。

  • 如果是給不同的平台做app,是否有遵循各個平台的設計準則?

  • 如果在準則之上有創新,是否是畫蛇添足的設計?

  • 做web app的時候是否有違背HTML5準則的設計?

  • 是否對某些設計的實現會造成額外的性能損耗?

  • 是否針對觸屏有優化和調整?

就以上這些已經要求設計師具備一定工程師水平,或者工程師具備一定設計水平。如果雙方技能沒有重疊之處,那有可能在開會時候會造成雞同鴨講的後果,最後一定影響項目。

就我們公司那給設計稿從不標註的UI水平,如果沒有設計水平如何和他們撕逼?


前端本來也有挺多方向,我覺得考慮與設計對接的主要是頁面重構。

在騰訊的話,頁面重構是放在設計師方向,有設計師頭銜的,某種程度上可以說對他們來說設計思維比工程師思維重要。

總的來說,現在真的在網頁設計方向非常精通的設計師其實非常少,業界上也更多都是從平面設計或工業設計轉向到UI/UX的設計,說實話他們是需要一定的時間虛心學習才能逐漸上手網頁設計的,尤其是網頁上的UI設計。

頁面重構在設計方面其實有著很多優勢,因為只要有一定的審美,那麼頁面重構側的思路會更「接地氣」,也更了解很多網頁上應該要注意到的細節,更了解這個媒介里的各種新的可能性,以及如何做其中的權衡。

有這麼多設計師很可能做不好的事情,那麼我覺得如果真的想要做出更好的作品,現在只通過流程與溝通是很低效的,最好的方式就是設計師去學網頁這個媒介,或者是工程師去學設計思維參與設計過程。最近medium上也很多這樣的討論,一方面一群人覺得UI要去學代碼,另一方面則是覺得UI應該關注更廣泛的UX的方方面面。

總的來說,在一個領域去學習實際業務中會交叉的另一個領域,絕對是只有好處沒有壞處的。


所處環境不同會造成對某個問題看法也不同吧。針對我自己跟周圍人的情況,答案是沒什麼用,因為工作中都不用寫HTML跟CSS,跟設計師也幾乎沒什麼交點……


放兩張隨手google來的圖,數據不一定是最新的:

前端工程師的修鍊路線:

常見的Web開發者事業路線:

兩張圖想說兩點:

1. 前端工程師本身包含的內容已經是非常巨量的了,而且發展變化的速度還非常快。任何一個敢說精通所有圖裡內容的前端在公司里應該都是菊苣級別的了;

2. 可以看到Web Designer Developer在常見的事業路線里佔了一定的比例,說明這條路線確實有人願意選擇。但是從整體選擇的多樣化可以看到,這其實就是一個興趣問題。有用嗎?有用,必須嗎?不必須。

其實這個問題本身非常簡單,有用。但是題主微博里「這樣的前端和工廠的機器人有何區別?前端的本質就是實現設計稿嗎?難道不應該學習設計來更好地提高視覺與交互體驗?」這樣的觀點實在是非常狹隘。

前端的本質為什麼就不能是實現設計稿?Facebook的notification小紅點看起來多簡單啊?但是過於複雜龐大的頁面使得提示小紅點的狀態總是謎一樣的來來去去,最後逼出了React這麼一整個框架。你喜歡設計覺得有用可以自己學,但是你不喜歡或者不知道的事情,總是得有人去做的。

順口吐個槽,黑機器人什麼鬼……機器人要是那麼容易就能把設計變實現,就不能讓他們也畫幾張圖么


前端不懂設計最多就是個全棧工程師,前端懂設計可以成為爆棧工程師。


懂設計的前端,就能夠掌握更多的話語權嗎?

懂設計的前端,就一定能夠更好的與設計協作嗎?

懂設計的前端,就一定有品味嗎?

懂設計的前端,就一定能夠定製出合理的UI規範嗎?

事實證明,任何不建立在有較好的設計經驗、豐富的交互知識和協作溝通的基礎上,扯懂設計,就是瞎扯談。

所謂懂,更多的只是個人主觀意識上的爭辯,容易導致設計與前端溝通上互相輕視、互相扯皮的問題。

團隊協作更多的是建立在相互尊重的前提,設立規範。如樓上Azure 所說的配色/性能等規範。

懂設計的前端,更多意義是指工具使用(如PS/FW等)、交互和規範上的懂,也僅僅是在視覺上的感知能力上會比其他前端更強烈些。

只有極少數設計師真正的轉成前端,更多的只是泛泛的切圖仔


說實在的,我沒看懂你倆在討論啥,根本不在一個頻道上。

懂設計和懂這個設計對前端工作產生的影響是兩碼事。

1. 視覺設計和交互設計差別較大。

懂設計本身可能需要你有良好的審美和設計功力,能對某一設計風格提出自己的看法甚至自己修改。這個目前大部分前端工程師都不會,畢竟是「工程師」,所以基本都是偏向技術。但是懂得一些交互設計與前端之間的關係是有用的。比如:

2. 前端是最接近用戶的工程師。

前端工程師是連接設計和用戶之間的一個紐帶。所以要懂得設計對前端工作產生的影響。

  • 往大的說:如果是開發比較大的前端工程,前期最好跟設計師溝通好一套「設計標準」,這個會省去後面很多人力,減少大量重複勞動,對未來的開發工作奠定良好基礎。舉個例子,網站基準色的制定,按鈕規範,標題字體/大小標準等等。

  • 往小的說:如果開發某一次促銷活動頁面,設計師通常會設計出非常炫酷的頁面,這個頁面實現成本,可能的載入速度,可能導致的兼容性等等。

對於前端工程師來說,必須要懂得設計對你工作產生的影響!


圖片勝過千言萬語

哇哦~

突然感覺自己能做直播主播了呢~

我果然是全棧逗比程序員了呢~

然而並沒有什麼人關注這個回答 ~(●°u°●) 」


有用,特別是當公司設計師知道你懂設計之後,你在他們心中的形象就冉冉冉冉冉冉升起……

拋開大公司里非常專業設計師不談,大部分公司的設計師其實對於前端的理解是很淺的,而當你懂設計後,他們在遇到一些比較棘手的設計問題,可能會去找你尋求一個相對專業的想法,從前端的角度講這個設計稿是否好切或者有哪兒些不友好的地方,比較上進的設計師總希望自己設計出來的東西是專業的或變得更專業,就好比你了解些後台的數據操作方式,才能和後台寫好數據交互。

舉個PSD稿的例子,由於設計稿總會改多版,改多了有時圖個方便快捷,改顏色直接疊加就行了,但有的前端遇到下面這種情況還是會傻眼:「這個黑圖層是什麼?我要找黃圖層怎麼找?」

但是設計師的角度來看:沒毛病啊,顯示黃色正確啊……

技多不壓身 ~


這問題就跟前端工程師了解演算法對工作有幫助一樣吧,懂設計會讓你在頁面的重構時整體風格的把握的有很大幫助的。國外很多前端工程師都是自帶設計技能的哈哈~


艾瑪,我說這兩天怎麼噌噌漲粉,原來都從這兒來的。。。其實我是覺得吧,這世界上沒有什麼沒有絕對沒用的知識,就連大便怎麼才不能濺水這樣的知識都可以影響工作的心情,因此技多不壓身是肯定的。現在我也完善地描述了自己本來想表達的觀點,認為『前端工程師對於設計知識的依賴度是0』,這應該沒什麼爭議吧?我針對的是FE這個Title,如果有爭議的話可以舉一些沒有設計知識就絕對解釋或解決不了的前端問題的例子。

為什麼會說出『前端懂設計沒什麼用』這句話呢?因為我潛意識中非常不贊同一些人單獨把設計拿出來和前端綁定,我不認為它比其它方面的知識要特殊,卻總有人在提。對於周邊知識,有興趣人可以學,沒有興趣可以一丁點也不學,我把你花在學習設計方面的時間,全部投入到學習更感興趣的DB、編譯原理等事情上,不見得沒有學習設計的人對前端的理解深。這並不是自我設限,不能混淆概念,對於自我設限這件事我也是絕對反對的。另外更不贊同一些人覺得會用PS切圖或者玩溜了CSS和HTML所有特性就叫懂設計。我想對這兩個現象表達不滿,不想卻踩到了地雷~

我現在倒是覺得前端工程師懂話術和心理學也挺有用的,至少可以避免說出『前端懂設計沒什麼用』這種一杆子打死一票人的話。這句話就留著給想撕的人當一個沙袋打著玩兒吧~語文學的不好,請題主多多原諒~


假阿當是誰

有幫助


不懂設計能叫前端? 那叫 JavaScript 程序員吧?


人生懂做飯對活下去是否有用?

人生懂理財對活下去是否有用?

人生懂游泳對活下去是否有用?

人生懂望氣對活下去是否有用?

……more


看到這個問題真的是....心累...你要知道 前端的另一個代號 "大美工"。

去年面試,一個後端面試我前端,我稍微想突出下自己不僅能寫前端,在設計能力上也蠻突出的,於是我也拿了些設計作品過去給他看。最後他說我就是個美工...美工,,,,對...我就是個美工...而且是很大的那種。

「你好,我來面試前端」 "哦,美工啊" 我默默地拿起來40米的砍刀


不懂點設計怎麼和設計師撕逼呢(*^▽^*)


前端懂設計,交互,可以轉交互設計呀,或者轉產品︿( ̄︶ ̄)︿


推薦閱讀:

web前端開發工程師,年過30,崗位最多升到前端經理。如何規劃前景?
各位師兄師姐好,自學Web前端可以給點建議嗎?
關於網站前端開發在各個客戶端如何布局的問題?
為什麼前端不能一直做?難道要轉行??
非計算機專業,轉行做前端,入職準備?

TAG:前端開發 | 軟體工程 | 前端工程師 |