阅读更多

10顶
0踩

非技术

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

 

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

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

1.借助导师、同事资源。这样可以让自己快速解决遇到的问题,少走很多弯路。

我刚毕业时的导师就对我有问必答,直到现在和同事讲起我的导师时,我都会说他是我工作以来遇到的技术最全面的、最佩服的人之一。

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

这样有助于遇到问题后通过相关知识关联分析,也有助于搭建更合理的技术架构,或改进现有技术架构的不足,让知识形成协同效应。为了让没有做过研发的运维同事对研发不觉得神秘,能够去分析异常故障深层次原因,我特意开发了《直观认识网络通讯》、《直观认识进程间通讯》、《直观认识HTTP协议》等几门课程,将这些知识体系化地通过一个个的小程序案例传递给我们的同事。

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

因为在学校的学习多数都缺乏实践,很多知识的掌握比较粗浅,在工作一段时间后重新再学,会有完全不同的收获。比如,我有了一段时间排查业务异常和网络问题的经验后,又将学校读过的《TCP/IP详解卷1:协议》读了一遍,发现收获特别多,很多实际业务在异常时表现的现象都和书上讲的对应起来了。一些只在书上看过但无法在试验环境模拟的现象都在实际工作中找到了场景。

4.借助平台学习成长。

实际工作中,爆发式增长的业务或大平台是一个人快速成长和进步非常好的资源。因为爆发式增长的业务会让你在很短的时间内遇到在其他地方好多年可能都 不会遇到的问题,而大的平台一定是从小而来,趟过很多的坑,在这样的环境中,保持一个好奇好学的心态,可以快速提高自己。比如,在QQ空间业务开始爆发增长的时候,有段时间我曾经十天里有六天夜里和同事一起分析解决业务异常,经常持续几小时甚至到天明,也正是那段时间,遇到了别人几年才 有可能遇到的各类问题,让自己知道该补充什么知识,在后续的运维工作中对我有了很大的帮助。

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

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

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

(1)保持开放的心态。

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

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

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

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

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

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

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

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

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

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

希望每一个刚进入互联网行业的技术人员或发展遇到困惑的人都能突破自己,从精兵成长为强将。

  • 大小: 25 KB
来自: 人邮IT书坊
10
0
评论 共 10 条 请登录后发表评论
10 楼 hw_imxy 2014-10-11 16:57
运维也叫程序员?呵呵了
9 楼 amanda7783 2014-10-11 14:45
我是一个刚工作一年从事前端开发的程序员,马上要进新公司深造,新公司是个很大的外企在我心里地位很神圣,希望能在前端有好的发展,所以想问一下Javascript这方面有哪本很系统很基础的书籍可以研读。
8 楼 malie0 2014-10-11 10:57
tiannet 写道
malie0 写道
腾讯不是只要偷别人的就可以了吗


外行人说说也就算了,程序员这么说真是悲哀。

腾讯就是个无耻的流氓软件公司而已。QQ偷偷扫描用户硬盘的事情解决了吗?那些做程序的还要脸吗?不要以为做技术的就是纯粹的不涉及价值观的,你在做技术的时候要知道自己在做什么,就像帮助某组织过滤敏感词、把用户聊天记录提供给政府的软件公司里的程序员有一点良知吗?希望做技术的同样要记住当年德国法官的那句话“你可以把枪口抬高一寸”
7 楼 tiannet 2014-10-11 09:06
malie0 写道
腾讯不是只要偷别人的就可以了吗


