Liangshan

Inner peace.

什么是做事专业

我们经常说某些人做事很专业,或者不够专业。当我们在使用专业这个词的时候,到底指的是什么?什么事情会让你觉得对方很专业?什么事情恰恰相反呢?

本文探讨的是我认为一个软件工程师如何做是专业的,而不是如何成为一名某个领域的专家。其他行业的应该也大体相通。

专业技能

具备较强专业技能,这个是显而易见的前提,就不展开说了,主要想讨论其他方面。

重视目标

在公司做事是为了解决问题,不管专业技能多强都要有产出和结果。有的工程师大家一致认为能力不错也很聪明,但做出的东西总是出问题,这就不够专业。

顺便提到的就是谷歌著名的「20%时间」,即鼓励员工有20%的做自己事情的时间。我个人认为应该做一些公司能用的到的事情,不仅是因为对公司产生了价值,从个人角度出发,更快习得一项技能应该通过在实际项目中实践而不是对着文档写 Demo。

遵守承诺

专业的人非常慎重的承诺事情;专业的人能交付承诺的东西。

滴水不漏

专业的工程师做事滴水不漏,并且往往能够超出预期。

在做一件事情之前,专业的工程师除了要明确产出是什么,还要思考为什么要这么做?有没有什么问题?有没有更好的做法?做好之后,一定要把自己放到需求方的位置上思考,我交付的东西有没有达到要求,好不好用。不专业的工程师往往拿到任务就动手,交付之后经常会有小问题,一些问题是自己稍微用一下就显而易见的。

由于工程师一般处于需求的下游位置,接受需求的场景较多,所以如果需求方给到的需求很多漏洞甚至错误,需要工程师自己来补充很多细节,这个需求方就会给人留下很不专业的印象。反之,如果我们自己作为需求方让别人做某件事情,则需要尽可能的明确其中的输入和产出,以及可能遇到的边界条件和异常情况,这样是较为专业的做法。

值得特别提出的是,滴水不漏不仅仅是对外,对内也是如此。专业的工程师除了能交付商业价值,还对技术细节有着严苛要求。见过一些工程师交付的速度很快也都能正常使用,平时还很爱折腾新东西,按理来说爱折腾是一个工程师很好的表现,但仔细检查就会发现技术细节很差,为将来的维护埋下了隐患,这也是一种不够专业的表现。

有效沟通

对于工程师来说,有一个沟通渠道往往被忽视,就是文档。专业的工程师一定会编写文档。很多人对写文档有误解,认为写文档意味着浪费时间,意味着形式大于价值,但其实好的文档一定会帮助所有人。

沟通的另外一个问题就是态度,时刻保持一份谦虚和对别人的尊重会给人专业的感觉。另外提出问题的同时要给出解决方案,会让对方感受到你的专业。我个人非常反感只会挑问题的人。

有效沟通意味使用正常的音量和正常的语气沟通;有效沟通意味着描述一件事情应该从宏观到微观,先把事情的背景交代清楚,保证参与沟通的所有人在同一个与语义环境下,再描述细节。

最佳实践

之前的滴水不漏主要是强调要站在需求方的角度思考自己做的事情是不是专业,这里主要想讨论到具体执行的过程。

我们日常的工作中,绝大多数事情都是别人解决过的问题,所以解决问题之前先思考类似的事情有没有最佳实践是非常专业的做法。最佳实践包括了知识获取、解决方案、解决步骤、呈现方式等等,是完成某种事情的方法论。

举例来说,文档中的流程图应该如何画算是最佳实践呢?理论上你可以找到任意能够画出流程图的工具来画,然后把图片上传到文档中。但这样如果流程图有更新,则需要重新生成图片重新上传。所以对于工程师来说,可以尝试使用代码来画图,这样更新只要改源代码即可;使用版本控制来管理这些代码还可以看到版本的变化;任何人拿到这个代码都可以还原出一模一样的流程图,也方便了相互协作。

专业的工程师善于从自己做过的事情中整理出最佳实践。

总结

这些专业和不专业的细节也都是从我身边的人身上总结下来的,和专业的人工作是充满乐趣的,能从他们身上学到很多东西。

希望自己和身边的人都能专业一点。