腾讯T4高级Java工程师十年技术之路的思考与感悟(技术与管理)

摘要:刚入职场的程序员如何一步一步提升自己,成为团队里的一名精兵、再到骨干,并进一步成长为强将,除了要求有过硬的技术功底外,还需要哪些技能呢?本文作者分享了他的十年成长之路,希望对大家有所帮助。

回顾在腾讯的十年,作为一个本科毕业生,在管理上六年升任副总监,技术上七年半晋升 T4 专家。虽不是发展最好的,但相对平均速度来说都是比较快的。我总结主要的几点是学习成长、合作共赢、总结呈现、思考前行。分享一下这些方面的体会,希望可 以帮助初入互联网行业的技术人员或发展遇到困惑的人突破和提升自己,让自己成为精兵再到骨干,并进一步成长为一名强将。

要成为一个团队的精兵,必须是专业知识过硬,经验丰富,指哪打哪,能够非常让人放心的完成领导安排的任务的人。要做到这些,学习和实践是最直接的路径。通常一个毕业生,刚进入企业的时候,所学的知识并不能100%胜任岗位的需要,这个时候,快速地学习补充自己的知识缺陷就显得非常重要。在企业里的学习和实践,要注意以下几点。

如果可以对自己进行细分定位会更好

就如同我和我的团队在过去的七年里都经历了工作内容和岗位的细分一样,现今社会是一个信息爆炸的时代,IT技术也是不断地出现新的技术分支,要想每一样都做到精通是非常困难的。所以结合自身情况以及工作需要,对自己有一个更加细分的定位,这样做精力才能聚焦, 更有可能快速在你所做的领域不断深入,进而成为专家。而如果你想要成为一个综合性的人才,也可以考虑通过阶段性专注于某一细分领域,重点学习积累,具有一 定深度后再切换重点关注领域。

随着经验的增长,从精兵变成骨干,我们所从事的工作会逐渐由简单直接变得复杂综合且无法独立完成,这时候就需要团队协作甚至跨团队、跨部门推进。这个时候就需要我们很好地协调平衡各方资源,推进项目达成目标,并将团队的业绩最大化展现,获得肯定。在这个过程中,要注意以下几点。

(1)保持开放的心态。

需要在沟通合作中更多的换位思考,多创造一些双赢的机会。平时先帮助兄弟团队或同事完成目标,等到自己团队需要帮助的时候,也一定会有兄弟团队或同事出来帮助你。

(2)找到一些对大家都有帮助,大家又都感兴趣或可以学到新东西的事情。

比如我前面提到的速度优化虚拟团队就是一个例子。

(3)注重成果总结和展现。

我在公司职级晋升以及一些技术奖项评审中发现有不少人或团队所做的工作成绩非常突出,但在答辩的时候讲得很一般,平时很辛苦,最后呈现很糟糕,没有 通过评审或取得的成绩比较靠后,很可惜。职场不是一个只有一次机会的演讲,更像一个马拉松。对于不善表达的人来说,可以更多地注重利用日常工作中通过各类 文本的形式表达场景,这样可以在长期的工作中,让周围的同事和领导了解自己及团队的工作成果。

(4)注重平时的资料积累。

总结展现不好,很多情况也是由于内容不够丰富有价值。为了解决这个问题可以养成将一些日常工作中坚持将成果邮件、PPT、数据图表等案例分类汇总保留。这样在需要总结的时候数据会很丰富,有内容就不怕讲不出。

很多骨干走上管理岗位后,随着管理人数和团队的增加,会发现以前由领导指派的清晰目标逐渐没有了。团队部分成员甚至一些团队整体都会困惑应该做什 么,除了不断重复一些任务和工作外,团队成员长远的发展是什么等关键问题不明晰。如果这个问题得不到很好的解决,那么团队就可能出现不稳定、士气不高、战 斗力差等情况。

这个时候是很难的一个坎,因为以前不管是单兵作战,还是团队项目,目标多数比较明确,但在带领一个较大规模的团队时会发现,自己的工作内容往往不再是如何完成一个既定的目标,而是思考该做什么,我该将团队打造成一个什么样的团队,怎样帮助团队成员的发展,等等。

我自己也作了一些思考和探索,比如我在运维团队里以减少运维对象以及按专业分工的思路将团队分工不断细化,并尝试清晰地定义每个团队的核心工作职 责,让大家在自己团队核心工作职责的方向上不断沉淀,通过积累建立起和别的团队差异化的经验,形成自己独有的经验和平台优势。另外,提出“服务产品、服务 研发、服务自己”的理念,特意将产品放在第一位,研发第二位,希望引导运维团队有产品意识,寻找更多的办法去帮助产品、协助研发,从而让产品更加成功。而 不是只着眼于自己的运维效率,做一个纯粹的支持者。只有做好这个思考和探索,我觉得才能真正转变为一个强将,我自己依然在这样的思考与探索的路上。

