0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样成为一名优秀的Java架构师

工程师人生 来源:网络整理 作者:工程师吴畏 2018-10-17 09:07 次阅读

和大家介绍下我目前所从事的工作。

我目前从事分布式服务架构的设计与开发工作,在阿里的大数据平台上进行应用程序开发。我们整个系统架构采用了“前后端分离”的思想,前端关注数据展现,后端关注数据生产,通过 REST服务将前后端整合起来,所有的应用都是无状态的,可以做到水平扩展。我们将整个系统拆分成许多“微服务”,服务之间通过统一的接口来调用,每个服务是通过容器技术进行隔离,此外服务可发布到统一的服务管理平台上,可通过该平台监控每个服务的运行状态与生命周期事件,并为服务调用者提供了服务发现的能力,可对服务进行平滑升级。

阿里有许多优秀的中间件与基础服务,可以快速帮助我们搭建应用系统,而且这些技术在阿里内部全是开源的,大家可以通过源码和文档学习到很多有价值的经验。阿里也提供了浓厚的技术氛围,每位同学都非常专注于自己的工作领域,大家对工作一丝不苟,相互配合,方向一致。

我是如何走上技术这条路的?

2008 年大学毕业,我离开了母校武汉理工大学,在院长薛胜军老师的推荐下,我来到了上海,这个对于我来说非常陌生的地方。我有幸加入了一家名为“动量软件”的创业公司,这家公司的老板曾经是亚信科技的 CTO,他也是普元软件的创始人兼 CTO,他的名字叫黄柳青,他也是薛老师的大学同学。于是就这样,我的老板成为了我的老师,我习惯叫他黄老师,包括公司其他资深的同事也成为了我的老师,因为我很想他们身上学到更多有价值的东西。

刚开始工作的时候我学习了什么是云计算?什么是 SaaS、PaaS、IaaS?我们花了三年时间开发了一款名为 ODE 的 PaaS 平台,让用户可以在该平台上量身定制自己的软件,最终为客户提供基于 SaaS 的产品。确实很骄傲,那时我们已经在做云了,只是没想到后来云会在中国得到这么好的市场,可能当时只有黄老师一个人想到了吧。

在 2008 年,我为公司拿回了“第一桶金”,这也是我从程序员转向项目经理的里程碑。当时我带领团队远赴深圳,为国信证券公司开发经纪人管理系统,这个项目对于我个人而言却是一笔至高无上的财富,我开始学习如何与人打交道,如何做需求分析,如何将需求转变为技术,如何带领团队小伙伴一起工作。学到了太多太多,但我依然选择在我工作第四个年头里离开了动量软件,我刚加入动量软件的时候,公司只有 5 个人(包括老板和前台),当我离开动量软件的时候,公司已经有 200 人左右了。感谢黄老师!我在他身上学到了很多,他的思想和态度直到今天都还在影响着我。

我的第二份工作还是选择了我最熟悉的证券金融行业,同样也是一家创业型公司,在这家公司里我担任了技术经理,管理了整个技术团队,从项目的售前到售后,我都亲自带领团队来完成。虽然在这家公司我只做了两年,但在这短短的时间里,我学会了如何提高开发效率、如何培养技术团队、如何选拔技术人才、如何建立企业文化。但最后我发现了一个问题,越是想做好,越是很难做好,为了做成一件事情需要做很多的尝试,做事情缺乏正确并有效的方法。

如何让自己成为一个优秀的Java架构师,而不是码农

回想我工作的前六年时间里,我一直都是在创业公司里成长,虽然可以快速学到东西,但似乎很难学到更加规范的做事方法。于是我选择了新的工作机会,来到了 TCL 通讯,这是一家相当大的公司,公司的研发管理流程来源于法国阿里卡特公司。我在公司担任 Java 架构师职位,也算是整个 Java 团队的技术负责人,虽然团队并不是特别地大。我在这家公司做了三年,学到了如何整合现有资源、如何按标准流程去做事、如何设计系统架构、如何进行异地工作、如何跨团队工作、如何用英文来沟通。说实话,当时我没有任何的工作压力,可以按时上下班,从来都不会加班。虽然自己空闲的时间很多,但我并没有选择去浪费时间,而是开始写点技术博客,也正是因为这些技术文章,才改变了我后续的职业发展道路。

Java 会在很长的一段时间内是主流,现在做Java Web开发都用哪些框架呢?

常用的比如Spring MVC、Struts2 等,国内的 JFinal、Nutz 等也不错,当然Smart 也是一个很好的选择。

有一定Web前端开发经验的人,很多都会有这么个想法:那些写框架的人好厉害,什么时候我才能写一个自己的框架呢?有时候看看别人的框架代码,又觉得很复杂,对此我有一些建议以及新人学习需要什么基础?分享一些好的方法。

抽象能力:对业务和技术进行抽象。业务抽象就是对需求进行分析后,能够建立完美的实体类以及他们之间的联系。技术抽象是对整体架构进行一个分层,各层之间的交互。这至关重要,如果技术抽象能力不足,这会导致整个系统的架构不灵活,难以维护和扩展。

知识的深度:至少是某个领域的专家,比如消息队列,activeMQ熟悉其源码,知道其实现。

