[譯]優(yōu)秀的前端開(kāi)發(fā)者為什么難找(Why is it so hard to find a good front end developer?)

原作者: Ilias Ismanalijev

文章來(lái)源:Medium

翻譯:Joyce Cheng


譯文僅供個(gè)人學(xué)習(xí),不用于任何形式商業(yè)目的,轉(zhuǎn)載請(qǐng)注明原作者、文章來(lái)源、翻譯作者及簡(jiǎn)書(shū)鏈接,版權(quán)歸原文作者所有。


題圖

這是一個(gè)合理的問(wèn)題。對(duì)外行而言,前端開(kāi)發(fā)一定看起來(lái)易如反掌吧。但如果是這樣的話,為什么前端開(kāi)發(fā)者不是多如牛毛呢?

答案很簡(jiǎn)單:前端開(kāi)發(fā),就像任何特殊行業(yè)或體育比賽一樣,比它看起來(lái)難得多。它不難,直至你把腳趾放進(jìn)去,方知水很深。

前端開(kāi)發(fā)比它看起來(lái)要復(fù)雜

且不說(shuō)服務(wù)器端的開(kāi)發(fā)有多難,要知道客戶(hù)端的工作所遇到的問(wèn)題仍然很重要。作為一名前端開(kāi)發(fā)者,大部分的工作必須用HTML和CSS完成,這使得解決問(wèn)題可用的工具十分有限。 JavaScript到處都有用,但是功能檢測(cè)意味著性能開(kāi)銷(xiāo)。它意味著更多的代碼,以及更多代碼出錯(cuò)的機(jī)會(huì)。此外,一旦你的網(wǎng)站開(kāi)始增長(zhǎng),CSS的使用將會(huì)很痛苦。它非常靜態(tài),于是你最終不得不把代碼大量記在腦子里。

陡峭的學(xué)習(xí)曲線,部分原因是由于該領(lǐng)域不斷變化的性質(zhì)。在前端,總有新東西可學(xué):響應(yīng)式媒體查詢(xún),HTML應(yīng)用緩存,CSS轉(zhuǎn)換,WebGL等。所有這些工具為前端開(kāi)發(fā)者帶來(lái)了令人興奮的新的可能性,但也改變了他們工作完成的方式。

這也意味著前端開(kāi)發(fā)的教學(xué)方式在盡可能頻繁并準(zhǔn)確地改變著。不幸的是,沒(méi)有哪位教練能夠期待與不斷變化的技術(shù)保持同步,也就是說(shuō)每一個(gè)新進(jìn)入職場(chǎng)的前端開(kāi)發(fā)者都已經(jīng)落后了好幾個(gè)階段,他們必須努力填補(bǔ)自己的工具箱,而必要資源的供應(yīng)是永無(wú)止境的。

前端開(kāi)發(fā)不僅是開(kāi)發(fā)

前端不僅僅是代碼。它跟代碼與用戶(hù)的交互有關(guān)。在客戶(hù)端的開(kāi)發(fā)中,不佳的設(shè)計(jì)很容易成為產(chǎn)品與受眾之間的障礙。一名好的前端開(kāi)發(fā)者需要理解網(wǎng)絡(luò)性能和決定線上成功的不同評(píng)判標(biāo)準(zhǔn)。這意味著HTTP緩存,優(yōu)化DNS查詢(xún)時(shí)間,極簡(jiǎn)化構(gòu)建腳本,并且為項(xiàng)目選擇最佳的CSS布局機(jī)制。

不僅如此,一名好的前端開(kāi)發(fā)者還需要理解市場(chǎng)。這意味著明白用戶(hù)的心理,為產(chǎn)品的易用性與可用性區(qū)分優(yōu)先次序,并維持強(qiáng)大的搜索引擎優(yōu)化。這還意味著對(duì)設(shè)計(jì)理論有一個(gè)基本的了解,并偶爾參與幾乎不可能實(shí)現(xiàn)的平面設(shè)計(jì)工作。

