Nicholas C. Zakas談怎樣才能成為優秀的前端工程師

來源:互聯網
上載者:User

昨天,我負責了Yahoo!公司組織的一次面試活動,感觸頗深的是其中的應聘者提問環節。我得說自己對應聘者們提出的大多數問題都相當失望。我希望聽到一些對在Yahoo!工作充滿激情的問題。在昨天的應聘者中,只有一個人的問題是我認為最好的,那個人問我:“你覺得怎麼才能成為優秀的前端工程師?”我覺得很有必要把這個問題從面試房間裡拿出來討論一下。

首先,前端工程師必須得掌握HTML、CSS和JavaScript。只懂其中一個或兩個還不行,你必須對這三門語言都很熟悉。也不是說必須對這三門語言都非常精通,但你至少要能夠運用它們完成大多數任務,而無需地頻繁地尋求別人的協助。

優秀的前端工程師應該具備快速學習能力。推動Web發展的技術並不是靜止不動的,沒錯吧?我甚至可以說這些技術幾乎每天都在變化,如果沒有快速學習能力,你就跟不上Web發展的步伐。你必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而你的工作就是要搞清楚如何通過自己的Web應用程式來體現這種翻天覆地的變化。

電腦科學這個大門類下面的許多分支在人們眼中實際上都不外乎科學。但是,我們所說的前端不是什麼科學,而是藝術。藝術家不僅要掌握謀生的技術,還要懂得如何運用。對同一個問題的解決方案在這種情況適用,在另一種情況下可能就不適用。對Web應用程式的前端而言,解決同一問題的方案經常會有很多。沒有哪個方案是錯的,但其中確實有一些是更合適的。優秀的前端工程師應該知道在什麼情況下使用哪種方案更合適,而在什麼情況下應該重新選擇。

優秀的前端工程師需要具備良好的溝通能力,因為你的工作與很多人的工作息息相關。在任何情況下,前端工程師至少都要滿足下列四類客戶的需求。

  1. 產品經理——這些是負責策劃應用程式的一群人。他們能夠想象出怎樣通過應用程式來滿足使用者需求,以及怎樣通過他們設計的模式賺到錢(但願如此)。一般來說,這些人追求的是豐富的功能。
  2. UI設計師——這些人負責應用程式的視覺設計和互動類比。他們關心的是使用者對什麼敏感、互動的一貫性以及整體的好用性。他們熱衷於流暢靚麗但並不容易實現的使用者介面。
  3. 專案經理——這些人負責實際地運行和維護應用程式。專案管理的主要關注點,無外乎正常已耗用時間(uptime)——應用程式始終正常可用的時間、效能和到期日。專案經理追求的目標往往是盡量保持事情的簡單化,以及不在升級更新時引入新問題。
  4. 終端使用者——當然是應用程式的主要消費者。儘管我們不會經常與終端使用者打交道,但他們的反饋意見至關重要;沒人想用的應用程式毫無價值。終端使用者要求最多的就是對個人有用的功能,以及競爭性產品所具備的功能。

那麼,前端工程師應該最關注哪些人的意見呢?答案是所有這四類人。優秀的前端工程師必須知道如何平衡這四類人的需求和預期,然後在此基礎上拿出最佳解決方案。由於前端工程師處於與這四類人溝通的交匯點上,因此其溝通能力的重要性不言而喻。如果一個非常酷的新功能因為會影響前端效能,必須刪繁就簡,你怎麼跟產品經理解釋?再比如,假設某個設計如果不改回原方案可能會給應用程式造成負面影響,你怎麼才能說服UI設計師?作為前端工程師,你必須瞭解每一類人的想法從何而來,必須能拿出所有各方都能接受的解決方案。從某種意義上說,優秀的前端工程師就像是一位大使,需要時刻抱著外交官的心態來應對每一天的工作。

我告誡新來的前端工程師最多的一句話,就是不要在沒有作出評估之前就隨便接受某項任務。你必須始終記住,一定先搞清楚別人到底想讓你幹什麼,不能簡單地接受“這個功能有問題”之類的大概其的說法。而且,你還要確切地知道這個功能或設計的真正意圖何在。“加一個按鈕”之類的任務並不總意味著你最後會加一個按鈕。還可能意味著你會找產品經理,問一問這個按鈕有什麼用處,然後再找UI設計師一塊探討按鈕是不是最佳的互動手段。要成為優秀的前端工程師,這種溝通至關重要。

無論從哪個方面講,我都覺得前端工程師是電腦科學職業領域中最複雜的一個工種。絕大多數傳統的編程思想已經不適用了,為了在多種平台中使用,多種技術都借鑒了大量軟科學的知識和理念。成為優秀前端工程師所要具備的專業技術,涉及到廣闊而複雜的領域,這些領域又會因為你最終必須服務的各方的介入而變得更加複雜。專業技術可能會引領你進入成為前端工程師的大門,但只有運用該技術創造的應用程式以及你跟他人並肩協同的能力,才會真正讓你變得優秀。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.