原文作者尼古拉斯·泽卡斯(Nicholas C. Zakas)是一位前端大牛工程师,目前在 Box 公司任职,之前是在雅虎将近工作 5 年。在雅虎期间,他是雅虎首页的前端技术主管,并且是 YUI 库的贡献者。Nicholas 编写的技术书有:《Maintainable JavaScript |编写可维护的 JavaScript》、《Professional JavaScript for Web Developers |JavaScript高级程序设计》、《High Performance JavaScript |高性能JavaScript》、《Professional Ajax》。

  近我与一同事有一次有意思的讨论。我们回忆了各自所走过的职业历程以及不同个性如何长期消极影响我们的职业。事实情况是,我曾经是那种从大学里走出来的令人讨厌的人(有些人可能会说我现在仍然是那种人,但这是另一回事儿)。当时我很傲慢并且很刻薄,是一个十足的愤青。我自以为我很了解自己的性格并且为这种性格感到骄傲。

  我曾经经常指出更有经验的工程师的错误之处。尽管我所提出的大部分错误是正确的,但是由于我的个性问题使得解决这些错误并没有这么高效。比如在一次对话中,其中的一名高级工程师突然恶狠狠的说道,“假如你不闭嘴,我用屎**把你赶出去。”我只是笑笑因为知道他不敢。一年之后我意识到,他是真心想做这件事的。

  从那时开始我成长了很多,开始学习如何说话,如何尊重人。这种挖苦在职业环境下得到了控制;当我与好朋友在一起的时候,我把它们放到一边。这些自我控制能力伴随着其它无价的教训并非来自自身内部,而是由一路上的人生导师引导的。如果没有他们,我的人际关系将会使我的职业生涯变的很糟糕。

  因为工作中接触到很多的人,所以我是幸福的。我的经理们一直以来将自己塑造成性格很好的人。我为他们感到自豪。更甚,受到他们影响,我不仅成为一名好的编程人员—-也成为一名团队成员和个人。他们对我的人生影响很大,以致于我经常将他们的建议讲给我所指导的同事们。

  我发现这些建议具有普遍适用性,所以决定将它们分享给大家。当然,有些内容是经过改述的(本人记性不大好,不能把每个词都记住),但相信我现在已经抓住了主要思想。

  不要成为只会做快餐的厨师

  我的第一份工作持续了8个月,之后这家公司关闭了。当跟经理讨论下一步我该做什么的时候,他建议我:

  “Nicholas,你的价值不只有你的代码。无论接下来的路是什么,确保你自己不是一个仅会做快餐的厨师。不要去接受那些有明确目标并且步骤已经很详细的工作(译者注:以我理解应该是像软件外包那种工作)。你应该去那些赏识你的洞察力以及构建产品能力的公司”

  我牢记这句话很多年。做代码实现者不够好—-我们应该参与到整个开发过程中。一名好的工程师不仅是按部班的实现功能,还应该给予反馈,与产品的拥有者一起工作,这样才能构造出更好的产品。很幸运,我的工作选择都很明智并且我从来不会在一家不尊重、不重视我的洞察力的公司待很长时间。

  自我推销

  有,在Yahoo的经理将我拉到一边给了我些建议。他监督我的工作,后来发现我有点内向:

  “你工作很棒。我喜欢你代码的风格以及它的连贯性。然而,其他人并没有看到。为了使你现在的工作得到好评,你应该让别人看到你的代码。你需要做一些自我推销来引起注意。”

  刚开始我并没有理解他的话,但后来我明白了其中道理。即使你工作很棒,但如果没有人看到你所做的内容,这并没有帮到你多少。你经理能支持你,但不能为你做证明。你组织里的人需要知道你的价值所在,好的方式是告诉他们你做了什么。

  我将这个建议告诉过许多同事了。自我推销并不是说,“看我,我很牛逼。”它意味着让别人知道你的工作有了巨大进展或者让他们知道你学到了一些新内容。它意味向别人展示你所骄傲的成果。它意味着庆祝自己以及别人的成。它意味着向你所在的组织证明你的价值。坐在角落默默敲代码的工程师总是有一些神秘感—-不要那样。一封简短的邮件,“好,我完成了新邮件的布局。你看看有什么建议吗。”,往往会起到很大的作用。

  “人”比技术重要

  在职业生涯的早期阶段,我是头衔驱动型。我总是想着如何做才能被提拔。在雅虎主页上与新经理的第一次一对一会议中,我问需要做什么才能得到提拔。他的话仍然在脑海中盘旋:

  “从某种意义上讲,你应该结束对自己技术的评判,开始关注与人交流的方式。”

  之后,我没有收到过对软件工程这个职业比这更具洞察力的见解了。他完全正确。在那时,没有人怀疑我的技术能力。我以写高质量,几乎零bugs的代码而出名。我所缺少的是领导能力。

  从那时起,我看到无数工程师处于他们职业生涯的瓶颈期。他们聪明,写着一手好代码,然而缺乏有效的与同事高效交流的能力。这将他们困在原地。一旦有人困在他们软件工程生涯的瓶颈期,我都会给他们这个建议。

  “问题”不是问题

  我在Yahoo失意过一段时间。可能“失意”这个词并不正确,更像是愤怒。我经常愤怒地与人争论。结果事情变的很糟糕,我自己也不想这样。有,我心情非常差,问我导师如何在面对这么多问题时保持冷静的。他回答:

  “很容易。这些问题都不是问题。有这么多垃圾代码混到站点中,致使其崩溃,那又如何?工作并不是你生活的全部。这些不是真正的问题,他们是工作上的问题。工作之外所发生的事情才是值得关注的。我回到家里,我妻子在等我。那才是幸福的。”

  那时,我从马萨诸塞州搬到加州,人生地不熟,很难交到朋友。这样工作是我的全部,它是我保持正常的寄托所在,所以一旦工作出现问题也意味着我的生活也出现问题。通过这次谈话我明白生活中需要某项我能够回去然后忘掉工作中遇到的麻烦的事物。