對(duì)于客戶(hù)端開(kāi)發(fā)而言,注重產(chǎn)品的安全也是很重要的,要防止CSRF,XSS,DNS鎖定和點(diǎn)擊劫持。但并不是所有的前端開(kāi)發(fā)都是客戶(hù)端的——即使前端開(kāi)發(fā)者也需要時(shí)不時(shí)地深入到服務(wù)器端代碼。這是對(duì)的:一個(gè)好的前端開(kāi)發(fā)者也需要是一個(gè)好的后端開(kāi)發(fā)者。

這意味著產(chǎn)品要兼容一切

開(kāi)發(fā)者彼得-保羅·科赫,道格拉斯·克羅克福德,和尼古拉斯·扎卡斯都同意——“前端開(kāi)發(fā)是世界上最糟糕的開(kāi)發(fā)環(huán)境。”原因在于:兼容性。一旦一名前端開(kāi)發(fā)者完成了他的工作(以及一大堆其他的工作),他們得立馬回到工作上,確保產(chǎn)品在每一種瀏覽器、移動(dòng)設(shè)備,甚至陽(yáng)光下的高端烤箱上功能最佳。這可是一大堆的工作啊。

即興思考一下,你能想到多少互聯(lián)網(wǎng)瀏覽器??jī)H舉幾例,前端開(kāi)發(fā)者有Chrome,F(xiàn)irefox,Opera,Safari,IE瀏覽器,以及現(xiàn)在的Edge要開(kāi)發(fā)——更別提每個(gè)瀏覽器過(guò)去的各種版本,都必須考慮兼容性。想想這個(gè):IE瀏覽器的每個(gè)版本,從6到10,都有其自身獨(dú)特的缺陷與局限。但是,滿(mǎn)足每一個(gè)瀏覽器的需求仍然很重要,否則的話許多用戶(hù)將無(wú)法訪問(wèn)你的產(chǎn)品。

而這僅僅是臺(tái)式機(jī)市場(chǎng)?,F(xiàn)在考慮一下用戶(hù)可能用來(lái)訪問(wèn)你的服務(wù)的每一種型號(hào)的智能手機(jī)與平板,它們每一個(gè)都要求不同的輸入方式。這項(xiàng)服務(wù)在沒(méi)有鍵盤(pán)的情況下還能工作嗎?沒(méi)有鼠標(biāo)呢?它支持觸摸屏嗎?它有手勢(shì)嗎?這項(xiàng)服務(wù)必須在所有情況下都有效——即使是在用戶(hù)調(diào)整輸出以滿(mǎn)足自己的需求的時(shí)候。無(wú)論用戶(hù)是調(diào)整文本大小,改換顏色還是完全禁用CSS或JavaScript,產(chǎn)品都必須保持工作。就如同前端開(kāi)發(fā)者布拉特·博赫卡里奧夫所說(shuō),“我們?cè)诟鞣N能想到的設(shè)備所運(yùn)行的不一致的平臺(tái)上使用著蹩腳的工具…不管是什么,要確保產(chǎn)品適用于每一個(gè)人。

所以,為什么優(yōu)秀的前端開(kāi)發(fā)者這么難找?因?yàn)橐蔀橐幻麅?yōu)秀的前端開(kāi)發(fā)者是很難的——或許比你想象的要難得多。一名優(yōu)秀的前端開(kāi)發(fā)者必須要有耐心,決心和意愿,去滿(mǎn)足傳統(tǒng)開(kāi)發(fā)之外的多種不同角色,與此同時(shí)要確保產(chǎn)品對(duì)于盡可能多的受眾而言是最優(yōu)的——是的,那必定是來(lái)之不易的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,781評(píng)論 25 709
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,093評(píng)論 1 92
  • 人生,大概不會(huì)因?yàn)槟闶钦l(shuí)而優(yōu)待你,能優(yōu)待的唯有你自己~抑或生活總是這么的公平,讓你絕望后又給你無(wú)限霞想與希望~~
    一米一世界閱讀 110評(píng)論 0 0
  • 下班沒(méi)有鉆進(jìn)地鐵,在報(bào)亭對(duì)面的馬路牙子坐著發(fā)呆 心情不好,想自己靜一靜,翻翻通訊錄這個(gè)城市的老友也只有她了,打電話...
    小魚(yú)兒666閱讀 786評(píng)論 0 1

友情鏈接更多精彩內(nèi)容