你不是一个前端

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同窗讨论了下后台实现和构架,并对他的方案表示了确定。。。


如今,我终于明白了,“你不是一个前端”的含义。


“教作人”的平常还在继续,前进的脚步也不会中止。