外行人说说也就算了,程序员这么说真是悲哀。
6 楼 malie0 2014-10-10 15:34
腾讯不是只要偷别人的就可以了吗
5 楼 andinker 2014-10-10 13:44
写的真好啊,学习,学习!
4 楼 seandeng888 2014-10-10 12:58
写的很好,受益非浅。
3 楼 hxangel 2014-10-10 11:39
呵呵 呵呵
2 楼 damoqiongqiu 2014-10-10 11:21
很不错,学习了。
1 楼 你爹妈好么 2014-10-10 10:17
很有帮助,谢谢!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 用Java动态代理实现委托模式

    NULL 博文链接:https://lgstarzkhl.iteye.com/blog/606242

  • Java JDK 动态代理(AOP)使用及实现原理分析

    二、Java 动态代理类 三、JDK的动态代理怎么使用? 四、动态代理怎么实现的? 五、结论 一、什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为...

  • 【java】java动态代理实现与原理详细分析

    生成的代理类:$Proxy0 extends Proxy implements Person,我们看到代理类继承了Proxy类,所以也就决定了java动态代理只能对接口进行代理,Java的继承机制注定了这些动态代理类们无法实现对class的动态代理。...

  • Java动态代理(代理模式/委托模式)

    Java动态代理(代理模式/委托模式)1、代理的定义为其他对象提供一种代理以控制对这个对象的访问。2、代理的使用场景在某些情况下,我们不希望或是不能直接访问对象 A,而是通过访问一个中介对象 B,由 B 去访问 A ...

  • java动态代理

    关于动态代理首先需要了解代理模式,根据代理类的创建时间又可以分为静态代理和动态代理。 1、代理模式 代理模式是常见的设计模式之一,Java我们通常通过new一个对象然后调用其对应的方法来访问我们需要的服务。...

  • 如何使用java完成动态代理

    使用jdk提供的API完成动态代理和接口高度绑定,如果类没有实现接口是不能完成动态代理的,而且只能对接口里面的方法完成代理,那么针对其他的类就需要使用另一种方式完成代理了,于是催生出cglib动态代理的技术,...

  • java动态代理实现与原理详细分析.docx

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。  代理模式是常用的java设计模式,他的特征是代理类与委托类有...

  • 基于Java的动态代理的实现方式

    代理是一种常见的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为被代理类预处理消息,过滤消息并转发消息,以及进行消息被被代理类执行后的后续逻辑处理。简单结构示意图如下:...

  • Java代理模式

    newProxyInstance 方法获取代理类的实例, 之后就可以通过这个代理类的实例调用代理类的方法,对代理类的方法调用都会调用中间类 (实现了 invocationHandle 的类) 的 invoke 方法,在 invoke 方法中我们调用委托类的...

  • JAVA动态代理

    java中有两种常见的动态代理方式 JDK原生动态代理和CGLIB动态代理使用以及原理

  • java代理模式之4种动态代理实现方式

    代理模式也是一种非常常见的设计模式。了解Spring框架的都知道,Spring AOP 使用的就是动态代理模式。...或者为了提升系统性能,使用代理模式实现延迟加载,还有就是AOP,对委托类的功能进行增强等。

  • Java动态代理、CGLIB动态代理

    本文涉及代理模式、静态代理、动态代理、CGLIB动态代理、JDK动态代理源码分析等内容。

  • 精讲23种设计模式-001:纯手写Java动态代理模式

    001:纯手写Java动态代理模式1 代理设计模式基本概念与应用场景2 实现静态代理两种方式3 静态代理与动态代理模式的区别4 基于JDK动态代理的使用5 为什么Jdk动态代理不能用子类接收6 JDK生成的代理类$Proxy源码分析7 ...

  • java动态代理实现与原理详细分析

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。   一、代理模式 代理模式是常用的java设计模式,他的特征是...

  • Java动态代理实现与原理详细分析

    Java动态代理实现与原理详细分析

  • Java 代理模式的实现和原理详细分析

    代理模式是常用的 java 设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。 代理类与委托类之间通常会存在关联关系,一个...

  • JAVA静态/动态代理实现

    全文介绍了JAVA动态代理的相关内容,如有错误敬请指正。一.从常规编码方式说起二.代理模式介绍 一.从常规编码方式说起 在介绍动态代理之前,让我们先回顾一下一种常见的编码方式: 1.首先定义一个接口,接口定义一个...

  • node-v7.2.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • node-v6.14.2-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • rbac权限控制框架:1.支持角色继承,数据组,行为组.zip

    rbac权限控制框架:1.支持角色继承,数据组,行为组.zip abac,rbac权限控制框架 支持角色继承,数据组,行为组 支持动态角色和静态角色 usage 用户与角色需要额外维护 权限控制规则默认驻留内存, 可自定义RuleRepository实现 角色继承关系默认驻留内存, 可自定义RoleHierarchyRepository实现 数据组关系默认驻留内存, 可自定义DataGroupRepository实现 行为组关系默认驻留内存, 可自定义ActionGroupRepository实现 若使用动态角色需要实现DynamicRoleDefiner

Global site tag (gtag.js) - Google Analytics