傲慢與偏見?設計師要會寫程式碼,那開發要會做設計咯~

  • 2019 年 10 月 7 日
  • 筆記

靜電說:之前寫過一篇名為《一像素的恩怨情仇》的文章,講述的是前端拒絕按照設計師給出的設計稿去復現線上版本,所引發出的一系列問題。 其實這篇文章是靜電在看了知乎上的一篇問答《開發人員拒絕按照UI標註還原設計》所做的一篇回應,當時在某酷發表後設計師的回饋非常熱烈,瀏覽量創歷史新高。

知乎的這篇原文在此網址:https://www.zhihu.com/question/25528485/answer/31664756 有興趣的設計師可以複製到瀏覽器翻翻看,相信你看完後會覺得底下的回答,特別是高贊的回答有多傲慢和可怕。

說起這個,是因為這兩天我在朋友圈裡的一個觀點,想表達的就是在初學UI設計的時候,不能捨本逐末,在設計都沒有學好,圖都做不好的情況下就去捨本逐末,追逐一些優先順序很低很低的東西。

但是不幸的是,樓很快就歪了,一位開發工程師發了長篇評論,大意就是說,未來設計師是一定要會前端程式碼的,畢竟前端這種「技術含量很低」的東西他們開發工程師看不上,不願意做。而且不掙錢,工資低。大牛開發工程師都去做「後端」開發了,就是底層啦,演算法之類的。(為了保持良好的討論氛圍和隱私,在這裡我就不去截圖了,如果你看到也請見諒,我們的討論始終是平和的。

要知道,拋出這樣的言論其實是挺拉仇恨的,你看不上的「技術含量低」的工作,就要拋給設計師去做。美其名曰是全棧設計師,emmmmm,那麼咱們來看看現在的設計師都要全能到什麼程度了:

第一,要會做UI介面;第二,要會做小廣告;第三,要會做公司宣傳冊;第四,要會幫老大做ppt美化;第五,還要會攝影;第六,要會各種畫畫手繪;第七,要會畫低保真原型還有交互稿;第八,要會C4D,否則設計不夠炫酷。如果這還能理解,算設計師本職工作的話。那後邊還要加上一條:設計師要把開發認為低端的程式碼工作也攬過來,寫html,寫各種前端。

嗯?我感覺在這樣下去設計師已經變成打雜的了,下一步應該是拿起掃帚當掃地大媽大爺,這樣才能體現出「全棧」的實力。來來,前邊這個大神腳抬一下,你工位很臟啊,跟豬窩一樣~ 誒誒~你這個模組語法錯了,會不會寫!要不讓大媽幫你?

當個設計師好累,有沒有~【哭~】

一. 移動端UI開發現狀分析

在十幾二十年前,那個網頁設計的時代,由於開發流程不完善,分工不明確,很多時候網頁設計是由開發工程師來完成的。這個很好理解,可以看看當時的網頁的簡陋程度。隨著技術的進步,我們的分工越來越細,在2006年靜電參加工作那年,我所在的中型公司已經有「前端開發工程師」這樣的職位了,他們主要負責將設計師產出的設計圖稿轉換成html程式碼,並附帶一部分js程式碼交互工作。那個時候,不少設計師其實是多少會一點html程式碼的,畢竟html程式碼並不是很難的內容,而且跟工作關係密切,這不難理解。

97年的蘋果網站

但隨著時間進程繼續往前發展,前端工程師這個職位已經在網頁設計時代成為互聯網公司的標配,設計師專註負責出圖和設計,前端工程師承擔起設計和程式碼的轉換,在一定意義上說,這對前端工程師的要求是越來越高的,單純的html只能是初級中的初級,如何配合開發人員完成程式碼嵌套,以及完成網頁端一些複雜的交互工作,更成為這個階段前端工程師的重點。另一個層面上,前端工程師需要對審美有涉獵,也需要對開發原理有了解,這樣他們才能更好的把設計稿還原出來,同時方便開發工程師的工作。因此,這是個不可或缺的職位,也是分工細化的必然結果。

隨著互聯網的技術越來越成熟,一部分設計師和前端工程師不滿足於當前的技能要求,開始相互滲透和補充,「全棧設計師」這樣的職位定義也開始流行起來。可以說真正完成,既能開發,又設計很出色的人,是極少的。這部分「全棧設計師」一大部分會偏重於某一個方向,比如開發,或者設計。比如你開發掌握的還算不錯,但是設計的話,基本就是七十多分的水準。反之亦然。可以說,能掌握到這種程度的從業者,其實水準已經相當不錯。但是我們要知道,術業有專攻,在各方面能全面發展的,只能是極少中的極少。

在當時倡導快速開發及萬眾創業的時代,不少標榜「全棧設計」的從業者在一些中小型公司非常受歡迎,原因很簡單,一個人就可以完成兩三個人的工作,用人成本上很經濟實惠。而且這部分公司對設計或者程式碼水準要求並不高,能做出來就好,及格就行。

在這個階段,傳統的網頁端設計逐漸開始向移動端設計方向發展。開發技術也產生了不少變化。從之前設計出圖-前端切圖生成html-套程式碼的方式,變成了設計師出UI設計稿-開發工程師(前端)復現介面-後端工程師開發底層邏輯等形式。

大家可以看到,之前門檻稍低的html已經逐漸式微。除非是全html5頁面,大部分的native APP則需要開發者使用Xcode或者java等開發環境來實現所謂「介面的復現」工作。這已經不是一個低門檻的工作,也是現在的UI設計師不太可能完成的。

二. 傲慢和偏見從何而來?

簡而言之,目前的應用開發流程大致為:設計出圖-開發工程師(前端)-開發工程師(後端)。在這樣的情況下,傲慢和偏見就來了,鄙視鏈也就來了。 後端開發工程師瞧不起前端復現介面的工程師,畢竟後端程式碼深奧無法捉摸,前端只需要利用後端提供的介面,把後端工程師的功能調用就可以。

加上工資等等的因素,越是看不見摸不著的,才越顯得高深。此時一部分後端開發工程師內心的魔鬼就跳出來了,看不起工作流程中的某些職位,覺得這些工作低端,他們不費吹灰之力就可以完成。

開發工程師鄙視鏈

這種低端的工作,怎麼能由自己做呢?乾脆推給設計師去做就好了啊。可是,經過我上面的分析,你覺得設計師能做嗎?調查100個設計師,估計99.99%的設計師寧願去學個C4D和插畫,也不願意去搞程式碼,畢竟不倫不類。Xcode什麼鬼?java什麼鬼?

因此,這種天真的,想當然的美好是不可能存在的。他們只能存在某些人的想當然之中。

三.職位的存在就是合理的

靜電的觀點一直是中立和溫和的。互聯網科技行業現在已經愈發成熟,每個職位的安排也是從產品開發能否順利完成的角度去考量的,不是從所謂的「低端」,「沒有技術含量」這樣的偏激思維去考量的。

況且,我認為在這個工作鏈條中,運營,產品,交互,設計,前端開發,後端開發,等等都是缺一不可的,不存在高低貴賤之分。如果拿這樣的觀點大張旗鼓的去宣傳,我只能說這個人「情商」需要加強一點了。 你會在你們公司對著設計說,寫前端程式碼這種沒有技術含量的工作是你設計的工作,不是我們「高貴」的後端開發的嗎? 你能對著一個運營或者銷售同事說,你們這些職位沒有技術含量,低端,lowB?這個時候其實已經無關乎技術了,情商似乎更重要?

突然就想發這張圖了~

職業為什麼要分出貴賤?舉個例子,在建築行業,建築設計師設計了一棟超級炫酷的建築,一線工程師和工人把他們建造和復現出來。你能說一線工程師和工人沒有技術含量?難道房子建造出來全是「建築設計師」的功勞?

我想說,每個行業和職位都有他的專業度和難點,不要覺得他們看起來很簡單,就去瞧不起或者鄙視人家。這隻能說明自己見的太少。靜電認識很多位在前端開發上造詣很深厚的開發工程師,大多謙虛低調。因為他們知道,前端不是隨便調用個Ajax介面就合格的。有些大神甚至可以編寫出「星際爭霸」的網頁版遊戲。有些甚至可以使用前端技術在瀏覽器上玩出花,開發出讓人驚嘆的應用,這就是前端的魅力。

其實我想表達的是,不要隨意輕視每個職位。作為專業技術人員,更應該跳脫出那種傲慢的心態,擺脫那種世界沒了我就無法運轉的態度。多去體驗下不同的人和事物,讓自己的心態更加平和謙遜。這樣才能在自己的職位上發揮出更大的優勢。

在這裡還是想再嘮叨下T型人才理論,一個人大致分為兩個層面,廣度和深度。不同的加點會對自身產生影響。

一般來說,遵循3:7分配是比較合理的,如下圖:

在這裡理論里,還有一種失衡態,第一種平庸,而後邊兩種都很可怕,片面追求某一個維度而忽略了其它維度對自身帶來的影響。這兩種狀態產生的從業者,要麼是神,要麼是偏激的瘋子,或者耍嘴皮子的人。

所以,千萬不要做電影里毀滅世界的科學怪人啊~小時候,我們的願望大概會是:做個科學家,為人類做貢獻。但是千萬別成為一個走火入魔的科學家啊~

電影中的科學怪人真不少 主角拯救世界很忙

四.問題來了,設計師要會前端嗎?

要!非常必要!設計師有必要了解開發原理。請注意,在這裡不是讓設計師去寫程式碼,而是要懂得,這個東西是如何實現出來的。達到懂而不做的程度,是最理想的狀態。如今,每一個職位之間都會產生交叉和融合,在這個基礎上去談分工合作,效率會最大化。

互聯網行業中的任何職位的從業者,都應該有這樣的覺悟,就是你會去了解其它職位的工作內容和工作重心,這樣在溝通的時候更能用自己本職的技能來促進整個產品鏈條的運作。設計師是這樣,開發工程師也是這樣,試想,不懂審美的開發工程師,能復現出怎樣的UI設計稿?不懂開發或運營或設計的產品經理,能做出怎樣的優秀產品?

之前聽說過一個逸聞,被譽為產品經理的神級人物張小龍,會帶著他的團隊定期去深山「修鍊」。我想通過這種方式,一個人才能認清這樣一個道理:感受和體驗這個世界越多,自身就越謙卑,知道自己的渺小。在剛工作的時候,靜電也曾經偏執的認為,設計可以改變世界!後來,我發現這句話不太嚴謹,應該改成:設計確實可以改變世界,但是要和其它不做設計的小夥伴一起。

在這裡截圖靜電朋友圈的一些留言,觀點不辨不明,感謝各位小夥伴的發言(已盡最大程度做了馬賽克處理)。供大家感受和參考: