腾讯首席架构师:Java程序员四个阶段成长路线,少走弯路

有这么一位Java大牛

他是前 Oracle 首席工程师,负责过北京Java核心类库、国际化、分发服务等技术团队的组建。大家都知道,Java 就是 Oracle 公司的,他对Java的理解会与众不同。他把Java程序员的成长路线划分为新手、高级新手、胜任者、精通者和专家,让大家少走弯路。
创一个小群,供大家学习交流聊天
如果有对学JAVA方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀。
也希望大家对学JAVA能够持之以恒
JAVA爱好群,
如果你想要学好JAVA最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐一个学习的组织:快乐学习JAVA组织 可以点击组织二字,可以直达


一、新手

如果你是新手阶段,全面、扎实地掌握语言的基本要素是当务之急。在这个阶段是有无限可能的,因此并不建议完全用专栏作为Java语言入门的课程,而是更应该找到更基础的、系统的Java书籍或者课程。

腾讯首席架构师:Java程序员四个阶段成长路线,少走弯路
你可以从专栏的基础模块,看到Java领域长期的热点话题(十年前面试就会问,一直问到今天),比如:

  1. | Exception和Error有什么区别?
  2. | 谈谈final、finally、finalize有什么不同?
  3. | 强引用、软引用、弱引用、幻象引用有什么区别?

二、高级新手

工作了几年,整天忙于业务代码,很容易困惑下一步的方向在哪里,相当多的程序员长期停留在高级新手的阶段。一个常见的表现就是发展成为了“面向搜索引擎”编程工程师,擅长快速利用开源项目或者以往成果,完成一些“OK”的工程任务。这本无可厚非,职业路线很多,未必每个人都想成为底层专家。

腾讯首席架构师:Java程序员四个阶段成长路线,少走弯路
第4讲 | 动态代理是基于什么原理?
第5讲 | 对比Hashtable、HashMap、TreeMap有什么不同?
第6讲 | Java提供了哪些IO方式?NIO如何实现多路复用?
第7讲 | 什么情况下Java会产生死锁?如何定位、修复?
第8讲 | Java常见的垃圾收集器有哪些?

我建议你即使未来你不在一线编码,或者未来不再使用Java,同样的思维习惯和积累也是很有帮助的。

三、胜任者

那如何才能算是摆脱了高级新手的阶段呢?或者换句话说,如何成长为团队的核心成员?这取决于你能背多大的锅、填多大的坑,比如你已经可以:

独立负责做GC调优,即使没有历史经验,也能给出有说服力的方案。
在JVM领域有充足的技术经验和知识储备。
全面评估评估后台变慢等问题的复杂度、风险点、解决的可能性。
对于所谓本质的思考和理解,能听懂深入的抽象观点。
腾讯首席架构师:Java程序员四个阶段成长路线,少走弯路
并且,除了Java/JVM,还要掌握更完整的技能树,例如分布式系统设计、数据库隔离级别选型等。另外,我也推荐你看看专栏里这些内容:

第9讲 | 谈谈常用的分布式ID的设计方案?Snowflake是否受冬令时切换影响?
第10讲 | 谈谈MySQL支持的事务隔离级别,悲观锁和乐观锁的原理和应用场景?

四、精通者和专家

如果你已经精通Java语言或者是特定领域的专家了,那这个专栏对你的帮助可能体现在不同角度,可以当作特定领域的、不同视角吧。例如,在这个阶段,精通者或专家能够:

提炼并发工具类的一般性指导方法。
告诉团队如何写出安全的Java代码,防范看似安全下隐藏的风险。
借鉴Java/JVM中的一些技术,从基础能力上提高自身平台的能力。例如,PHP 7中引入的JIT,带来了极大的性能提升,第35讲中对JIT的介绍,就有了新的用武之地。
如何通过Container-Aware技术,提高Kubernetes集群中JVM负载的可靠性。
创造某一类问题的解决方法。例如,似乎Java工程师动不动就是Happen-Before,除了耍酷,能不能从更高的高度看待:JMM是如何实现了编译器工程师、JVM工程师、Java开发者甚至不同厂商之间的一致性规范?如何创造性地避免了早期C++内存模型在不同厂商之间的混乱?

原文地址:https://blog.51cto.com/14210110/2368054

时间: 2024-10-15 15:54:45

腾讯首席架构师:Java程序员四个阶段成长路线,少走弯路的相关文章

论“java程序员的进阶路途”如何做到少走弯路,多写正确有意义的代码。

首先说明一下我为什么会去思考这个问题.本人离开学校也有一段时间了,经过了几场面试几次临时抱佛脚还有遇到的种种问题之后,社会告诉了我,如何做到少走弯路?如何让自己在何时去写合适的代码.其实在我看来这是每一位程序员都会去思考的事情. one:"如何让自己少走弯路" 一个伟大的程序员或者架构师再或者一个cto,如果你想问他们怎样让自己快速的进步?他们如一的告诉你,"累代码":对,对,讲的对!一名合格的程序员就是从简单的代码积累进阶的. 可是如果一名程序员重复的代码永远就是

