全棧工程師?給把瑞士軍刀你去砍鬼子好不好!?
注:本文來自Medium前三名推薦文章,發文時已經獲得高達2125個推薦,中文版由天地會珠海分舵編譯。全文對當今風靡業界的“全棧xx師“的說法給以抨擊,提出了自己獨到的觀點,並得到了一大幫追隨者的認同。詳情請檢視本文……
現在到處都在提出說自己公司誠招一個全棧xx師,比如,“誠聘若干可以進行編碼的全棧設計師“。如果你現在去Google下“一個設計師是否應該學習程式設計”(譯註:編譯的時候請換成英文:"should designers learn to code"),谷歌輕輕鬆鬆就能給你返回2500萬條結果。
坦白說,其實我並不反對一個設計師擁有編碼的能力。但是,我認為現在這種炙手可熱但人云亦云的說法存在問題,“我們需要可以進行編碼的全棧設計師/我們需要精通設計的全棧開發工程師“, 因為這個論調隱藏著一些潛在的嚴重問題。
如果作為一個產品設計團隊的老大,你又可以進行程式碼編寫(前臺和後臺)的話,我非常清楚這種技能組合是非常搶眼的。產品原型設計的能力,將設計原型通過程式碼實現出來的交叉學科能力,可以將最終的實現進行調優,並作為成品推向市場的能力,夢寐以求啊!
但是,作為一個設計師,我非常清楚這裡的邊界應該在哪裡,我不是開發工程師,我不會期望自己寫出成品級別,真正能推出市場進行量產的產品的程式碼。
現在這種硬性要求設計師必須要有編碼能力的說法,給人的一個感覺就是設計團隊和開發團隊本來就應該是融為一體,團隊中每個成員都是設計師和程式設計師的合體的感覺,一個所謂的“全棧網際網路怪獸”。
大哥,我們還是現實點吧。設計和開發(包括前端和後臺)都是非常專業的職業,每一個都是需要多年無數個小時的學習,需要多少年的錘鍊浸淫才能掌握好的。你現在卻動不動就想要公開招聘一個設計高手和開發高手合體的全才,你這不是在做白日夢是什麼。其實這才是我們真正需要的:一個可以設計出精美絕倫的產品的設計師,以及一個可以開發出無與倫比的產品的開發人員,且這兩人能夠無間合作。
那麼怎麼才能達成呢,這就需要一個關鍵的因素:同理心(empathy)。所以這裡我們更應該表達的意思是:我們需要招聘一個可以理解程式碼的設計師,或者,我們需要招聘一個可以理解設計的軟體開發工程師。
至於設計師需要理解程式碼的這個原因,跟開發工程師需要理解設計的原因是一樣的。並不是說需要一個工程師變成設計師,而是需要這個軟體工程師擁有能理解設計師的同理心,能夠用設計師的語言跟設計師打交道,來對為什麼設計師要如此設計的良苦用心有清晰的理解。
而這也是我們衝破資訊孤島很重要的一個方法,開啟設計師和開發工程師之間的話匣子,無間的進行合作溝通,這樣才能做出偉大的產品。但,千萬不要硬性要求他們都去掌握對方的全部技術,否則他們很有可能在自己的專業上都成為不了專家。
當一個人說他們公司需要的是“若干可以編碼的設計師”的時候,我腦海中想到的是他們需要的不是設計師,需要的是一把瑞士軍刀,集合螺絲刀、剪刀、小刀、牙籤、鋸子功能的那麼一把“刀”。
但,問題是瑞士軍刀看上去什麼功能都有,但是真要派到專業用場上的話卻沒有一樣行。你看過一個工匠拿著個瑞士軍刀來給你家的房子上螺絲鋸木頭做木工的嗎?你又是否有看到一個裁縫拿著把瑞士軍刀給你做衣服?或者你又是否看到一個大廚在把弄著個瑞士軍刀來給你切菜砍肉?
人家古惑仔都知道拿個彈簧刀西瓜刀什麼的出來闖江湖,而你卻要搞個瑞士軍刀來打天下?所以說,瑞士軍刀只能在一些很基本的場合可以派上用場,但是萬萬不能不能在大場面上將它拿出來替代掉專業的器材,不然會事倍功半,笑掉人大牙。也許偶爾拿出來充下場面還可以。
更糟糕的是,正因為它什麼都想做,導致我們都很難將之定義為一把“刀”了。你看,這不搞得成了個四不像嗎?人家庖丁解牛時候就沒有聽說過用的是瑞士軍刀;古人殺雞的時候也焉用牛刀;一個專業的刀客,用的絕對不是周星馳的那把殺豬刀。所以說,工欲善其事,必先利其器。同理,專業的團隊必然對自己的拿手武器有著特別的專長。
我就不希望我公司裡面的那些設計師們,消耗大量的時間去學習最新的跨瀏覽器CSS解決方案,或者去撓破腦袋學習javascript的閉包究竟是TMD的怎麼一回事。
反之亦然,我也不會希望我的開發工程師們,去花時間研究設計技術中的顏色理論是怎麼一回事;我希望我的設計師能花更多的時間去跟上最新的移動介面設計標準,以及學習最新的設計實踐技巧;我需要他們去花時間學習我們的使用者對設計的喜好,去挖掘哪些我們設計上還沒有滿足的那部分使用者;我需要他們關注在那些在設計上可以讓我們的產品做到最好的事情上面。當然,當中需要學習的一小部分就是去學習對程式碼進行理解,這樣他們才能更高效的,更有同理心的和開發團隊打成一片,共同成就一個偉大的產品團隊。
所以,現在外界所街知巷聞的要求招聘到可以像程式設計師一樣編寫程式碼的全棧設計師,其實說穿了只會把事情弄得越來越糟糕。其實這些人的腦袋是被驢踢了,不知道正是因為開發人員不是一個和專業設計師合體的人,他才能真正從使用者的角度出發來審視設計師們搞出來的設計是否真的是使用者想要的。
而對於設計師,他應該能對他的設計將會如何的被開發人員實現有所瞭解,如果還能自己編碼弄出個原型的話,獎賞,午飯加個雞腿!但是,我們要從內心裡放棄要求設計師必須也是一個程式設計師的這種觀念(以及給以設計師的壓力),同理,也不能非要將一個開發工程師變成開發和設計合體的超人。
能分身面面俱到樣樣精通的人應該有,但起碼我沒有在現實見到過。《西遊記》上倒是有看到過,但人家不是人,人家是猴子,叫孫猴子!
如果你能讓你的團隊成員們各自專注在自己所長的領域,同時又對合作團隊的領域有所理解以獲得足夠的同理心的話,這樣你就不需要再抱著打造一把瑞士軍刀的想法了。相反,你已經擁有了一幫有著各自的必殺技,而又能通力合作的團隊,這還不夠你所向披靡的嗎?
相關文章
- MySQL 瑞士軍刀MySql
- 瑞士軍刀redis - 慢查詢Redis
- 技術主管的瑞士軍刀
- 瑞士軍刀redis - 釋出訂閱Redis
- 瑞士軍刀redis-pipelineRedis
- mysql percona-toolkit 瑞士軍刀MySql
- Unix除錯的瑞士軍刀:lsof除錯
- 命令列工具中的瑞士軍刀 - tmux命令列UX
- Linux命令列裡的“瑞士軍刀”Linux命令列
- ComponentOne – 控制元件界的“瑞士軍刀”控制元件
- CSVKIT——處理csv檔案的瑞士軍刀
- 軟體開發中的“瑞士軍刀綜合徵”
- 軟體開發中的瑞士軍刀綜合症
- 瑞士軍刀 gout v0.0.5版本釋出Go
- 安全界瑞士軍刀--Netcat常用命令
- f-strings: Python字串處理的瑞士軍刀Python字串
- 開源的網路瑞士軍刀「GitHub 熱點速覽」Github
- 開發者的瑞士軍刀「GitHub 熱點速覽 v.22.04」Github
- Linux 網路工具中的瑞士軍刀 - socat & netcatLinux
- Linux Netcat命令:網路工具中的瑞士軍刀Linux
- Linux Netcat 命令——網路工具中的瑞士軍刀Linux
- AE指令碼Swiss Knife Mac 瑞士軍刀MG動畫製作外掛指令碼Mac動畫
- DevToys Mac程式設計師神器,號稱開發者的瑞士軍 刀devMacC程式程式設計師
- Reflect API:每個 JavaScript 開發人員都需要的瑞士軍刀APIJavaScript
- 開發者的瑞士軍刀!一款適用於開發者的工具集合!
- 程式設計師的瑞士軍刀DevToys推出vscode外掛程式設計師devVSCode
- 網路版“瑞士軍刀”!一個多功能的網路工具箱!
- 你要怎麼成為全棧工程師全棧工程師
- Linux網路命令必知必會之瑞士軍刀 nc(netcat)Linux
- 你對全棧工程師的理解是什麼?全棧工程師
- 教你成為全棧工程師(FullStackDeveloper)〇-什麼是全棧工程師全棧工程師Developer
- 我看全棧工程師全棧工程師
- 全棧工程師的思考全棧工程師
- 固態硬碟界的"瑞士軍刀":有這兩款工具箱軟體才安心硬碟
- 全棧工程師很難找?JNPF幫你分分鐘搞定!全棧工程師
- 你是否應該成為一名全棧工程師?全棧工程師
- 為什麼你應該先成為全棧工程師全棧工程師
- 全棧工程師技能圖譜全棧工程師