如何識別牛逼的前端工程師

張鑫技術男發表於2016-11-12

如何定義牛逼工程師

有軟體工程方面的研究說,對於開發者個體而言,最優秀的開發者的生產效率約為平均值的2倍,而優秀的開發者會吸引其它優秀的人,或者激勵與幫助團隊中的其它成員,最終使團隊之間的生產效率差異達到10倍之多。

所謂牛逼的工程師,就是那些個體效率是其它人2倍,形成團隊之後達到10倍差異的一群人。

前端領域這幾年發展速度非常快,人才分佈呈兩級分化趨勢,大家都在說缺前端,其實缺的是牛逼前端,對於低端的前端,培訓機構一直在量產,但是無法滿足要求。很多情況下,一個牛逼前端對於團隊的價值是再多低端前端都無法提供的。

牛逼的前端工程師有一些共通的特質,這些特質也許不屬於前端的核心範疇,但是可以通過它們將牛逼的人識別出來。

對使用者體驗的追求

不要認為使用者體驗只由設計師和產品經理把關就可以了。前端工程師對使用者體驗的關注度會直接影響產品的最終效果。

不管設計文件有多麼詳細,產品中仍然有大量的細節是設計方沒有考慮到或者預設的,而這些細節需要前端工程師來把關。同樣的設計,交給不關注體驗的前端來做的話,會有很明顯的粗糙感,而想要填平這些粗糙感需要大量的附加成本。

目前多數視覺設計師的不足是無法以動態的角度理解產品。比如我們要出一個設計稿,PC時代我們會出一個固定寬度的稿,比如800畫素,然後讓工程師去還原。後來到移動時代,我們會讓設計師出兩三個稿,對應不同螢幕的手機。這就是缺乏動態思維的彌補措施,無論出幾個寬度的視覺稿,都只是動態形態的截面。

動機來源

我遇到的很多轉行做前端的人是認為前端門檻低,所以先從前端做起。這樣的人也許能做基礎的工作,但很難做到優秀。

牛逼前端是奔著前端領域有更多的挑戰和發揮空間而來的,而不是為了好找工作。事實上勝任高階前端的職位很難,我們招聘高階前端工程師的面試通過概率可能是研發類職位中最低的。

還有的人說對前端有興趣,所以轉行做前端。對於前端的興趣要建立在對計算機的興趣、對程式設計的興趣之上。如果一個人對於做前端很有興趣,但是對做後端或者其它開發類職位有排斥,那麼就要對他的興趣打個問號了,這類人可能不適合做研發類的工作。

全棧意識

這裡所說的全棧並不是真的要去做後端工程師一樣的事情。對於前後端分離,很多人有誤解,理解成前端不用寫後臺程式碼。真正的前後端分離指的是系統級的分離,前端有獨立的系統,當然要有自己的後臺,還有各種輔助支撐系統。程式碼構建、釋出、線上運維、資料統計監控都要了解,否則沒法獨立承擔一塊業務。

牛逼的前端工程師首先得是一個牛逼的軟體工程師,他們是不會給自己的能力設限的。

而前端工程師所做的事情是將截面延展為一個完成的產品形態。

牛逼的前端能夠主動追求使用者體驗的提升,對於互動、UI、視覺設計有基本的認識和審美能力,即使脫離設計師的支援依然能交付使用者體驗良好的產品。

瞭解自動化測試

優秀的前端不一定真的有多豐富的自動化測試實踐經驗,但一定要了解與自動化測試相關的基礎知識。系統的可測試性本身比具體的測試用例覆蓋度更重要。追求質量不是一件有時間了再去做的事情,追求質量本身是提高效率的方法,從而給你更多的時間。自動化測試是前端工程化建設的必備環節,雖然前端的自動化測試還沒有形成穩定且應用廣泛的實踐方法,但是自動化測試這一塊完全缺失的話,肯定是成為不了一個牛逼前端的。

重視監控系統

初級前端看功能,中級前端看測試,高階前端看監控。

前端做監控的目的就是在產品上線之後要從使用者端拿到第一手的資料,畢竟使用者端好用才是真正的好用。

目前多數公司對於前端的監控做的是不夠的。在前後端分離的技術架構之下,前端要有自身的一整套監控體系才行。

很多時候後臺監控到的是結果,結合前端監控才能分析出原因。我舉個例子,比如後臺監控到實時訂單量驟減,這個是最終的結果,如果有前端的監控,我們就要看一下前端的可用性狀況、各個頁面的UV、載入效能、每個互動環節的點選量,各個介面的效能和出錯佔比、前端程式碼報錯的量和位置,然後定位出問題所在。

真正經歷過大型專案並且做過技術架構的工程師都會重視監控系統的建設。

做好監控需要有很好的大局觀,一方面是產品的大局觀,包括思考使用者會如何使用產品,如何量化這些行為,每個環節資料的預期變化。另一方面是技術的大局觀,要了解到整個技術架構不同模組是如何協作的,怎樣測量它們是否正常工作。

總結

牛逼前端肯定不會只把時間花在研究瀏覽器上,他們所共有的特質就是:對於使用者體驗的追求、迎難而上的動機、全棧意識、注重自動化測試與資料監控。基礎知識之外,對於周邊體系的掌控狀況最有區分度。

相關文章