你不是一個前端

Mentor:「你不是一個前端」

我:"???"前端

Mentor:「你不要老想着本身是一個前端,你不是一個前端」後端

我:「但是把我招來不就是寫前端的嗎??」服務器

Mentor:「你能夠寫前端,可是你不要限制本身只做爲一個前端,不要把本身的眼光侷限在前端。你應該從整個項目、從工程的角度blablablabla...」前後端分離

我:(打斷)「不,我就是一名前端,我特別喜歡前端,特別喜歡JS」性能

Mentor:「我靠,你不要老說......你說你本身是一名前端,做爲大家Mentor,我就感受很丟人」設計

——以上對話發生於我前往百度實習的第二個周,我與個人Mentor之間調試

PS: 新人入職百度後,一般會有一位Menter(導師)來幫助新人

大四拿到了百度Offer後不久,便開始了在百度的實習。orm

熱愛前端,熱愛JS,有本身偏執的審美,認爲整個宇宙實際上是一個用JS編寫的程序——這固然是不可能的。不過熱愛JS確實是這樣。接口

隨着先後端分離,前端變得能夠只須要關注接口而不用管那該死的後臺——鬼才想知道你數據表是怎麼存的,我只想要個人JSON數據,而後完成酷炫的前端功能,讓用戶驚歎,讓本身驚歎,而後讓世界驚歎!ip

這就是我,一個華麗麗的前端~~

華麗麗的我接到了個人第一個Task——爲頁面開發導入功能,我負責前端,個人Mentor負責後端。

前端改動比較小的,我三下五除二寫完了界面與交互邏輯,一切很是順利~~除了一開始想要把後臺程序跑在我本地電腦上,用一個奇奇怪怪的Docker Compose時遇到了點麻煩。

不過無所謂,我並不想知道那東西是什麼,也不想知道爲何想跑Docker Compose須要改那麼多的參數。

總之,Docker Compose如今愉快的跑在個人電腦上了,除了吃掉我一半內存 致使個人WebStorm有些卡外,沒什麼很差的。只要能拿到約定好的數據,我就可讓前端界面就正常工做。

先後端分離萬歲~!

而後Mentor告訴我說接口請求要用RESTful,這是什麼?好像之前據說過。查了下資料——不就是用HTTP狀態碼來返回結果,順便語義下請求的方法(GET、POST、PATCH、PUT、DELETE...)嘛,前端改下Ajax請求就行了。

而後Mentor說,咱們要用RESTful:

  • 第一次建立數據要POST,之後要用PUT。OK
  • 檢測HTTP狀態碼來肯定請求結果。OK
  • 把Token寫在HTTP Header裏。。。OK

畢竟是工做嘛,只要項目要求,讓我把數據放Header裏我也沒意見。

可是Mentor向我解釋了這些,告訴我後端的實現邏輯和一些細節,爲何這樣更好,爲何會有這些行爲。我以爲好麻煩,難道我不是隻作好前端工做就行了嗎?

因而我向Mentor表示:

  1. 我不想了解那麼多的後端實現,你說這種接口調用方式會很大的影響後端性能,我改爲你指望的格式就好
  2. 我不想了解那麼多的項目配置,我只要按住流程走下去,最終跑起來一個能夠提供數據的服務器就行了
  3. 我只想知道,你指望什麼格式的數據,又返回什麼格式的數據
  4. 我只是一個前端

而後Mentor很是生氣,說出了「你不是一個前端」這句令我十分震驚的話。

我不是一個前端?

爲何我不是一個前端?我明明是一個前端!我就是憑着對前端的一腔熱血支撐着我一路走到了這裏,我熱愛前端,熱愛互聯網,熱愛JS。

或許在別人眼裏前端很Low,P技術含量沒有。

可是做爲熱愛前端的我知道,前端有多麼深邃、多麼靈活、多麼優雅、有多麼多的可能。每一種「外人看來毫無做用的新技術」解決了前端多麼痛的問題,每一代「頻繁升級的ECMAScript」更新帶來了多麼棒的特性。

「你說你本身是一名前端,做爲大家Mentor,我就感受很丟人」。

我感受這句話簡直否認了我對前端傾注的全部感情,被完全瞧不起了,我要是一名負責火箭發射的工程師對方毫不會這麼說。

因而我很生氣,以爲對方不可理喻。

我就是一名前端,我還打算未來加入TC39爲我心愛的JS添磚加瓦呢。


完成的導入的Task後,隨着時間的推移,我又陸續接到其餘的Task。

在一個新開坑的項目中,我和負責後臺開發的 DG同窗 在接口設計上發生了一些分歧。我主張在「返回應用的會話列表的接口」中,返回 會話數據 的同時返回 應用信息,而他表示這樣很差。雙方僵持了一段時間,因而我和DG決定去找隔壁的兩位高T(個人Mentor是其中之一)裁決下。

我闡述了下爲何我但願會話列表接口裏面帶着應用的信息:

  • 在查看調試會話列表接口時更方便
  • 這樣前端少請求了一個接口,展示數據會更快
  • 分開接口的意義不大,應用信息很是少,不必再加一個接口,直接附帶在會話列表接口中就行了
  • 雖然分開後2個接口各司其職,可是前端要分開處理,很麻煩

聽了的我解釋和,Mentor和我說:

你發現了嗎?你的全部出發點都是爲了前端更方便。

確實,你是一名前端,因此你確定但願前端用的爽。可是,正是由於你只是一名前端,你不瞭解後臺的實現、構架,不知道怎樣的設計對於後臺是合適的。也不瞭解這個項目自己,因此也沒辦法站在一個工程的角度考慮這個問題。

這就是所謂的屁股決定腦殼,由於你只是一名前端,而不是一名工程師。

我忽然愣住了。

我確實不知道後臺的實現,後臺用的什麼ES徹底不知道是什麼。我也不知道本身作的這個項目是幹什麼的,只知道從UI那裏拿到了一份設計稿,而後將它還原了出來。

我忽然想到了學校中,老師反覆強調過「一生的碼農」和「工程師」的區別,那時的我聽了不覺得然。

而如今,我真真切切的感覺到了兩者的區別!!!

意識到錯誤的我感受超級尷尬,比較剛剛還神氣十足頭頭是道來着。。。

。。。小聲認可了下本身的錯誤,而後趕忙轉過頭去僞裝寫代碼。

心裏OS:啊啊啊啊!~!! 好尷尬!!!不過很感謝,可是好尷尬!!或許應該好好謝下Mentor,可是好尷尬啊啊啊!!

表情複雜的盯着屏幕上的 function 聲明語句好長時間,嗯,橘紅色的高亮挺好看。而後去找到了剛剛的DG同窗討論了下後臺實現和構架,並對他的方案表示了確定。。。


如今,我終於明白了,「你不是一個前端」的含義。


「教作人」的平常還在繼續,前進的腳步也不會中止。