一名程序员十年技术之路的思考与感悟

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

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

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

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

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

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

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

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

4.借助平台学习成长。

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

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

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

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

1.保持开放的心态。

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

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

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

3.注重成果总结和展现。

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

4.注重平时的资料积累。

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

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

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

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

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

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-09-16 22:43:40

一名程序员十年技术之路的思考与感悟的相关文章

如何成为一名程序员:我的道路

下面要说的是我在成为一名程序员的道路上做的几件事情.写在这里除了要让自己铭记在心外,我还希望它能对别人有些用处. 1. 建立一个博客 这是我后来才认识到的事,其实应该很早就去做.如果你是跟我类似的情况,你应该尽早开通一个博客--尽管还不知道该写什么.注册一个域名,买一个空 间.你会惊奇的发现有很多可写的东西.你可以记录下你成为一名程序员的过程,或写一下你感兴趣的技术方面的东西.我一直以为没什么好写的,可当真正思考这 些问题时,却发现有很多值得写的.最重要的事情是开始去做. 2. 开发一些东西 开

为什么你的设计团队中需要一名程序员?

一 名优秀的设计师应该会编程吗?有关这个问题的争论每天都在博客上.Twitter 上,以及公司召开的会议中不断上演,永无休止.人们更多地关心设计师本身有没有编程的能力,却没有考虑到是否应该在设计团队中直接引入一名程序员.这真的 是让人遗憾的事,甚至会为他们的争论感到着急.因为对于一场有关产品设计的讨论中,程序员其实能够起到非常重要的作用. 但令人遗憾的是,许多设计师对于他们的工作来说都有一种「精英主义」,觉得只有他们才能打造出专业的.符合潮流的设计.可是事实上这并不正确. 事 实上,每个人都有能

一名程序员电脑配置问题

问题描述 一名程序员电脑配置问题 笔记本的配置要求?考虑到以后要向.NET方向发展(最低限度.windows的) 解决方案 要考虑以后那谁也说不准.最先进的电脑10年后也是得淘汰的.何况你说的是"最低限度". 说说现在吧,如果你期望流畅运行目前的Windows 8.1操作系统,以及Visual Studio 2013开发环境.那么你需要一台双核心64位处理器,4GB内存.64GB以上的硬盘. 如果你需要开发比较大的项目,通常你需要在本地运行Android/WP模拟器,虚拟机,以及服务器

新人 学习方向-我想知道一名程序员需要都了解什么知识?

问题描述 我想知道一名程序员需要都了解什么知识? 我现在是一名大二软件专业的学生,我挺喜欢这个专业的,但是学了一年多有点迷茫,我想知道如果我想好好走下去,我都应该了解什么知识,比如都需要学会什么语言,学到什么程度,谢谢各位 解决方案 熟悉JAVA语言,现在44%的开发者使用的是java语言,16%多的人使用的四C#,13%多点的人使用的是C语言. 如果你也想从事java开发的话,数据库也很重要.大学应该讲的是MySql吧!数据库的增删改.

作为一名程序员,应该使用哪些应用或者手机app?

问题描述 作为一名程序员,应该使用哪些应用或者手机app? 同题目一样,平时用的很多的应用或者说必备的应用都有哪些啊?各位给推荐下吧 解决方案 我曾经也提过这个问题,也下了一些app,比如牛客网,CSDN客户端,程序员客栈.最后都卸了. 解决方案二: csdn,qq,wechat,alipay... 解决方案三: 好像真没有太必须的,非要说必须的话,可能就是QQ.微信.微博等了 解决方案四: 有道查单词,印象笔记记录一些好想法,csdn关注下信息,回答下问题,迅雷放松看看片

《MacTalk 跨越边界》一一2.2程序员如何选择技术方向

2.2程序员如何选择技术方向 MacTalk 跨越边界 最近写了<程序员真正的价值>和<当程序员老去>两篇文章,传播甚广,今天是第三篇--<程序员如何选择技术方向>,史称"程序员三部曲". 那之前写的几篇程序员文章算什么呢?算前传吧.以后再写程序员文章算什么呢?算后记吧. 2008年秋天的一个午后,温暖的阳光透过落地窗落在我面前这个长长的写字桌上,桌子对面坐的是一个瘦小的程序员,他的名字叫小明,小明有些茫然,他看着我,不知道该说些什么. 程序员都是很

传金山游戏团队一名程序员今晨猝死

速途网讯 有消息人士向速途网爆料,9月4日早晨,金山游戏团队有一名程序员猝死,但金山方面封锁了消息,未向外界公布此事. 此前,金山公司曾在微博上炫耀员工"连续加班一周没有碰过床,困了就睡桌子",微博发出后,立即遭到了众多网友的谴责,随后金山方面删除了该微博. 据报告显示,我国每年死于猝死人数达55万,猝死越来越频繁,且呈现年轻化趋势;有76%的白领处于亚健康状态,京沪等一线城市六成白领过劳;制造.金融.教育.媒体.法律业人群健康透支位居前五位;IT行业"过劳死"年龄

程序员的量化交易之路(1)----规划开篇

其实,一直对量化交易有一定的理解和情节.早在中大读研究生的时候实验室师兄,已经去了中国平安核心投资团队,做高频交易研究的国源师兄的影响,就开始对金融世界产生了浓厚的兴趣.看了丁磊编著的<量化投资--策略与技术>和艾琳.奥尔德里奇的<高频交易>,反复的看,但是都入不了味,现在回过头来想,一个连股都不炒的人怎么可能入味呢.对一些金融的基本概念都不懂. 2013年7月出社会工作后,在10月份确立目标.需要炒股,而且需要一个深入的理解金融的世界.所以确定去考一个证券从业考试,选了证券基础和

程序员如何开启机器学习之路?我也遇到过这个问题

我曾是一名想进入AI行业的软件开发者.为了更快熟悉这里边的门道,我阅读了机器学习的书籍,浏览了不少帖子,还学习了Coursera上关于机器学习的课程. 但是,但是,依然不知道如何开始-... 你是否也有这样的经历呢? 图片版权归Peter Alfred Hess所有 很多开发者都问我:我该如何开始学习机器学习? 记不清有多少人问过这个问题了.鉴于此,我专门写了一篇文章来解答大家的疑惑.通过本文,你会知道: 为什么传统的教学方法不管用?‍ 如何把传统的教授机器学习方法的框架颠倒过来. 此外,我还会