從前馅扣,有一個前端程序員,他無意間得到了一盞神燈着降。神燈許諾會實(shí)現(xiàn)他一個愿望差油。于是他向神燈許愿,希望有生之年能夠?qū)W會所有的前端技能任洞。神燈思考了片刻蓄喇,賜給了他永生。交掏。妆偏。
“優(yōu)秀”的定義
在我們開始討論之前,答應(yīng)我耀销,先問自己這樣一個問題:優(yōu)秀的前端工程師應(yīng)該是什么樣子呢楼眷?
如果你的答案是精通各種前端框架,或者是掌握各種前端技能熊尉,亦或者是理解用戶的真正需求罐柳,甚至是前后端通吃的全棧工程師,那么恭喜你狰住,你的答案和我剛開始思考這個問題時的答案差不多张吉。
的確,在前端領(lǐng)域定義優(yōu)秀催植,自然是精通一種甚至多種前端開發(fā)工具和框架肮蛹,理解這些框架的底層邏輯勺择,知道用戶的需求和痛點(diǎn),有屬于自己的開源項(xiàng)目和技術(shù)博客伦忠,并且寫得出一手整潔且bug free的代碼省核。這些優(yōu)秀的特質(zhì)令每一個前端從業(yè)者神往,但同時也令人遺憾昆码。因?yàn)橐坏┰谀X海里形成這樣一種所謂“優(yōu)秀的”前端工程師的定義气忠,我們就會發(fā)現(xiàn),自己似乎永遠(yuǎn)也成為不了我們自己定義的優(yōu)秀的前端工程師了「逞剩現(xiàn)在不是旧噪,以后也不知道何時會是。這足以讓我們反思脓匿,我們做不到“優(yōu)秀”淘钟,究竟是我們自己不夠努力且沒有天分,還是對于“優(yōu)秀”這個詞的定義有問題陪毡。
別著急米母,讓我們先來看一看有關(guān)“優(yōu)秀前端工程師”的傳說。
優(yōu)秀前端工程師的三個傳說
1. 無所不知
還記得之前那篇前端疲勞里的這張圖嗎缤骨?
沒錯爱咬,優(yōu)秀的前端工程師掌握了這張圖上的幾乎一切。他們不受前端疲勞的困擾绊起,他們可以跟上每一次技術(shù)更新迭代的腳步精拟,將最新的工具和技術(shù)輕松收入囊中。大多數(shù)情況下虱歪,他們不需要查看技術(shù)文檔和手冊蜂绎,因?yàn)槟切〇|西好像就存在他們的腦子里。無論是寫正則表達(dá)式笋鄙,還是調(diào)用API师枣,抑或處理復(fù)雜的JS代碼,他們都能信手拈來萧落。
2. 完美代碼
每次code review践美,我的內(nèi)心都很忐忑,因?yàn)樽约撼舐倚阅艿拖碌拇a即將曝光在同事的眼前找岖。優(yōu)秀的前端工程師從來沒有這些煩惱陨倡,相反,他們的代碼往往是被作為模板來接受眾人膜拜的许布。簡潔兴革,優(yōu)雅,高效。有句話怎么說來著杂曲,漂亮的不像實(shí)力派庶艾。偏偏漂亮還不夠,連注釋都恰到好處擎勘≡圩幔總之就一句話,給你一個無法拒絕贊美它的理由货抄。
3. 極度專注
在這樣一個時間被互聯(lián)網(wǎng)不斷撕裂的時代述召,專注早就成為了一種奢侈的品質(zhì)朱转。而優(yōu)秀的前端便享有這份奢侈蟹地。他們似乎感覺不到疲憊,不是在寫代碼藤为,就是在去寫代碼的路上怪与。當(dāng)大多數(shù)人都沉迷于吃雞農(nóng)藥等游戲中時,他們卻始終讓自己淪陷在代碼的世界里缅疟。請你給我一個他們不優(yōu)秀的理由分别。
傳說很難照進(jìn)現(xiàn)實(shí)
不知道你的身邊有沒有做到以上三點(diǎn)的前端工程師。這種人當(dāng)然存在存淫,但作為普通前端的我們可能根本接觸不到他們耘斩。因?yàn)槟茏龅饺c(diǎn)中的一點(diǎn)都已經(jīng)遠(yuǎn)遠(yuǎn)不止優(yōu)秀這個詞可以形容了。 做到兩點(diǎn)或者以上的人應(yīng)該已經(jīng)不會是單純的工程師了桅咆,至少已經(jīng)是leader或者是CTO了吧括授。我們可以把這些傳說中的特質(zhì)視為自己的奮斗目標(biāo),但我們不應(yīng)該把“優(yōu)秀”定義的如此高不可攀岩饼,不近人情荚虚,讓大多數(shù)勤奮的前端工程師們與優(yōu)秀“絕緣”。
學(xué)習(xí)交流前端方面的技術(shù)籍茧,打算深入了解這個行業(yè)的朋友版述,可以加下小編的前端學(xué)習(xí)裙:330336289,邀請碼寂靜
不管你是小白還是大牛寞冯,小編我都?xì)g迎渴析,不定期更新最新的教程和學(xué)習(xí)方法,包括小編自己整理的一份2018最新的前端資料和0基礎(chǔ)入門教程吮龄,歡迎初學(xué)和進(jìn)階中的小伙伴俭茧。每天晚上20:00都有大咖給大家分享前端學(xué)習(xí)知識和路線方法,歡迎小伙伴加入交流
五步螟蝙,讓優(yōu)秀觸手可及
1. 承認(rèn)自己不知道
是的恢恼,你沒看錯,承認(rèn)自己不知道絕對是一種優(yōu)秀的表現(xiàn)胰默。前端技術(shù)的爆炸式發(fā)展帶來了很多創(chuàng)新的理念和極致的體驗(yàn)场斑,它早已無處不在漓踢。但同時,它也讓前端開發(fā)者們處在需要時刻跟上前端發(fā)展步伐的迷茫和痛苦中漏隐。若不加判斷的追逐這種日新月異的技術(shù)進(jìn)步喧半,就會走入什么都學(xué)了一點(diǎn),但什么都沒學(xué)會的境地青责。
不知道所有的技術(shù)沒有關(guān)系挺据,你也不可能都知道。大膽的承認(rèn)自己不知道脖隶,比打腫臉充胖子假裝自己知道的人要優(yōu)秀的多扁耐。
“React好復(fù)雜啊产阱,要加上ReactRouter和Flux才能寫大型應(yīng)用”
“嗯嗯婉称,我也這樣覺得(內(nèi)心:React是什么。构蹬。王暗。)”
“那你平常用React做什么?“
“庄敛。俗壹。。(卒)藻烤。绷雏。∫啵”
2. 新技術(shù) != 合適的技術(shù)
你可能不止一次的聽到過這樣的嘲諷:“什么之众?你還在用Gulp?太過時啦依许,現(xiàn)在大家都用Webpack棺禾,比Gulp好用多了”。我不知道這種嘲諷有什么道理峭跳。新的技術(shù)就一定比原來的好膘婶?
脫離了實(shí)際的應(yīng)用場景去評價工具的好壞就是耍流氓。我們學(xué)習(xí)和使用新的技術(shù)蛀醉,一定不能只是因?yàn)樗滤犰判螅且驗(yàn)樗軌蚋玫膸椭覀兘鉀Q當(dāng)前的問題。如果舊的技術(shù)已經(jīng)幫我們完美的解決了問題拯刁,那我們完全可以選擇忽視新的技術(shù)脊岳。
下次再有人單純的因?yàn)闆]用最新的工具來懟你,你就大膽的對他說:“小孩才分新舊,大人只看利弊割捅,對解決問題有利的才是最好的奶躯。你呀,too young too simple亿驾∴谇”
3. 有效地利用資源
能記住大量的技術(shù)細(xì)節(jié)當(dāng)然是強(qiáng)大實(shí)力的體現(xiàn),但記不住并不代表弱小和拙劣莫瞬。在這樣一個信息量如此奢華的互聯(lián)網(wǎng)時代儡蔓,大多數(shù)的知識都可以在5分鐘內(nèi)百度谷歌到。很多大的公司不是喜歡將一些小業(yè)務(wù)外包出去嗎疼邀,我們也可以把自己的一部分記憶“外包”給互聯(lián)網(wǎng)喂江。
這個道理就像計(jì)算機(jī)。內(nèi)存的空間是寶貴的檩小,而硬盤則沒有太多空間上的煩惱开呐。我們的大腦就像內(nèi)存,而互聯(lián)網(wǎng)就是我們的硬盤规求。我們只需要在大腦里存儲空間占用極小的索引,把具體而龐大的知識細(xì)節(jié)交給互聯(lián)網(wǎng)這個巨大的硬盤存儲卵惦。如果我們把大量的知識和技術(shù)細(xì)節(jié)存儲在大腦——一個昂貴的內(nèi)存上阻肿,這豈不是暴殄天物嗎。
因此沮尿,最重要的不是記住多少知識和技術(shù)丛塌,而是在需要用到它們的時候能夠快速高效的利用在大腦內(nèi)建立的索引,然后在互聯(lián)網(wǎng)這個容量幾乎無上限的硬盤上找到它們畜疾。知道知識在哪赴邻,這絕對是一種優(yōu)秀。
4. 不完美啡捶,怎么了
每個程序員都想寫出完美的代碼姥敛,可問題在于,這一切都得從寫有問題的代碼開始瞎暑。最重要的是彤敛,我們得開始寫,不能因?yàn)楹ε虏煌昝谰筒粚懥硕摹_@和寫作是一回事墨榄。我半年多沒有在簡書上寫文章了,這并不是因?yàn)槲也幌雽懳鹚俏姨雽懗鼍拾乐取⑼昝赖奈恼拢炊屪约簾o法下筆了。這讓我陷入深深的自我懷疑中之剧,懷疑我平庸的才華無法匹配我對自己過高的期待贮喧。但我今天還是寫了這篇文章,因?yàn)槲曳磸?fù)告訴自己:簡單點(diǎn)猪狈,寫作的方式簡單點(diǎn)(這句話自帶旋律...)箱沦。總之雇庙,下筆先開始寫起來就對了谓形。
寫代碼也是這樣,它得先被寫出來才能給我們讓它變得完美的機(jī)會啊疆前。事實(shí)上寒跳,完美的代碼并不是寫出來的,而是改出來的竹椒。debug的能力比coding的能力還重要童太。我很喜歡這樣一句話:“Software is soft.” 軟件是軟的,代碼也是軟的胸完。還記得我們小時候玩過的軟軟的橡皮泥嗎书释?沒捏好怎么辦?沒關(guān)系啊赊窥,反正它是軟的爆惧,攤平了重捏啊。寫代碼就是這個道理锨能。
5. 能沉進(jìn)去扯再,也能跳出來
我們都認(rèn)為,優(yōu)秀的人之所以優(yōu)秀是因?yàn)樗麄兡軌蜃屪约撼两谧约核龅氖虑橹兄酚觯皇芡饨绲拇驍_熄阻。這當(dāng)然是對的,只有專注倔约、聚焦在一件事情上秃殉,我們才能把那件事情做好。優(yōu)秀的前端工程師一定是那些始終磨練著自己的技術(shù)和密切關(guān)注著前端領(lǐng)域發(fā)展的人跺株。是他們的專注和不知疲倦造就了他們的優(yōu)秀复濒。可是事實(shí)是這樣嗎乒省?并不完全是巧颈。
前端開發(fā)的腳步已經(jīng)滲透到了人類社會的方方面面,每個行業(yè)都需要網(wǎng)站袖扛,都需要找到和特定人群交互的方式砸泛,而前端技術(shù)正是這類需求的最佳解決方案十籍。作為前端開發(fā)者的我們,如果僅僅把自己局限在前端技術(shù)這個狹窄的領(lǐng)域內(nèi)唇礁,技術(shù)的創(chuàng)新又從何而來呢勾栗?
我自己是音樂愛好者,平常會錄點(diǎn)音樂視頻自娛自樂盏筐。有一天我心血來潮围俘,想知道前端領(lǐng)域和音樂有沒有碰撞出什么火花。上谷歌一搜索琢融,便發(fā)現(xiàn)了很多優(yōu)秀的JavaScript的音頻庫界牡。什么howler.js,loop.js漾抬,audiosynth.js, tone.js宿亡,全都是music library for JavaScript。試問纳令,如果那些作為前端開發(fā)者的音樂愛好者們只關(guān)注前端而放棄了自己的愛好挽荠,那么,還會有這些優(yōu)秀的令人腦洞大開的前端音樂工具存在嗎平绩?
跳出前端圈匆,在不寫代碼的時候繼續(xù)培養(yǎng)自己的興趣和愛好,讓自己接觸到不同的領(lǐng)域和行業(yè)馒过,從而使自己擁有不同的視角臭脓。正是我們把各種各樣的興趣引入到了前端的世界里,才讓前端的創(chuàng)新層出不窮腹忽,技術(shù)蓬勃發(fā)展。
好了砚作,現(xiàn)在的我已經(jīng)準(zhǔn)備好成為一名優(yōu)秀的前端工程師了窘奏,你準(zhǔn)備好了嗎?
請把這篇文章分享給正在學(xué)習(xí)前端的朋友葫录,希望該篇文章可以幫到一些小伙伴節(jié)省時間着裹,加快開發(fā)。
最后祝所有程序員都能夠走上人生巔峰米同,讓代碼將夢想照進(jìn)現(xiàn)實(shí)骇扇,有不懂的問題可以隨時問我,工作不忙的時候希望可以給大家解惑面粮。