从java程序员到CTO的成长路线图

很多新人不知道从事java开发,具体的发展路径是怎么样的,甚至很多人都不能区分程序猿和攻城师的区别.包括不少小白,从事java开发都半年,甚至1年了,对职业发展还没有清晰的认证.这非常不利于自己的发展,人要往哪走,首先需要明确的是方向.今天,就给大家揭露一下java开发从程序猿到CTO的路线图,以及每个阶段需要掌握的技术. Java程序员 高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变 参数.可变返回类型.增强循环.静态导入 核心编程 IO.多线程.实体类. 集合类.正则表达式. X

提高Java架构师和程序员效率的10个工具

Java受到全球百万计开发者的追捧,已经演变为一门出色的编程语言.最终,这门语言随着技术的变化,不断的被改善以迎合变化的市场需求. 无论你是否拥有一家科技公司,软件已经成为几乎每一个企业不可或缺的一部分,为了吸引你潜在的顾客,你应该交付给客户一个技术上有创新的产品.那么,Java能提供这样的平台帮你实现这一技术创新.Java贡献者们一直保持着大幅度的更新,以提供最新最强大的功能. 最近发布的 Java8完美的诠释了高效和创新的特性,也为那些想要在创新之路上取得成功的企业铺平了道路.然后,合适的完

为了升级到架构师,程序员无需过度关注哪些技能?哪些技能不可缺?

如果走技术路线,架构师是个关键的结点.如果在大厂,一般有有6年时间足以升级到高级开发.因为在大厂里,能提供架构师所需的分布式组件开发调试以及上线的经验,上进点的程序员只要跟着大流,多通过排查问题观察底层,多通过压测或部署组件多实践缓存.高并发高可能之类的技术,想不升级到架构师都难. 但不少程序员止步于高级开发,在我之前的博文为什么很多程序员没有升级到架构师?里讲述了这一现象并分析了原因.如果是因为主观不上进导致自身发展受限,那么别人也帮不了你,不过我在面试候选人的时候,发现一些态度积极的程序员把

架构师害怕程序员知道的十项技能的读后感

6年前就看过这篇文章,当时朦朦胧胧的,现在再次看了一遍,受益匪浅啊. 一 每个好架构师都是一位出色的程序员(卓越的程序员) 确实,首先得会编码,知道编码是咋回事,才能设计出结构来进行逻辑开发,不然设计出来的东西自己不知道该从哪里入手,别人就更不知道了. 我从事编码也有8年了,对程序开发也算相当熟悉了,所以我在架构的时候也会考虑是否容易扩展,各个接口是否都好用,这样在开发具体功能时就能很方便的套用结构了. 二 女性架构师优先?驾驭概念的技能是最高潜力(抽象思维) 架构师在拿到需求后,首要的任务就是

阿里架构师:?程序员必须掌握的几项技术能力

一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心驱动力.我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦): 只关注项目本身,不懂就baidu一下. 除了做好项目,还会阅读和项目有关的技术书籍,看wikipedia. 除了阅读和项目相关的书外,还会阅读IT行业的书,比如学Java时,还会去了解函数语言,如LISP. 找一些开源项

架构师给程序员的一封信

六个月前,当我们开始新项目时,我和我的团队里的每个人都收到了来自我们的架构师的一封邮件: 每次当我开始做一个新项目时我都非常的兴奋.即使是在做了20年的软件开发后,我仍然感觉心里像揣了一个小兔子似的怦怦直跳.这将是我们共同的旅程.我深信我们正在绘制一份充满乐趣.富有挑战.内容丰富的路线图.我想让这趟旅程能够成为你们将来值得回忆的一件事,希望你们都能完全的体验到这次经历. 这有点理想化,但我会尽量使公司的议事日程.技术策略和你们的进展协调一致.这样一来,如果你们做的很好,大家都会受益.我对你们技术

Java程序员一年的成长和蜕变

我叫小肖,毕业于湖南农业大学,计算机科学与技术专业学生,从那年07月25日开始工作,距今也已经一年有余.从一个Java入门小白,到现在能独立开发并且胜任独立工作的能力,在此总结一下个人一年来的成长和蜕变,以此和大家共勉! 那年7月份到深圳,信心满满的以为自己找工作会一帆风顺,谁知这成了一部血泪史,带着一份servlet+jdbc做的毕业设计到深圳,简历上三三两两的写了"项目经验":图书管理系统.养老院管理系统,当时还完全不会SSH(struts2+spring+hibernate),然

链圈的朋友们值得收藏!腾讯首席架构师教你两种区块链设计思路

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由敖萌发表于云+社区专栏 区块链发展到了现在,产生了很多不同形式的区块链技术.随着技术的发展,目前比较公认的看法是区块链已经走进了2.0时代.区块链1.0是以比特币为代表的去中心化数字货币区块链系统,而2.0则是引入了智能合约的区块链系统. 在支持智能合约的区块链系统中,Linux基金会所属的Hyperledger Fabric(由IBM贡献)和Vitalik Buterin所领导的以太坊基金会所创造并管理的Ethereum(以太坊