周末参加极客大学的前端训练营毕业典礼,有同学问我,
我们公司做项目分配任务,一个星期的活,后端呢,两三个小时就弄完了,前端要做界面,做交互,做功能,忙活一个星期还得和设计师对 UI,和需求方对业务逻辑,最后呢,管事的还是那些后端工程师,这个世界还有天理吗?
你看,这就是一个前端工程师的呐喊。 我能说啥呢,只要安慰他,你不是对后端工程师有什么误解,他们要做的事情可多了,远不止做个接口那么简单 balabala……开导一通以后,他若有所思的离开了,我则想起了之前写的一些文字……
每次新功能上线,工作最为忙碌的是谁啊? 大前端(前端和移动端)工程师啊,他们需要应对产品经理的需求变化,处理设计人员的设计样图,还需要和后端人员确定交互协议和数据格式。 他们要保证交互能够达到产品经理的要求,UI 设计的实现要能通过设计师们钛合金像素眼的审核,最后与后端完成快速、安全、合理的数据交换。
这时候后端工程师在干嘛呢? 他们一边喝茶一边说笑着对产品指指点点,这不是挑毛病而是兼职进行产品测试,同时还陪伴前端同学调试功能,满足前端的数据需求。 后端工程师相信: 陪伴是最长情的告白,相守是最温暖的承诺。
最后前端费了九牛二虎之力,濞涕泡都累出来了,终于又弄出个界面,他们擦擦汗对后端说,再来个接口。 后端吹着口哨说,好咧。 十分钟,一个漂亮的基于 Restful 风格的 API 妥妥的写完,Json 格式,HTTPS 传输,快捷、方便、安全,response 和 refer 都无懈可击,童叟无欺居家旅行之必备良品……
为什么会造成这种现象呢? 还不是前端抢地盘嘛。 浏览器技术的突飞猛进,前端重获新生,不仅可以做 Web,还能实现原生级别的移动 App 开发,前端开始承担更多更重要的职责和角色。 前端的强大,导致一部分业务逻辑从服务器端转移到了前端,后来逐步形成了前后端分离的开发方式,前端负责界面上的大部分业务逻辑,然后通过 API 与后端进行交互。 原来业务系统看重的事务问题,要么一次 API 算一个事务,要么做成幂等服务,要么通过事务补偿的方式实现,要么交给异步消息队列处理,这样就形成了一套更为轻量级的开发模式。
后端干嘛去了? 后端工程师的主要职责是设计和编写 API,前端恶狠狠的称他们「写接口的」,因为「一个接口累死多少前端英雄汉」。
后端工程师不还得做架构嘛,搜索、消息中间件、存储、大数据、云计算、机器学习不都得后端工程师搞定么? 不好意思,这部分内容云计算厂商接手了。 看看阿里云里提供的各种模块就知道了。 你能做的,人家全有。
那后端真的就是写写接口吗? 根本不是这么回事。 我们来看看如何定义一个优秀的后端工程师:
1、在领域内精湛的技术造诣和丰富的经验
2、技术上的远见和整合能力
3、广泛的技术知识,不做基础组件,不意味着你可以不懂
4、熟练的编码技巧和细节把控,想当架构师的程序员都写得一手好代码
5、熟悉信息的表示方法,了解主流的和常见的国际技术标准
说白了,就是既具备技术整合能力,也通晓技术细节,从而实现技术驱动业务的突破,而不是纠结于某个中间件或存储服务。 现在的后端工程师的要求不是降低了,而是提高了。 除了技术架构还要了解业务。 想要驾驭首先要做到通晓。 了解所有业务逻辑的来龙去脉,知道一些典型系统设计方案以及其针对的问题,还有优劣比较。 接触过一些实际的系统。 在此之上,才有可能把合适的设计套用到当前的业务逻辑上,把现有的业务逻辑抽象成一个已经存在(部分)解决方案,或更经典的方式。
如果你是个后端工程师,如果你还没到达这个境界,推荐你看看李智慧老师和极客时间合作的新专栏 《 后端技术基础详解 》 。
《后端技术基础详解》专栏共 4 大模块,37 篇文章。 正如专栏名说的,李智慧老师会为你详解后端知识技术体系,包括 软件的基础原理、软件的设计原理、架构的核心原理 三个部分。 每一篇文章,都会从程序员常见工作场景出发,由点到面地引出背后的关键原理。
在第一个模块“ 软件的基础原理 ”中,他将主要讲述程序运行中背后的技术体系,主要涵盖运行原理、网络编程原理、数据结构原理、数据库原理等。
在第二个模块“ 软件的设计原理 ”中,主要探讨我们在编程的过程中应该有怎样的视野与知识储备,比如如何写设计文档? 软件设计中的原则都有哪些? 真正的面对对象是怎样的?
在第三个模块“ 架构的核心原理 ”中,将把视野投放到更大,更宏观的架构体系中,接触架构的不同类型,并了解它们的原理与区别。 比如分布式架构、高可用架构,以及目前风头正盛的的AI与物联网架构等。
在最后一个模块“ 技术人的思维修炼 ”中,则主要讲述身为技术人,应该如何保持不断进步的能力以及宏观的视野。
这个课程是专门为后端工程师创作的,李智慧老师也是极客时间的老朋友,他的第一个专栏《 从 0 开始学大数据 》已经有超过 14000 人订阅学习,希望这个新专栏能够帮助到你。
:point_down: 花 1 分钟看目录,快速了解课程知识体系
扫码试读,加入学习