工作经验小结 之一

在一家公司呆久了,就容易思维固化。身边有朋友出去找工作也四处碰壁,即使入职了下一家公司,也很难立足。

而我的分析是,1~2年的经验,其实已经足够让我们入门了,学习需求分析、项目管理,写出更好的代码,才是我现阶段应该做的。

做开发很多年,这期间我获得了很多能力,技术能力、大厂经验、培训能力……但是在这里,我建议大家最值得训练的,还是学习和分析的能力。

一、工程化管理工具

不管小白还是大牛,做Java技术,选择好的工具,才是提升开发和团队协作效率的关键,以下四个工具是必不可少的:

① Maven,项目对象模型,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

② Jenkins,一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。

③ Sonar,一个开源平台,用于管理源代码的质量。

④Git,一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

二、分布式架构

高并发、高可用、海量数据,没有分布式架构知识,肯定是无法胜任的。一位朋友在五百强公司工作五年,曾承担过项目经理多年,将五年开发经验所得,整理了下面这张学习路线图。也分享给大家。

640?wx_fmt=png

图片来源自CSDN-qq_41696154

三、微服务架构

业务流程越来越复杂,代码量的膨胀和团队成员的增加,传统单体式架构的弊端越来越凸显,严重制约了业务的快速创新和敏捷交付。

为了解决传统单体架构面临的挑战,微服务架构横空出世。微服务有五大优势,学会微服务,就等于提升了翻倍的工作效率:

  • 每个服务足够内聚,足够小,代码容易理解、开发效率提高。

  • 服务之间可以独立部署,微服务架构让持续部署成为可能。

  • 每个服务可以各自进行x扩展和z扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上。

  • 容易扩大开发团队,可以针对每个服务(service)组件开发团队。

  • 提高容错性(fault isolation),一个服务的内存泄露并不会让整个系统瘫痪。

  • 系统不会被长期限制在某个技术栈上。

640?wx_fmt=png

关于微服务的学习,平时可能经常给大家推荐免费资源,虽然很便利,但是免费资料纷繁复杂,找资料会比较浪费时间,甚至经常找到的不是我们想要的,这份时间成本是没办法跟咱们的成长价值匹配的。

猜你喜欢

转载自blog.csdn.net/Qsir/article/details/92643395
今日推荐