查看原文
其他

让自己与众不同 - 提升工作的价值

2016-04-17 梁悦 码农翻身
前言

让自己与众不同,让自己在人群中脱颖而出,  这种很多码农都想做到的。

怎么才能做到与众不同呢? 梁悦的文章分享了自己的故事,朴实无华,看似都是不太起眼的小事, 但慢慢累积就成就了一个与众不同的人。  文章比较长, 但全是操作性很强的干货, 强烈推荐阅读。  

如果你想联系梁悦, 可以通过微信号 lion829 找到他。


我的职业生涯的大部分时间都是在大公司作为技术工程师度过的,我个人一直不赞同在大公司工作就是做螺丝钉,这往往取决于个人的适应性和学习能力。能够在工作中发现机会,培养和建立自己的特长,理解和体会做每件事情的意义,做到自我驱动(Self Directed),我觉得非常重要。这一篇结合自己的一些小故事,从几个方面和大家分享一下。

1. 创新工具提升工作效率
作为技术工程师,不论在哪里工作,如果发现一些重复性的工作,总会想办法通过现有工具或者自己写个小程序去提升工作效率,我相信很多同事都有类似的想法和实践。

我记得2006年在ODS工作的时候,当时主要从事数据库相关的开发工作,我们CVS里的数据表以及存储过程文件等等,和DB2数据库里取出来的对象定义DDL格式不匹配,这造成我们没法通过直接比较的方式确认我们的change确实部署成功了,整个团队都要花很多手工的工作去做比对。我当时做了一个小工具叫DB2ExtractDDL,去把DB2 DDL按照我们CVS里文件内容的格式输出,这样两边就可以很容易比较了。工具没有多酷炫,当时技术底子很薄,就是一个Java class 1000多行代码,命令行BAT执行,但是足够解决团队的难题。后来有别的人基于我的class开发和beyond compare集成起来做更快速的比较,再后来2009年作为regular加入IBM以后我和同事Will又继续在这个基础上开发了myDB2, 让数据库相关的重复工作都可以一键完成。

很高兴今天仍然有人在使用这些工具; 也正因为做这个工具,我对DB2,SQL,数据字典更加了解,既帮助了团队,也丰富了自己的技术知识。
2. 把项目所学应用到更广的领域
技术工程师的技能都是日积月累,非一日之功,工作更没有高低贵贱之分。今天研究的技术和问题,说不定以后什么地方就用到了。

2010年上半年的时候在DSW Quote team的时候开发过Excel和Symphony(IBM Open Office的前身)的报表导入导出,当时和我的team lead Max一起把这块当时流行的技术和难题(POI, JXL, XML)都看的很通透,PS: 怀念当时每天都有很多很多时间coding:-)。2010年下半年的时候忽然有一天我的经理Harry转发了一个深圳华为的客户请求,恰好是关于Excel报表导出的性能问题,当时看了以后心里有一些把握可以解决,所以就征得了Harry/Max的同意,和IBM当地的项目经理以及客户确定了出差行程。当时去深圳出差了两个星期,因为第一次在客户现场,陌生的环境和问题背后复杂的业务逻辑,还是有一些困难需要时间去学习和了解,不过因为自己在之前项目上的积累最后还是顺利的完成了任务,把客户原先基于POI的实现基于纯XML的spreadsheet格式重写了一遍,规避了Apache POI在处理大数据量上的性能问题。

还有一个例子是Web安全和AppScan。当时AppScan作为Web安全的知名产品被IBM收购没有多久,DSW所有的team都开始用AppScan做安全扫描和漏洞修复,DSW team里已经有很资深的安全专家Pipin等等因为AppScan的skill可以去客户做咨询服务,这在当时是一个team的新热点。我所在的DSW Quote team也一样,当时的owner是Gavin。有一天Harry找到我说Gavin要做手术休长假,想请我帮忙继续负责Quote team的AppScan工作,当时我并没有想到AppScan日后给我带了很多机会。现在已经不记得当时做了多少个月的AppScan focal,AppScan的产品知识和Web安全漏洞都在那段时间慢慢掌握了。当时有很多IBM的银行客户急需Web安全扫描和漏洞修复的咨询服务,有很多出差机会。我自己作为咨询顾问帮助过工商银行,台湾的中华信托银行和上海大众。我们也成立了AppScan的学习小组,一起把AppScan白盒扫描,黑盒扫描,企业版等逐步了解,和同事们一起把Web安全变成了DSW China team的核心竞争力的一部分。
3. 在团队合作中发挥自己的优势
在研发团队当中,有很多机会去培养和建立自己的专长,通过团队协作以及跨团队合作,能够让更多的人知道你的专长,提升自己的技术声望。

