返回介绍

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

发布于 2025-01-22 00:38:49 字数 4323 浏览 0 评论 0 收藏 0

前言

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

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

如果你想联系梁悦, 可以通过微信号 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.

感谢能够读到这里的朋友,这篇文章纯属个人观点,希望能够有所帮助。也欢迎各位分享你的故事,共同进步。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文