Palantir Technologies是一家提供分析、整合、視覺化各種資料的IT型技術公司。在該公司,前端工程師和後端工程師有同樣的面試過程,前端工程師也需要的一定的程式設計基礎。該公司技術部落格Palantir TeckBlog日前發表了一篇博文《The UI Design Interview》,介紹了該公司面試前端設計師的過程及一些心得。內容如下:
我們的前端工程師和後端工程師有同樣的面試過程,例如考演算法和編碼。因為前端工程師要開發系統中面向客戶的部分,所以我們希望應聘者要有一定的程式設計基礎。現在就開始談談我們的面試過程。
為什麼要專門針對設計工程師設計面試?
我之所以喜歡呆在Palantir的前端工程師團隊裡,很大一部分原因是因為我們可以全程參與產品UI介面的設計及實現的過程。工程師可以和其他工 程師以及設計師共同參與產品的設計,我們可以公開地討論我們的想法。UI設計師的面試應該模仿這種合作設計和討論的過程。這就意味著在面試過程中,會要求 你設計或評價一、兩個UI設計,同時會考驗你的協作與討論能力。
下面將給出幾點有幫助的建議,在面試中處理相關設計問題時可以牢記。
一切都是為了使用者
使用者是任何介面成功與否的裁決者。如果使用者可以簡單、高效、在直覺地引導下輕鬆完成任務,那我們所做的就成功了。所以我們在做設計的任何階段都要把使用者放在心裡。
我們在設計之前最容易犯的錯誤就是把我們自己當成使用者。和電腦工作本來就是一個很孤獨的工作,它很容易讓我們忘記每個人會用不同的方式去體驗一個使用者介面。憑藉你設計的介面,使用者可以成為一個完全的新手,也可以成為一個熟練的系統管理員。
想像使用者喜歡什麼,是很重要的。先塑造一個使用者,包括他的姓名、年齡以及職業。然後問自己下面這幾個問題:
● 在什麼情況下,使用者會用到這個功能?在工作時?在家裡?還是在10步之遙的電視前?
● 以前他們用過類似的介面嗎?
● 他們使用電腦的能力如何?他們會複製、貼上嗎?會開啟內容選單嗎?等。
當為一個介面新增新功能時,首先為主要控制元件(按鈕、列表、文字框)畫一個草圖。然後模擬使用者使用該功能方式。
當草擬你想象中的介面時,請設身處地地為使用者想想。這時可以問自己以下幾個問題:
● 當他們想做X這件事時,他們可以怎麼做?
● 他們如何發現這個功能?
● 接下來他們想要做什麼?
● 他們做X這件事的頻率是怎樣的?
● 一旦X這件事失敗了,可能會發生什麼?
如此之類的問題。問問自己這些問題,考慮這些問題可以給你的設計帶來哪些影響,並在設計中進行修改。
面試是一個很重要的互動過程
一些面試者不好意思反駁面試官。其實我們更喜歡相反的觀點。如果你有什麼好的主意,不妨表達出來。我更喜歡反駁我的面試者,只要他可以通過辯論、故事來很好地支援他的觀點。你越清晰地描述你的觀點,越好。
要具有創造性,但不要重新設計已存在的功能
我曾看見很多面試者僅為顯示一些非常簡單的資料而陷入到十分尷尬的設計圈套中。如果你有一組資料,使用列表顯示它們就可以了。一般來說,熟悉UI知識是很有幫助的,因為他們已解決了很多設計難點。
你設計的介面要讓使用者快速、輕鬆地完成任務,否則就停止這個介面設計。不要新增一些無關緊要的功能,而負累整個使用者介面。正如 Deiter Rams 名言“好的設計越簡單越好”。這不僅適用於介面設計同樣適用於產品設計。
如果你想快速、容易地判斷出新加功能的簡便性,僅需要數一下在這個介面上使用者需要點選幾下才能完成這個任務。如果使用者必須要從滑鼠轉移到鍵盤上,轉換一次記數為二。
如何做準備
如果你曾經做過設計工作,並有團隊協作經驗,我們這歡迎你,你將會做得更好。如果你還沒什麼經驗,下面幾個方法可以幫助你提高設計技能:
● 如果你仍在上學,建議多參加一些基於專案的課程。這樣可以讓你獲得更多實際設計經驗。
● 要利用一切機會培養你的設計觀念。不斷地問自己:“如何才能設計得與眾不同?如何才能把它設計得更好?”你問得自己越多,他們就越會變成一種無意識、自然的行為。不久你就會更加想了解日常生活中關於所有事情的設計。
● 真正設計一些東西,並關注UI。
● 請人評論一下你的作品。讓有設計經驗的人看看你的設計作品,他們會指出你從未發現的問題。
● 研讀更多關於UI/UX/HCI/infoviz的書籍。現在有大量好的書箱和部落格。像Alan Cooper的《About Face》 ,Stephen Few的《Now You See It》和Steve Krug的《Don’t Make Me Think / 點石成金:訪客至上的網頁設計祕笈》值得閱讀。