Google 的 UX Engineer( 使用者經驗工程師 )在做什麼?如何成為 UX Engineer?

現任 Google UXE 告訴你:超少人知道的「既做 UX 也寫程式」實際工作內容、面試過程與暗黑心得(!?)

Mimin(zuku)
Jan 5 · 18 min read
Image for post
Image for post
Photo extracted from Yahoo! Finance

哈囉大家好,我是 Mimin,在 Google 擔任 UX engineer ( 使用者經驗工程師 )。UX engineer 是正式存在但很少人聽過的職位( 就算是 Google 內部也鮮為人知 ),網路上的相關資訊也不多。常常有人問我「所以 UX engineer 到底是啥?除了『既做 UX 也寫程式』,應該還有很多有趣的東西可以講吧?」

因此,這篇文章就來一探這些有趣的東西啦!在這篇文章裡,我會…

  • 介紹 Google 的 UX engineer 職位
  • 說明面試 Google 的 UX engineer 要具備什麼技能
  • 聊一下個人的暗黑心得及常見問答

( 當然,這篇文章全部都是我的個人意見,不代表任何 Google 官方立場。)

有沒有很期待呢!😍

不過,在開始前,先讓我自己賣瓜一下:

在成為 UX engineer 之前,我也是個平凡的 software engineer,待過小至十人的新創,也蹲過大至十萬人的跨國企業;做過後端,做過 web 前端,當然也做過全端——從決定顯示給使用者看的字的大小顏色,到去 AWS 看為什麼 ELB 會掉 request ,或是為什麼自己 compile 的 memcached 會造成 kernel panic,我都做過。但一直以來…

比起

調一下這個 linux 參數,就可以提升系統的 throughput

改一下這個資料結構,就可以在這個 node 多塞一個 worker

我更喜歡著手

先載入一半的 UI,然後加入 loading 動畫,使用者就會覺得這個 app 變快

改變一下選單的資訊架構,使用者就可以更快抵達目的地

這類的問題。

( 噢,而且我從小到大都一直在做個人網站,資訊工程系的無聊作業我也都會額外做出不無聊的 GUI 來喔!)

因此,在我還是 software engineer 時,我也有考慮過是否要直接轉職當 UX designer。不過,因緣際會之下,我得知了 UX engineer 這職位,巧妙地結合我過去的軟體工程經驗及我對使用者經驗的興趣;上工之後,也很開心實際的工作內容就如預期地既好玩又有挑戰性。

真的是太棒了啊~~!

Image for post
Image for post
I love being a UX engineer! Photo by Konstantin Planinski on Unsplash

好啦,所以 UX Engineer 到底是什麼?

傳統上,軟體開發流程是「設計師弄好設計,交給工程師實作;工程師在實作的時候,設計師去做下一階段的設計」。這幾年來,大家發現這種開發流程不夠用:工程師和設計師雞同鴨講,沒有共通的語言;設計師不知道工程師的能力範圍到哪;工程師遇到問題需要設計師解決,但設計師已經忘記他兩個月前的決策過程; ^!%O*Q#&@ …

在職務分工明確的大企業下,這問題就更嚴重了。因此,這幾年來,會寫程式的設計師、或會做設計的工程師,因為擁有兩邊的技能,就成為炙手可熱的人才——

這就是 UX engineer:

我們身為 UX engineer ,既知道怎樣做好 UX,也知道正確的軟體工程原則。我們既講工程師語言,也講設計師語言。我們這一秒開 Sketch 拉 UI,下一秒就在 debug JavaScript timing issue;這一秒在想 prototype 的 user study 要怎麼進行,下一秒就在處理剛刻好的畫面裡莫名出現的橫向捲軸。

在 Google,UX engineer 根據實際上的職務內容,又分了兩種次職位( 稱作「lens」),有:

  • Design lens
  • Eng lens ( 又稱 Front-end lens)

同時,也分各種平台,如 Web、iOS、Android、VR/AR。

