为什么我们要成为全栈工程师?


转载本文需注明出处:微信公众号EAWorld,违者必究。

最近我身边的几个技术专家都在学习前端技术(VUE)的开发,为什么他们要学习前端技术呢?因为随着软件技术的发展,全栈工程师已然成为未来发展趋势,对大部分技术人而言,需要既懂后端技术,又能进行前端开发,成为全栈工程师。

什么是前后端分离的研发模式?

与“全栈工程师”相对的,是“前后端分离”的研发模式。前后端分离模式有两种含义:

前后端分离的部署模式,即前端服务器使用nginx等WEB服务器,部署css、js、图片等等一系列静态资源,负责控制页面引用、跳转、路由,前端页面异步调用后端的接口,后端/应用服务器作为一个数据提供者,加快整体响应速度。

前后端分离的软件研发模式,由于前后端使用的技术越来越不一致,前端又包括PC和移动前端,应用对人机交互的要求比较高,很多公司尤其是互联网公司,经常分为专门的前端工程师和后端工程师,后端工程师负责业务逻辑的实现、数据的准备,前端工程师交互设计、数据裁减、界面实现。

前后端分离的部署方式,提高了系统的响应能力,是未来主要的企业应用架构模式,我们也需要采用。这里的前后端分离是指第二种,即前后端分离的研发模式。

前后端分离研发模式的利与弊

事物总是一分为二的,有一利必有一害:前后端分离的研发模式,前端的重点放在页面表现、速度流畅、兼容性、用户体验,后端的重点放在三高(高并发,高可用,高性能)、安全、存储、业务方面,术业有专攻(目前很多互联网公司采用这种模式,公司 DevOps 产品研发也采用这种方式)。但是这种做法也有明显的缺点,就是沟通、集成成本高,前后端接口经常变化、前端/后端互相不理解、联调复杂,对于团队协作的很高。

既然有利有弊,那解决问题的方式就是分析主要矛盾、次要矛盾。某些技术团队及互联网公司之所以采用前后端分离的模式,是因为:

业务方向比较稳定,业务方向也不会有大的调整,可以不断优化,逐步形成好的设计,保持接口的稳定,避免反复调整;
能够形成稳定的闭环软件研发过程,例如从需求的提出到测试上线,虽然需求变化很快,但都是团队内部/公司内部的事情,沟通相对方便;
技术团队比较稳定,人员一起磨合时间比较长,沟通相对顺畅。

分析问题后可以看出,如果技术团队的主要矛盾是减少沟通成本,快速推出业务,而不是精益求精的技术运营,可采用全栈方式。我不反对有条件的项目尝试前后端分离的研发模式,但是要看看自身是不是适合,设计能力比较强、业务比较稳定的团队可以尝试。

克服畏难心理,学习新技术,成为全栈工程师

面对不断变化的市场形势,有时就需要我们成为全栈工程师。目前我看到的情况是,更多的工程师存在畏难的心理。其实所谓全栈,也就是前端、后端、数据库技术,前端技术要学习目前的前端开发工具(NPM、WebPack、Babel等插件)以及 VUE 框架即可,后端是 Java 技术,需要掌握 Spring Boot 的配置、POM/Maven 等开发工具,数据库要写好 SQL。有了这些基础,就可以成为一个全栈工程师,不需要求全责备。

都是全栈工程师,也需要专业的前端工程师保驾护航

有了全栈工程师,还需要专业的前端工程师保驾护航,专业的前端工程师有两个方向:

在项目中承担交互设计和美工的作用,根据项目设计前端的规范,解决各项目中的前端问题;
成为前端架构师,跟踪前端技术发展,制定前端规范,研发/维护前端框架,搭建统一的前端开发环境,解决各项目的关键问题。
 

向未来的全栈工程师致敬!



关于作者:焦烈焱,普元信息CTO,致力于技术创新和金融创新解决方案研究。专注于企业技术架构领域,对分布式环境的企业计算、 企业信息架构的规划与实践有着丰厚经验,带领普元技术团队相继在云计算、大数据及移动开发领域取得多项突破,并主持中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。


关于EAWorld:微服务,DevOps,数据治理,移动架构原创技术分享。长按二维码关注!

转载于:https://my.oschina.net/u/3920392/blog/3063726

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
成为全栈工程师,你需要掌握前端开发、后端开发和数据库等多个技术领域。以下是一些步骤和建议,帮助你成为全栈工程师: 1. 学习前端开发:掌握HTML、CSS和JavaScript等前端开发的基础知识。学习并熟悉常用的前端框架和库,如React、Vue.js等。 2. 掌握后端开发:学习至少一门后端开发语言,如Java、Python、Node.js等。了解服务器端开发的基本原理和常用技术,如RESTful API、Web框架等。 3. 学习数据库:了解关系型数据库(如MySQL、PostgreSQL)和非关系型数据库(如MongoDB、Redis)的基本概念和使用方法。熟悉SQL语言和数据库设计原则。 4. 学习系统和网络知识:了解操作系统原理、网络协议和常用的网络通信方式。掌握Linux操作系统的使用和基本命令。 5. 实践项目:通过实际项目来应用所学的技术,可以是个人项目、开源项目或者参与团队项目。这样能够锻炼你的综合能力,提高技术实践经验。 6. 持续学习和追踪技术发展:全栈工程师需要不断学习新技术和工具,跟上行业的发展趋势。关注各种技术论坛、博客、社交平台,参加技术交流会议和培训课程。 7. 构建自己的技术栈:根据实际需求和兴趣,选择并深入学习一些特定的技术或工具。例如,学习React Native可以开发跨平台移动应用,学习Docker可以进行容器化部署等。 8. 持续提升综合能力:全栈工程师需要具备良好的问题解决能力、团队合作能力和项目管理能力。通过参与团队项目、解决实际问题和不断提升自我管理能力,可以全面发展自己的综合能力。 成为全栈工程师是一个长期的过程,需要不断学习和实践。重要的是保持学习的态度和持续提升自己的技能,同时灵活适应不断变化的技术需求和行业趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值