系统化的学习工作所需要的是基础知识,而不是到百度或谷歌查资料解决。

这样有助于遇到问题后通过相关知识关联分析,也有助于搭建更合理的技术架构,或改进现有技术架构的不足,让知识形成协同效应。为了让没有做过研发的运维同事对研发不觉得神秘,能够去分析异常故障深层次原因,我特意总结了一个系统的学习方案,将这些知识体系化地通过一个个的小程序案例传递给大家。

分布式专题

微服务架构

性能优化

双十一电商项目实战

源码分析

除了工作中需要的新知识外,建议在工作一段时间后再回头系统性学习相关专业基础知识。

我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。

基本语法

这包括static、final、transient等关键字的作用,foreach循环的原理等等

集合

基本上就是List、Map、Set,问的是各种实现类的底层实现原理,实现类的优缺点。

设计模式

知道常用设计模式的优缺点。

能画出常用设计模式的UML图。

多线程

Thread和Runnable的区别和联 系、多次start一个线程会怎么样、线程有哪些状态。

JDK源码

List、Map、Set实现类的源代码

ReentrantLock、AQS的源代码

AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的

线程池的实现原理

Object类中的方法以及每个方法的作用

框架

熟练使用三大框架

数据库

SQL基础和SQL优化的内容

Java虚拟机

Java虚拟机的内存布局

GC算法及几种垃圾收集器

类加载机制,也就是双亲委派模型

Java内存模型

happens-before规则

volatile关键字使用规则

很多朋友相信也去面试过这类的公司,但是很可惜因为面试技巧的问题或者是技术并没有达到要求而没有拿到offer,下面我要给大家分享一个超级系统的学习计划。里面的内容不管去哪家公司我想应该都是能够用的上并且是实用的.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

2 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

程序员必备的三大核心竞争力

任何职业都有其内在的底蕴,作为一个程序员需要具备的几个竞争力是啥,如何让自己做一个不过时并且一直保持市场竞争力的程序员,特别是一些入行还不是很长时间的程序员是要...

34713
来自专栏程序员互动联盟

每天只需编程4小时

其实我一直认为,作为程序员每天有效编程时间大约4个小时就可以,我每天就是最多编程4个小时,不是因为我没有什么活,其实我的工作任务在很多人看来是“相当繁重”的。减...

3067
来自专栏程序员互动联盟

有经验的老程序员一定会做的三件事

很多人觉得程序员就是个异类,整体对着电脑,喜欢整天宅在家里,生活枯燥无味。如果是这么理解程序员,说明真的不了解程序人生,有代码为伴程序员并不觉得自己有枯燥,多有...

3437
来自专栏人工智能

重构出版:语音交互技术的冲击与机遇

重构出版:语音交互技术的冲击与机遇 1 摘要:语音交互技术是人工智能技术的重要分支,包括语音识别、语音合成和语义理解三个部分。语音交互技术不仅从出版实务上重构了...

18910
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(71)-SOP-销售预测

image.png 多层次计划 ? 1、需求计划(销售预测) 对企业未来较长一段时间内的产出内容和产出量所作的大致性描述 产品:以系列为单位 时间跨度:年、几...

2233
来自专栏ThoughtWorks

变中求生—频繁变化的团队如何打造团队文化 | TW洞见

今日洞见 文章作者/图片来自ThoughtWorks:师洁&范文博。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒...

2657
来自专栏大数据文摘

案例 | 从RISC到 x86,飞机维修业翘楚Ameco 转型记

1321
来自专栏测试开发架构之路

软件测试小白必读

软件测试作为一个行业繁荣发展,也只是近四五年的事情,相关培训也是雨后春笋,自2011年入行,看过太多人转行,看过一些人带着未知想入行,真真是围城里的人想出去,围...

3307
来自专栏架构师之路

转管理,先要问自己的5个问题

想要成为一名管理者,并不是做个决定这么简单,做管理需要一套完全不同的技能。好的架构师,好的技术专家,并不一定代表一个好的管理者。

1093
来自专栏大数据杂谈

大数据实战:知乎百万用户分析

这几天,同事都去出差,稍有感冒的我提前在办公室感受到了“孤独终老”的恐惧。 于是,我想在自己有能力并且还有激情的时候,去做一些以后值得回忆的事。我萌生了去“探...

1653

扫码关注云+社区