平台的差別,各位讀者大概已經猜到了,因此以下就讓我來介紹 Eng lens 跟 Design lens 的差別囉。

在開始之前,請先看看這張圖( 並忽略我潦草的筆跡 😂 ):

Image for post
Image for post
Design-lens UX engineer 做的事情更接近 UX designer,Eng-lens UX engineer 做的事情更接近 software engineer。

Design-Lens UX Engineer

Design-lens UX engineer 做的事情更接近 UX designer。只是 UX designer 用各種設計工具( Sketch、Figma、… )做設計,而 Design-lens UXE 寫程式來做設計。

具體來說,Design-lens UXE 寫程式製作 prototype,來解決其他設計媒介無法解決的產品設計問題。

例如,今天團隊想了一個新功能,然後發現…

  • 它需要一個新的 API,且後端工程師要一個月才能弄出來
  • …這功能聽起來很花後端工程師成本
  • 那我們要先做 user study 了解這個功能帶給使用者的價值後,才能決定要不要花那個後端工程師成本
  • 而且這功能很複雜;單純的「按到底」( click-through,如 InVision 或 Adobe XD )prototype 無法忠實呈現它帶給使用者的 mental load
  • 可是我們沒有那個 API 的話,就沒辦法真的刻這個功能來做 user study
  • ( 死結!️🤦‍♀️ )

這個時候,Design-lens UXE 就派上用場了。他們會跟 researcher 討論,在沒有後端 API 的情況下,要怎麼寫程式做 prototype 才能達成高品質的 user study,驗證這個新功能的價值。

另外,Design-lens UXE 在要取得 stakeholder buy-in 時也會發揮用途。類似上面的例子,許多大公司的產品,只有用程式寫出來的 prototype 才能表達複雜的使用者互動及資訊架構的流動;stakeholder 們也必須親手試用這樣的 prototype 才能判斷新產品的價值。此時,就更能應證 IDEO 內部很有名的一句話:“ A prototype is worth a thousand meetings. ”

不管是哪種情況,Design-lens UXE 要寫的「程式」種類及規模五花八門:可能是一個全新的 app,也可能是修改現有的 app;可能是用前端的 framework 來模擬新的後端行為,也可能要自己開一個新的 Google App Engine 來實作完整的 tech stack。無論如何,只要能快速回答產品設計問題就好。

為了能快速回答產品設計問題,Design-lens UXE 也要能迅速釐清問題的本質,做出妥善的判斷。例如,或許某 user study 的 prototype,就算使用假資料,且忽略使用者網路不穩定的情況,依然可以達成 user study 的目的。總之,為了節省製作 prototype 所需的時間,Design-lens UXE 就會做些( 合理的 )偷吃步。

對了,Design-lens UXE 大多是編制在 UX team 裡面。看完上面的描述,應該不意外吧~

Eng-Lens UX Engineer

Eng-lens UXE 做的事情更接近 software engineer。不過,他們比一般的 software engineer 更了解 UX,可以決定一些 design spec 沒注意到的細節。( 例如,UI 內的字串超過容器的大小時,決定是否將容器拓寬,或不拓寬而使用刪節號。)

Eng-lens UXE 又分為兩種:

  • 做面對消費者的產品的 UX engineer:他們就跟 software engineer 一樣寫 production code,不過專注在 UI 方面,而非後端程式。
  • 做內部的 GUI 工具的 UX engineer:因為內部工具的人力資源需求特性,用 UX engineer 可以以一擋十,減少 designer 跟 software engineer 溝通的額外成本。

不論是做面對消費者的產品,或做內部的 GUI 工具,因為 Eng-lens UXE 都會直接影響到上萬甚至上億人,所以他們比 Design-lens UXE 更注重 code review、testing、code quality 等等其他軟體工程原則。也因此,Eng-lens UXE 大多是編制在 engineering team 裡面。