在SQO工作的时候,Quote Status Search的性能一直是个大问题,特别是第三季度结尾(3rd Quarter End)和年终(Year End)的时候,所有IBM 销售人员都在收单,DSW生产环境经常支撑不住,每次DBA找到的根源都是Quote Status Search太慢了,因为大部分的业务逻辑都在数据库存储过程中执行起来很慢,占用了大量的数据库连接。那个时候没有架构上的重要改变(比如缓存,读写分离等等),主要就是一次又一次的对存储过程进行性能调优,积累了大量的经验。2012年的时候DBA发现性能问题出在了另一个应用身上,那个时候我们建议对DSW所有应用的所有存储过程来一次性能审查,每个team都出人组成了虚拟团队专门进行集中调优工作,我有机会去审查别的team的性能问题并帮助进行调优。最后的效果非常的好,DSW顺利度过了2012年的3rd Quarter End和Year End,没有明显的性能问题,保证了生产环境的使用率。通过这次团队合作,也 让更多的同事具备了性能调优的基本技能,别的团队有DB2的性能问题也经常会像我咨询;我个人也因为跨团队的支持碰到了更多的疑难问题,对性能调优有了更多新的解决方法。
4. 在工作中快速提高英语能力
在外企工作英语是必备的技能,跨国项目需要用英语汇报进度和讨论问题。我承认多看美剧能够提高英语水平,但是其实工作中的英语环境其实也足够帮我们适应了。

一开始可能参加英语会议的机会并不多,但是每天都可以看到很多新的邮件。刚进入项目读这些邮件可能有些困难,不能了解所有的背景,但是至少可以学习到有经验的人是怎么写邮件的,看得多了,自己写邮件的时候也会自然的引用类似的句式,会觉得越来越顺,查翻译软件的次数越来越少。

对于技术或者问题讨论的邮件或者文档,我会尽量写的很详细,锻炼自己的写作能力,但是也会考虑看的人的关注点。比如一个production defect,如果是第一次做分析,我会尝试把完整的分析过程、问题定位、问题影响、修复建议都分段写上,这样同时可以方便Business Analyst或者team lead做决定。

在邮件和文档里摸爬滚打了一段时间以后,参加英语会议不会有什么恐惧,因为很多句子和词语已经在邮件里耳濡目染了。我作为team member刚到SQO team的时候还没有daily scrum, 几个国内外的leader也就是一周开一次一个小时的会,我就请Max把会议邀请转给我了,每个礼拜都拨进去听一个小时,逐渐熟悉几个人的发音。我现在不再操心没有机会听说英语了,主持会议也很自如。
5. 参加社区活动提高沟通能力
工程师都是低调安静的,但是还是需要一定的沟通能力,把做的事情和具备的能力准确表达出来。我去年去参观ThoughtWorks北京研发中心,他们每天早上有一个固定节目叫做CodingCon, 主要是工程师来分享一下最近的代码实现和技术难题。现在SCW项目组也有CodingCon这个节目了,每天都有半个小时,在不占用大家太多时间的情况下,同事们轮流做一些技术和业务的分享,共同提高。

其实在二线和三线经理的部门,都有很多分享交流的机会,只要觉得分享的内容对更多的人有帮助,就可以拿出来讲,让更多的人认识你。在公司层面也有很多社区,QSE(Quality Software Engineering, 质量软件工程),AI(Academic Initiative, 校园人才培训)等等,我以前都有参与过,可以认识更多的同事。
6. 寻找自己的导师和榜样
作为技术工程师,职业规划很重要,职业的发展方向也有很多。在公司和项目里,我们可以寻找自己的导师(Mentor),也可以请经理安排自己的mentor,而且也不是说只能有一个mentor,多和有经验的同事沟通,可能会帮助你做职业发展的规划。

个人有很明确的方向非常好,暂时没有也没有关系,可以通过观察别人做的好的地方,看适合不适合自己从事。如果你想做Business Analyst(业务分析),不妨在开发或者测试的工作中多花一点点时间像BA一样把业务问题描述清楚,我很开心现在SCW项目组的WYNTK(What You Need To Know)终于用起来了,每天都有同事在上面更新业务规则。如果你想做架构师,可以去仔细留意架构师的Solution Design Document,学习架构师关注的系统关系、方案设计、接口定义。
结语
工作的时间久了,才能体会到工作的多样性,人的多样性。我自己因为工作的需要有很多的尝试,业务、架构、开发、测试、运维甚至项目管理我都投入了精力做了一些,我也非常尊重在某一个领域精专的同事。我们的工作说来普通,但是也一样可以因为热情的投入让工作变得与众不同。

Distinguish yourself, to be Distinguished Engineer.

感谢能够读到这里的朋友,这篇文章纯属个人观点,希望能够有所帮助。也欢迎各位分享你的故事,共同进步。
公众号:码农翻身“码农翻身”公众号由工作15年的前IBM架构师创建,分享编程和职场的经验教训。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存