怎樣才能成為優(yōu)秀的前端工程師
昨天,我負(fù)責(zé)公司組織的一次面試活動(dòng),感觸頗深的是其中的應(yīng)聘者提問(wèn)環(huán)節(jié)。我得說(shuō)自己對(duì)應(yīng)聘者們提出的大多數(shù)問(wèn)題都相當(dāng)失望。我希望聽(tīng)到一些對(duì)工作充滿激情的問(wèn)題。在昨天的應(yīng)聘者中,只有一個(gè)人的問(wèn)題是我認(rèn)為最好的,那個(gè)人問(wèn)我:你覺(jué)得怎么才能成為優(yōu)秀的前端工程師?我覺(jué)得很有必要把這個(gè)問(wèn)題從面試房間里拿出來(lái)討論一下。
首先,前端工程師必須得掌握HTML、CSS和JavaScript.只懂其中一個(gè)或兩個(gè)還不行,你必須對(duì)這三門語(yǔ)言都很熟悉。也不是說(shuō)必須對(duì)這三門語(yǔ)言都非常精通,但你至少要能夠運(yùn)用它們完成大多數(shù)任務(wù),而無(wú)需地頻繁地尋求別人的幫助。
優(yōu)秀的前端工程師應(yīng)該具備快速學(xué)習(xí)能力。推動(dòng)Web發(fā)展的技術(shù)并不是靜止不動(dòng)的,沒(méi)錯(cuò)吧?我甚至可以說(shuō)這些技術(shù)幾乎每天都在變化,如果沒(méi)有快速學(xué)習(xí)能力,你就跟不上Web發(fā)展的步伐。你必須不斷提升自己,不斷學(xué)習(xí)新技術(shù)、新模式;僅僅依靠今天的知識(shí)無(wú)法適應(yīng)未來(lái)。Web的明天與今天必將有天壤之別,而你的工作就是要搞清楚如何通過(guò)自己的Web應(yīng)用程序來(lái)體現(xiàn)這種翻天覆地的變化。
計(jì)算機(jī)科學(xué)這個(gè)大門類下面的許多分支在人們眼中實(shí)際上都不外乎科學(xué)。但是,我們所說(shuō)的前端不是什么科學(xué),而是藝術(shù)。藝術(shù)家不僅要掌握謀生的技術(shù),還要懂得如何運(yùn)用。對(duì)同一個(gè)問(wèn)題的解決方案在這種情況適用,在另一種情況下可能就不適用。對(duì)Web應(yīng)用程序的前端而言,解決同一問(wèn)題的方案經(jīng)常會(huì)有很多。沒(méi)有哪個(gè)方案是錯(cuò)的,但其中確實(shí)有一些是更合適的。優(yōu)秀的前端工程師應(yīng)該知道在什么情況下使用哪種方案更合適,而在什么情況下應(yīng)該重新選擇。
優(yōu)秀的'前端工程師需要具備良好的溝通能力,因?yàn)槟愕墓ぷ髋c很多人的工作息息相關(guān)。在任何情況下,前端工程師至少都要滿足下列四類客戶的需求。
產(chǎn)品經(jīng)理這些是負(fù)責(zé)策劃應(yīng)用程序的一群人。他們能夠想象出怎樣通過(guò)應(yīng)用程序來(lái)滿足用戶需求,以及怎樣通過(guò)他們?cè)O(shè)計(jì)的模式賺到錢(但愿如此)。一般來(lái)說(shuō),這些人追求的是豐富的功能。
UI設(shè)計(jì)師這些人負(fù)責(zé)應(yīng)用程序的視覺(jué)設(shè)計(jì)和交互模擬。他們關(guān)心的是用戶對(duì)什么敏感、交互的一貫性以及整體的好用性。他們熱衷于流暢靚麗但并不容易實(shí)現(xiàn)的用戶界面。
項(xiàng)目經(jīng)理這些人負(fù)責(zé)實(shí)際地運(yùn)行和維護(hù)應(yīng)用程序。項(xiàng)目管理的主要關(guān)注點(diǎn),無(wú)外乎正常運(yùn)行時(shí)間(uptime)應(yīng)用程序始終正常可用的時(shí)間、性能和截止日期。項(xiàng)目經(jīng)理追求的目標(biāo)往往是盡量保持事情的簡(jiǎn)單化,以及不在升級(jí)更新時(shí)引入新問(wèn)題。
最終用戶當(dāng)然是應(yīng)用程序的主要消費(fèi)者。盡管我們不會(huì)經(jīng)常與最終用戶打交道,但他們的反饋意見(jiàn)至關(guān)重要;沒(méi)人想用的應(yīng)用程序毫無(wú)價(jià)值。最終用戶要求最多的就是對(duì)個(gè)人有用的功能,以及競(jìng)爭(zhēng)性產(chǎn)品所具備的功能。
那么,前端工程師應(yīng)該最關(guān)注哪些人的意見(jiàn)呢?答案是所有這四類人。優(yōu)秀的前端工程師必須知道如何平衡這四類人的需求和預(yù)期,然后在此基礎(chǔ)上拿出最佳解決方案。由于前端工程師處于與這四類人溝通的交匯點(diǎn)上,因此其溝通能力的重要性不言而喻。如果一個(gè)非?岬男鹿δ芤?yàn)闀?huì)影響前端性能,必須刪繁就簡(jiǎn),你怎么跟產(chǎn)品經(jīng)理解釋?再比如,假設(shè)某個(gè)設(shè)計(jì)如果不改回原方案可能會(huì)給應(yīng)用程序造成負(fù)面影響,你怎么才能說(shuō)服UI設(shè)計(jì)師?作為前端工程師,你必須了解每一類人的想法從何而來(lái),必須能拿出所有各方都能接受的解決方案。從某種意義上說(shuō),優(yōu)秀的前端工程師就像是一位大使,需要時(shí)刻抱著外交官的心態(tài)來(lái)應(yīng)對(duì)每一天的工作。
我告誡新來(lái)的前端工程師最多的一句話,就是不要在沒(méi)有作出評(píng)估之前就隨便接受某項(xiàng)任務(wù)。你必須始終記住,一定先搞清楚別人到底想讓你干什么,不能簡(jiǎn)單地接受這個(gè)功能有問(wèn)題之類的大概其的說(shuō)法。而且,你還要確切地知道這個(gè)功能或設(shè)計(jì)的真正意圖何在。加一個(gè)按鈕之類的任務(wù)并不總意味著你最后會(huì)加一個(gè)按鈕。還可能意味著你會(huì)找產(chǎn)品經(jīng)理,問(wèn)一問(wèn)這個(gè)按鈕有什么用處,然后再找UI設(shè)計(jì)師一塊探討按鈕是不是最佳的交互手段。要成為優(yōu)秀的前端工程師,這種溝通至關(guān)重要。
無(wú)論從哪個(gè)方面講,我都覺(jué)得前端工程師是計(jì)算機(jī)科學(xué)職業(yè)領(lǐng)域中最復(fù)雜的一個(gè)工種。絕大多數(shù)傳統(tǒng)的編程思想已經(jīng)不適用了,為了在多種平臺(tái)中使用,多種技術(shù)都借鑒了大量軟科學(xué)的知識(shí)和理念。成為優(yōu)秀前端工程師所要具備的專業(yè)技術(shù),涉及到廣闊而復(fù)雜的領(lǐng)域,這些領(lǐng)域又會(huì)因?yàn)槟阕罱K必須服務(wù)的各方的介入而變得更加復(fù)雜。專業(yè)技術(shù)可能會(huì)引領(lǐng)你進(jìn)入成為前端工程師的大門,但只有運(yùn)用該技術(shù)創(chuàng)造的應(yīng)用程序以及你跟他人并肩協(xié)同的能力,才會(huì)真正讓你變得優(yōu)秀。
【怎樣才能成為優(yōu)秀的前端工程師】相關(guān)文章:
前端開發(fā)工程師待遇11-08
前端工程師的電子簡(jiǎn)歷模板11-04
前端工程師的求職簡(jiǎn)歷模板08-03
前端工程師求職簡(jiǎn)歷模板09-01
結(jié)構(gòu)工程師成長(zhǎng)建議-如何成為優(yōu)秀的結(jié)構(gòu)工程師08-07
中級(jí)web前端開發(fā)工程師的職責(zé)10-28
怎樣才能修煉成為乒乓球高手09-21