整體來說,UX Engineer 的價值,是 Eng lens 和 Design lens 的聯集:我們的守備範圍廣闊,不論是 UX designer、software engineer、UX researcher、product manager 或是 program manager,我們都幫得上忙:我們透過 prototype 釐清產品設計問題;我們協助 UX researcher 執行高品質的 user study;我們讓 design team 知道 engineering team 的技術極限在哪,免得做出不切實際的設計;我們在 engineering team 有設計問題時,使用我們的直覺與訓練直接修改程式;另外,因為我們熟稔 UX 跟 engineering 兩邊,有我們出馬,program manager 覺得時程超有保障。

對了,在 Google,這兩個 lens 並非涇渭分明;如果有 UX engineer 想要換 lens,不需要任何人資的程序,只要主管自行確認即可。( 像我四個月前才剛從 Eng lens 換成 Design lens 喔!)

那…想成為 UX Engineer 要注意什麼呢?

基本功

這份工作在 Google 依然算是 engineering 職位。我們還是期待 UX engineer 有基本的資料結構與演算法概念( 例如,知道為什麼 O(n^2)O(2^n) 好,知道什麼時候 SetArray 好 )。當然,我們也期待 UX engineer 熟悉職位要求的平台( Web、iOS、Android、VR/AR )的底層特性,而不受制於特定的 framework。

不過,我們不要求 UX engineer 手刻艱難的資料結構或演算法( 例如紅黑樹 )。( 但我個人覺得要會解 invert binary tree,畢竟…在做 UI 的時候常常需要用到各種 data transformation。)

去除了艱澀的資料結構跟演算法,相對來說,我們希望應徵者有足夠的 UX 知識,例如 usability evaluation heuristics 啦,design process 啦;以及有相當水準的設計思維,能分辨不同設計的優劣取捨。

我適合當 UX Engineer 嗎?

如果你目前是 front-end software engineer,然後你對「為什麼這個畫面加個『載入中』的動畫,我感覺載入速度就變快了?」「為什麼這個動畫跟那個動畫長度都是 200ms,但那個動畫好像速度比較快?」「為什麼這個東西要放這裡不放那裡?」有興趣,那麼你很適合來挑戰當 UX engineer!

如果你目前是會寫程式的 UX designer,然後你對「這程式這樣寫跟那樣寫的效果一樣,可是那樣寫的話我三個月後還看得懂我在寫什麼欸!」「有人說想要使用我這段程式,我來試試看怎樣把它包裝得讓別人也可以輕鬆使用!」「我想要把我的設計接上 production data 來看看遇到各種 edge case 時會出什麼情況!」有興趣,那麼你也很適合來挑戰當 UX engineer!

雖然有些人會覺得只有獨角獸才能當 UX engineer,但我覺得,如果你是 T 形人才,橫的是 design & technology,直的是 software engineering know-how,就已經非常符合 UX engineer 所要的特質了。

Image for post
Image for post
獨角獸:嗯?誰叫我? Photo by James Lee on Unsplash

面試流程

Eng lens 和 Design lens 面試的重點有些微的差距( 例如,Eng lens 可能會多問到 production best practice ),但流程跟關卡一樣。

  1. 跟 recruiter 電話聊聊,確認要投哪個平台跟哪個 lens
  2. 跟 UX engineer 電話面試,考 UX 也考寫程式
  3. 回家作業:給你一個 mockup,請你刻 UI 出來
  4. Onsite
  5. 幸運拿到 offer 之後,就跟一般 Google 面試流程一樣囉

這邊特別提一下回家作業跟 onsite 的部分:

電話面試通過了以後,就要做回家作業,題目大多是給你 mock 圖檔要你刻出 UI 。因此,你的任務除了刻 UI 以外,還要自行決定所有的互動設計細節。作業期限一週,交作業時需要提供原始程式碼;根據平台不同,也會要你提供成品的 hosting URL、APK、或操作影片…等等。另外也要提供說明文件。

