從前,有一個前端程序員,他無意間得到了一盞神燈。神燈許諾會實現他一個愿望。于是他向神燈許愿,希望有生之年能夠學會所有的前端技能。神燈思考了片刻,賜給了他永生。。。
“優秀”的定義
在我們開始討論之前,答應我,先問自己這樣一個問題:優秀的前端工程師應該是什么樣子呢?
如果你的答案是精通各種前端框架,或者是掌握各種前端技能,亦或者是理解用戶的真正需求,甚至是前后端通吃的全棧工程師,那么恭喜你,你的答案和我剛開始思考這個問題時的答案差不多。
的確,在前端領域定義優秀,自然是精通一種甚至多種前端開發工具和框架,理解這些框架的底層邏輯,知道用戶的需求和痛點,有屬于自己的開源項目和技術博客,并且寫得出一手整潔且bug free的代碼。這些優秀的特質令每一個前端從業者神往,但同時也令人遺憾。因為一旦在腦海里形成這樣一種所謂“優秀的”前端工程師的定義,我們就會發現,自己似乎永遠也成為不了我們自己定義的優秀的前端工程師了。現在不是,以后也不知道何時會是。這足以讓我們反思,我們做不到“優秀”,究竟是我們自己不夠努力且沒有天分,還是對于“優秀”這個詞的定義有問題。
別著急,讓我們先來看一看有關“優秀前端工程師”的傳說。
優秀前端工程師的三個傳說
1. 無所不知
還記得之前那篇前端疲勞里的這張圖嗎?
沒錯,優秀的前端工程師掌握了這張圖上的幾乎一切。他們不受前端疲勞的困擾,他們可以跟上每一次技術更新迭代的腳步,將最新的工具和技術輕松收入囊中。大多數情況下,他們不需要查看技術文檔和手冊,因為那些東西好像就存在他們的腦子里。無論是寫正則表達式,還是調用API,抑或處理復雜的JS代碼,他們都能信手拈來。
2. 完美代碼
每次code review,我的內心都很忐忑,因為自己丑陋且性能低下的代碼即將曝光在同事的眼前。優秀的前端工程師從來沒有這些煩惱,相反,他們的代碼往往是被作為模板來接受眾人膜拜的。簡潔,優雅,高效。有句話怎么說來著,漂亮的不像實力派。偏偏漂亮還不夠,連注釋都恰到好處。總之就一句話,給你一個無法拒絕贊美它的理由。
3. 極度專注
在這樣一個時間被互聯網不斷撕裂的時代,專注早就成為了一種奢侈的品質。而優秀的前端便享有這份奢侈。他們似乎感覺不到疲憊,不是在寫代碼,就是在去寫代碼的路上。當大多數人都沉迷于吃雞農藥等游戲中時,他們卻始終讓自己淪陷在代碼的世界里。請你給我一個他們不優秀的理由。
傳說很難照進現實
不知道你的身邊有沒有做到以上三點的前端工程師。這種人當然存在,但作為普通前端的我們可能根本接觸不到他們。因為能做到三點中的一點都已經遠遠不止優秀這個詞可以形容了。 做到兩點或者以上的人應該已經不會是單純的工程師了,至少已經是leader或者是CTO了吧。我們可以把這些傳說中的特質視為自己的奮斗目標,但我們不應該把“優秀”定義的如此高不可攀,不近人情,讓大多數勤奮的前端工程師們與優秀“絕緣”。
五步,讓優秀觸手可及
1. 承認自己不知道
是的,你沒看錯,承認自己不知道絕對是一種優秀的表現。前端技術的爆炸式發展帶來了很多創新的理念和極致的體驗,它早已無處不在。但同時,它也讓前端開發者們處在需要時刻跟上前端發展步伐的迷茫和痛苦中。若不加判斷的追逐這種日新月異的技術進步,就會走入什么都學了一點,但什么都沒學會的境地。
不知道所有的技術沒有關系,你也不可能都知道。大膽的承認自己不知道,比打腫臉充胖子假裝自己知道的人要優秀的多。
“React好復雜啊,要加上ReactRouter和Flux才能寫大型應用”
“嗯嗯,我也這樣覺得(內心:React是什么。。。)”
“那你平常用React做什么?“
“。。。(卒)。。。”
2. 新技術 != 合適的技術
你可能不止一次的聽到過這樣的嘲諷:“什么?你還在用Gulp?太過時啦,現在大家都用Webpack,比Gulp好用多了”。我不知道這種嘲諷有什么道理。新的技術就一定比原來的好?
脫離了實際的應用場景去評價工具的好壞就是耍流氓。我們學習和使用新的技術,一定不能只是因為它新它酷炫,而是因為它能夠更好的幫助我們解決當前的問題。如果舊的技術已經幫我們完美的解決了問題,那我們完全可以選擇忽視新的技術。
下次再有人單純的因為沒用最新的工具來懟你,你就大膽的對他說:“小孩才分新舊,大人只看利弊,對解決問題有利的才是最好的。你呀,too young too simple。”
3. 有效地利用資源
能記住大量的技術細節當然是強大實力的體現,但記不住并不代表弱小和拙劣。在這樣一個信息量如此奢華的互聯網時代,大多數的知識都可以在5分鐘內百度谷歌到。很多大的公司不是喜歡將一些小業務外包出去嗎,我們也可以把自己的一部分記憶“外包”給互聯網。獲取資料
-
工程師
+關注
關注
59文章
1574瀏覽量
68691 -
前端
+關注
關注
1文章
201瀏覽量
17879
發布評論請先 登錄
相關推薦




FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?







評論