优秀的学习能力:对新的技术和前沿性的技术进行学习,使用它来解决工作中的业务问题。

那么你该如何去做呢?我觉得可以从以下几个步骤开始:

1: 扎实的JAVA 基础,Think in java上介绍的内容都能理解,做到这一步恭喜成为了程序员。

2:熟练使用主流框架,如:mybatis,spring 等。

3:研究过至少一种以web框架的源码,如spring mvc ,struts 等。

4:架构过或者参与过高并发系统设计,知道如何应对突发情况。

5:对自己所处的业务能够根据自己的知识维度,提出优化建议或者预测其风险点。

其实能否成为架构师跟机遇有很大关系,比如一个程序员,以上都做到了,但是公司并没有给他这个机会去做,一个真正架构的机会。因为之前的架构师不离职他就没有机会,这就是现实!

技术人的归途

走技术这条路,归途是什么?是否转型又该如何抉择呢?

至少有好几条路线是可以走的,比如:深入技术、转型做产品、转型做管理等,需要根据自己的特长和性格来选择,做自己喜欢的事情。

从技术转管理,对自身的要求比较高,说具体点,需要看自己的情商,为人处世的经验,与人沟通的技巧,自己也需要有足够的胸怀,去包容一些事情,还需要自己有足够的人格魅力去吸引别人,让别人愿意跟着你一起做事。管理有些东西是很难从书本上学到的,但一些经典的管理理论是必须要去学的。

相比较而言,继续深入技术或者从技术转产品会容易一些了,因为很多时候都不太需要与人打交道。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102991
  • 架构师
    +关注

    关注

    0

    文章

    43

    浏览量

    4576
收藏 人收藏

    评论

    相关推荐

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之成为一名嵌入式C语言高手
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    如何成为一名嵌入式C语言高手? 嵌入式系统是当今科技领域的核心,而C语言则是嵌入式系统开发中最常用的编程语言之成为一名嵌入式C语言高手
    发表于 03-25 14:12

    优秀电源工程需要哪些必备技能?

    就带大家细数优秀电源工程具备的那些技能。、新手必备课程成为一名电源高手需要扎实的理论基础
    发表于 01-29 11:29

    优秀架构师怎样绘制系统架构蓝图的?

    模型是对客观存在的抽象,例如著名的物理学公式 E=mc2,就是质量能量转换的物理规律的数学模型。除了物理学公式以外,还有一些东西也是模型,比如地图是对地理空间的建模;机械装置、电子电路、建筑设计的各种图纸是对物理实体的建模。而软件,也可以通过各种图进行建模。
    的头像 发表于 11-20 16:13 245次阅读
    <b class='flag-5'>优秀</b>的<b class='flag-5'>架构师</b>是<b class='flag-5'>怎样</b>绘制系统<b class='flag-5'>架构</b>蓝图的?

    硬件开发少走弯路,来华秋这场研讨会

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程
    发表于 11-10 14:17

    硬件开发少走弯路,来华秋这场研讨会提升技能

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程
    发表于 11-10 14:14

    如何成为一名优秀的嵌入式工程

    如何成为一名优秀的嵌入式工程?嵌入式学习的第步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、fre
    发表于 11-07 15:36

    Multi ICE 2.2版用户指南

    本文档使用ARM软件开发工具包(SDT)或ARM开发套件(ADS)开发环境为Windows或Unix平台上的多ICE用户编写。 假设您是一名对ARM架构定经验的软件工程,或者是
    发表于 08-12 06:39

    一名硬件工程都具备哪些技能?

    芯片嵌入式物联网STM32
    学习电子知识
    发布于 :2023年08月02日 12:54:00

    【书籍评测活动NO.18】 AI加速器架构设计与实现

    自动放弃------------------------------------------------------------------------地平线BPU首席架构师/英伟达前高级架构师15年
    发表于 07-28 10:50

    教你在PADS中如何检查Stub线

    做为一名优秀的 PCB 设计师,他所设计出来的 PCB 应该是无可挑剔,包括前端的 PCB 布线和后端的 DFM(面向制造的设计,Design for manufacturability);
    的头像 发表于 06-27 09:09 1344次阅读
    教你在PADS中如何检查Stub线

    热门推荐:硬件工程必备工具

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为一名优秀的硬件工程
    发表于 06-21 10:15

    学会这些开发板,你一定能成为一名优秀的嵌入式开发工程

    嵌入式
    YS YYDS
    发布于 :2023年06月21日 00:28:39

    架构师需了解的一些知识

    ,反观自己却一个条件都不满足。 软件架构师就是这么一个让人向往,但又让人望洋兴叹的一个职位。就像建筑设计师总有成为总设计师的梦想,航天工作者总有成为总工程师的壮志,相信每一个软件工程师都有过
    的头像 发表于 05-10 17:11 555次阅读
    <b class='flag-5'>架构师</b>需了解的一些知识

    【致敬未来的攻城狮计划】嵌入式方向的看过来,第3期免费报名咯。。。

    《致敬未来的攻城狮计划》 第3期摘要:个崭新的计划,寻找那群有志于向嵌入式发展的未来工程!1 活动计划初衷《致敬未来的攻城狮计划》来源于架构师李肯的个念想,我
    发表于 05-05 22:12