Onsite 總共有四到五關( 每種關卡的順序及數量不定 ):

  • UX concepts:考你的 UX 知識。這關通常由 designer 擔任面試官;偶爾也會遇到 researcher 擔任面試官。
  • UX engineering knowledge:考你的平台所需的實作知識。這關由 UX engineer 擔任面試官。
  • General coding ability:安安你有聽過刷題嗎?大概是介於 easy 到 medium 之間。這關通常由 software engineer 擔任面試官。

如果面試 Senior 以上,就會和面試 software engineer 職位一樣考 system design。

此外 onsite 時也會問回家作業相關的問題,設計或工程方面都會問。

Image for post
Image for post
感覺寫面試就可以另外寫一大篇啦! Photo by Johanna Buguet on Unsplash

平衡報導:UX Engineer 的陰暗(?)面

當然啦,這職位也不是絕無麻煩事。偶爾也會發生讓我們心累的事情…

我的 PM、PgM、designer、researcher、software engineer 不知道怎麼「使用」 UX engineer :(。

我的 designer/researcher 沒找我就把設計做完,user study 計畫都擬好了才叫我來趕快照著設計做 prototype,可是那個設計有超多 real-world bug…

我的 org 只有我一個 UX engineer,沒有別人可以一起共甘苦。

是的,就算是 Google 內部也不是每個人都聽過 UX engineer,第一次遇到 UX engineer 的人也不一定能立即理解怎樣和 UX engineer 合作最有效率。在這種情況,雖然可以勉勵自己,說我的團隊得到一個別人沒有的資源超棒棒,但…大多時候還是很阿雜。這種時候,只能想辦法努力找到團隊需要 UX engineer 超能力的地方,並積極貢獻,讓 designer/researcher/engineer 覺得有我這位 UX engineer 真是以一擋十,再口耳相傳,讓大家知道 UX engineer 的價值。

我的主管跟 UX engineer 職位不熟,不知道怎樣幫我打考績。

很多 UX engineer 的主管是 software engineering 的 TL/M ,或非 UX engineer 出身的 UX manager。他們比較熟悉 software engineer 或 designer/researcher 的考績項目及流程,而不太了解準確評斷 UX engineer 考績的方式( 這邊指,要怎樣分辨是否超過 job ladder 設下的標準期望 )。

這種時候要請主管去聯絡一些資深( 這邊指 Staff 以上 )的 UX engineer,討論在這個團隊內要怎麼衡量 UX engineer 績效。

跟我合作的 software engineer 的 UX 知識好像比我強;跟我合作的 designer 的實作能力感覺比我厲害。我懷疑我坐在會議室只能玩白板筆喝 LaCroix。

這在 Google 超常見的。我還遇過 UX researcher 本來也是線上這些大公司的 software engineer 又跑去念認知心理學,取得學位以後來 Google 當 UX researcher,該同事的實作能力依然一流。

Imposter syndrome is real,請相信自己在團隊合作內,絕對有「交給我做,事半功倍」的特殊能力喔。

其他不盡完美的事情

  • Google 的 UX engineer 缺非常少。除了灣區、紐約、西雅圖以外,屈指可數。
  • 承上,台灣 Google 從來沒有且現在也沒有任何 UX engineer 缺。( 咦~台灣 Google 有 UX 嗎?軟體外商在台灣的辦公室有全職的 UX 職位嗎?)
  • UX engineer 要參加的 meeting 超多。我們要參加 UX team 的 design critique,提出設計跟工程方面的建議;也要參加 engineering team 的 technical design meeting,確認設計師想要做的東西刻得出來;還要參加雙方的 sprint planning ,確定沒有意外發生。雖然 meeting 很多,但也只有去了,才能確保我們能把實作時間花在刀口上。
Image for post
Image for post
有意義的會議其實很棒棒!Photo by Campaign Creators on Unsplash

其他關於 UX Engineer 的 FAQ

Q: 其他公司有沒有 UX Engineer 呢?

UX engineer 的職務需求當然不是 Google 才有。很多注重 UI/UX 的大公司也有類似職位,可能稱作 Design Technologist、Creative Technologist、Design Developer、或 UI Engineer/Developer。當然,職務內容不盡相同。

Q: Google 的 UX Engineer 的薪水會比 Software Engineer 低嗎?

我沒有同地區同 level 的 software engineer 的薪水的資料所以無法表示意見。此外,把 offer 談高最快的方式是拿到 competing offer。

Q: Google 的 UX Engineer 有開實習嗎?

有但很少。正職缺都那麼少了 🤷‍♂️

Q: Google 的 UX Engineer 的職涯發展如何?

Job ladder 有定義到非常高的 job level,所以我覺得發展應該很好。

Q: 那內部課程跟在職訓練呢?

此時,身為跨領域的好處又出來了,因為只要跟 UX 相關,或跟 front-end engineering( Web、iOS、Android、VR/AR )相關的外部課程,都會認定成與職務相關,所以都補助不少喔( 請詳閱官方公開說明書 )!

除了官方說法以外,UX engineer 們每年都會開 1.5 次 conference:年中有一週的 UX engineer 專屬 conference,年末則跟著 Google UX conference 有自己的議程。我們會邀 Google 內外 UX 人士「教新的 prototype 技巧」「教新的 library、tool、framework 用法」「教你怎樣做職涯規劃」以及其他超~有趣的題目。

Image for post
Image for post
因為技能樹超群,UX Engineer 沒人在擔心職涯的啦。 Photo by Ian Schneider on Unsplash

( 有想問的問題嗎?歡迎在留言區問喔!)

那麼,這次關於 UX engineer 的介紹,就到此告一段落囉~希望這篇文章讓大家更了解這個職位;也希望對 UX engineer 有興趣的人可以成功轉職 💪 !

如果你喜歡這篇文章

這是我第一篇 Medium 文章!( 拭額 )如果你喜歡這篇文章,歡迎 follow 這個大龍貓帳號 Mimin(zuku),以及轉貼這篇文章,或是幫我 👏 拍拍手!

如果你看完了這篇文章,請幫我拍手 1-5
如果你喜歡這篇文章,請幫我拍手 6-30
如果你喜歡這篇文章,而且希望我寫更多類似的文章,請拍 31-49 下,並且在留言區點歌
如果不管接下來我寫什麼你都喜歡,那拍滿 50 下吧!我搞不好會寫我在三十歲後才開始戴近視眼鏡的小故事唷~

如果有什麼想法,或想知道更多東西( 與 Google 或 UX engineer 有沒有關係都可 ),也歡迎留言。那麼我們在留言區或下篇文章見囉~

Image for post
Image for post

Mimin(zuku)

Written by

creative technologist + ux engineer + amateur pianist + photographer; meditation * feldenkrais * yoga; in seattle, from taiwan. people love my smile ;)

AAPD — As A Product Designer

AAPD 專注於分享數位產品設計的相關資訊,並且致力在平台上創造更多的交流與互動,我們關注UI設計、UX設計、設計師的個人成長、設計趨勢與產業動態等,希望透過這些知識的傳遞,能夠降低每位設計師成長的過程中所遇到的阻礙。歡迎來信投稿:aapdgo@gmail.com

Mimin(zuku)

Written by

creative technologist + ux engineer + amateur pianist + photographer; meditation * feldenkrais * yoga; in seattle, from taiwan. people love my smile ;)

AAPD — As A Product Designer

AAPD 專注於分享數位產品設計的相關資訊,並且致力在平台上創造更多的交流與互動,我們關注UI設計、UX設計、設計師的個人成長、設計趨勢與產業動態等,希望透過這些知識的傳遞,能夠降低每位設計師成長的過程中所遇到的阻礙。歡迎來信投稿:aapdgo@gmail.com

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store