你不是一個前端
Mentor:“你不是一個前端”我:"???"
Mentor:“你不要老想著自己是一個前端,你不是一個前端”
我:“可是把我招來不就是寫前端的嗎??”
Mentor:“你可以寫前端,但是你不要限制自己只作為一個前端,不要把自己的眼光侷限在前端。你應該從整個專案、從工程的角度blablablabla...”
我:(打斷)“不,我就是一名前端,我特別喜歡前端,特別喜歡JS”
Mentor:“我靠,你不要老說......你說你自己是一名前端,作為你們Mentor,我就感覺很丟人”
——以上對話發生於我前往百度實習的第二個周,我與我的Mentor之間
PS: 新人入職百度後,通常會有一位Menter(導師)來幫助新人
大四拿到了百度Offer後不久,便開始了在百度的實習。
熱愛前端,熱愛JS,有自己偏執的審美,認為整個宇宙其實是一個用JS編寫的程式——這當然是不可能的。不過熱愛JS確實是這樣。
隨著前後端分離,前端變得可以只需要關注介面而不用管那該死的後臺——鬼才想知道你資料表是怎麼存的,我只想要我的JSON資料,然後完成酷炫的前端功能,讓使用者驚歎,讓自己驚歎,然後讓世界驚歎!
這就是我,一個華麗麗的前端~~
華麗麗的我接到了我的第一個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表示:
- 我不想了解那麼多的後端實現,你說這種介面呼叫方式會很大的影響後端效能,我改成你期望的格式就好
- 我不想了解那麼多的專案配置,我只要按住流程走下去,最終跑起來一個可以提供資料的伺服器就好了
- 我只想知道,你期望什麼格式的資料,又返回什麼格式的資料
- 我只是一個前端
然後Mentor非常生氣,說出了“你不是一個前端”這句令我十分震驚的話。
我不是一個前端?
為什麼我不是一個前端?我明明是一個前端!我就是憑著對前端的一腔熱血支撐著我一路走到了這裡,我熱愛前端,熱愛網際網路,熱愛JS。
或許在別人眼裡前端很Low,P技術含量沒有。
但是作為熱愛前端的我知道,前端有多麼深邃、多麼靈活、多麼優雅、有多麼多的可能。每一種“外人看來毫無作用的新技術”解決了前端多麼痛的問題,每一代“頻繁升級的ECMAScript”更新帶來了多麼棒的特性。
“你說你自己是一名前端,作為你們Mentor,我就感覺很丟人”。
我感覺這句話簡直否定了我對前端傾注的所有感情,被徹底瞧不起了,我要是一名負責火箭發射的工程師對方絕不會這麼說。
於是我很生氣,覺得對方不可理喻。
我就是一名前端,我還打算將來加入TC39為我心愛的JS添磚加瓦呢。
完成的匯入的Task後,隨著時間的推移,我又陸續接到其他的Task。
在一個新開坑的專案中,我和負責後臺開發的 DG同學 在介面設計上發生了一些分歧。我主張在“返回應用的會話列表的介面”中,返回 會話資料 的同時返回 應用資訊,而他表示這樣不好。雙方僵持了一段時間,於是我和DG決定去找隔壁的兩位高T(我的Mentor是其中之一)裁決下。
我闡述了下為什麼我希望會話列表介面裡面帶著應用的資訊:
- 在檢視除錯會話列表介面時更方便
- 這樣前端少請求了一個介面,展現資料會更快
- 分開介面的意義不大,應用資訊非常少,沒必要再加一個介面,直接附帶在會話列表介面中就好了
- 雖然分開後2個介面各司其職,但是前端要分開處理,很麻煩
聽了的我解釋和,Mentor和我說:
你發現了嗎?你的所有出發點都是為了前端更方便。確實,你是一名前端,所以你肯定希望前端用的爽。但是,正是因為你只是一名前端,你不瞭解後臺的實現、構架,不知道怎樣的設計對於後臺是合適的。也不瞭解這個專案本身,所以也沒辦法站在一個工程的角度考慮這個問題。
這就是所謂的屁股決定腦袋,因為你只是一名前端,而不是一名工程師。
我突然愣住了。
我確實不知道後臺的實現,後臺用的什麼ES完全不知道是什麼。我也不知道自己做的這個專案是幹什麼的,只知道從UI那裡拿到了一份設計稿,然後將它還原了出來。
我突然想到了學校中,老師反覆強調過“一輩子的碼農”和“工程師”的區別,那時的我聽了不以為然。
而現在,我真真切切的感受到了二者的區別!!!
意識到錯誤的我感覺超級尷尬,比較剛剛還神氣十足頭頭是道來著。。。
。。。小聲承認了下自己的錯誤,然後趕緊轉過頭去假裝寫程式碼。
內心OS:啊啊啊啊!~!! 好尷尬!!!不過很感謝,但是好尷尬!!或許應該好好謝下Mentor,但是好尷尬啊啊啊!!
表情複雜的盯著螢幕上的 function 宣告語句好長時間,嗯,橘紅色的高亮挺好看。然後去找到了剛剛的DG同學討論了下後臺實現和構架,並對他的方案表示了肯定。。。
現在,我終於明白了,“你不是一個前端”的含義。
“教做人”的日常還在繼續,前進的腳步也不會停止。
相關文章
- 不懂 Nginx 的前端不是好前端Nginx前端
- 寫一個屬於你的前端腳手架工具前端
- 餘生不是你
- 前端是不是沒有地位?前端
- 你不是說你會Aop嗎?
- 我不是一個合格的面試官面試
- 學習web前端開發打好基礎,你缺少的不是耐心,是技巧!Web前端
- 你的Oracle是不是這個時間發生的故障?Oracle
- 新手必踩5個大坑,避過你將是下一個web前端高薪大牛!Web前端高薪
- 你所以為的不是你以為的
- 這個由墓碑組成的遊戲,能讓你直觀感受到“人死不是一個數字”遊戲
- web前端是不是沒有前景了?Web前端
- 到底getApplicationContext和getApplication是不是返回同一個物件?APPContext物件
- python List,它不是一個簡單的陣列Python陣列
- Go 語言中,有時 nil 並不是一個 nilGo
- 用 vuetifyjs 擼了個前端介面,感覺對前端不是很精通的後端還是可以用一用,元件基本夠用VueJS前端後端元件
- 你說你會用Companion object?恐怕不是!Object
- 一道面試題牽出12個前端硬核知識點,你能答出幾個?面試題前端
- 【2019 前端進階之路】站住,你這個Promise!前端Promise
- 相信我!這絕不是你討厭的那個數學函式函式
- 元宇宙是一個時間點而不是一處地方RQ元宇宙
- 不是計算機專業,哪個專業更適合學習web前端計算機Web前端
- 我不是一個成功的人,但是我想做一個優秀的程式設計師程式設計師
- 一個無名前端的10年前端路前端
- DRS是啥你都不知道?不是吧,不是吧
- 前端如何定義一個常量前端
- 你可以 CRUD,但你不是 CRUD 程式設計師!程式設計師
- 如果讓你帶一個什麼都不懂的人入門學前端,你應該怎麼帶他?前端
- 如果讓你去管理一個10人的前端團隊,你該怎麼管理?第一步先幹嘛?前端
- 你以為對方是個高手,但可能TA連人都不是
- 哪個中年IT男不是一邊面對危機,一邊咬牙硬抗
- 超級休閒不是一個階段,而是一種文化衝擊
- 晉升的為什麼不是你
- 你是不是這樣的程式猿
- 你是不是這樣的程式猿?
- 程式設計師如何讓自己的技能變現?你是不是感覺自己錯過了一個億?程式設計師
- 要做軟體工程師,而不是前端工程師軟體工程工程師前端
- 這30道Web前端面試題,一個小時內你能否答得出來?Web前端面試題