工作经验小结 之一

9 篇文章 0 订阅
4 篇文章 0 订阅

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

 

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

 

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

 

一、工程化管理工具

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

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

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

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

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

 

二、分布式架构

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

640?wx_fmt=png

图片来源自CSDN-qq_41696154

 

三、微服务架构

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

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

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

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

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

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

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

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

640?wx_fmt=png

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值