首页 程序笔记 我获得的职业生涯发展最佳建议

我获得的职业生涯发展最佳建议

写在前面
最近,我和一位同事进行了一次有趣的讨论。我们回忆了各自的工作经历,以及我们这些可以说是丰富多彩的个性如何对我们的长期工作产生了负面影响。事实上,大学毕业时我是个混蛋(有人会说我现在仍然是个混蛋,但这不是重点)。我傲慢自大,尖酸刻薄,总之是个不苟言笑的人。我自以为无所不知,并为此感到自豪。

我习惯于告诉经验丰富的工程师他们的做法是错误的,尽管大多数时候我都是对的,但我的个性并没有让我的做法奏效。在一次特别引人入胜的谈话中,一位资深工程师停下来,用原话说:"如果你再不闭嘴,我就把你打得屁滚尿流"。我一笑置之,因为我知道他不敢,多年后我才意识到这句话的意义:这其实是他想做的事。

从那时起,我成长了很多,学会了注意自己的言行,并学会了尊重他人,无论他们有什么特征。在职业环境中,我会克制自己的嘲讽;和好朋友在一起时,我就会让它发挥出来。这种自制力以及其他许多宝贵的经验,并不是我自己主动形成的,而是在我一路走来的良师益友的悉心指导下形成的。如果没有他们,谁知道我的人际关系会不会让我的事业短路。

事实上,在我的职业生涯中,与我接触过的人给了我莫大的眷顾。一路走来,我的经理们把我这个性格粗犷的人塑造成了我引以为豪的人。不仅如此,在他们的影响下,我不仅成为了一名优秀的程序员,还成为了一名优秀的队友和一个好人。这些人对我的人生影响如此之大,以至于我经常向我现在指导的同事讲述他们的建议。

我还发现他们的建议放之四海而皆准,因此我想分享一下他们告诉我的那些对我一路走来有帮助的事情。当然,其中有些是转述的,因为我对准确语句的记忆不是很好,但我相信我已经正确地抓住了重要部分。

建议1:不要只做点菜的厨师
点菜的厨师:这里是一个形象的说法。在餐厅里,客人点菜,然后厨师照着客人给出的菜单做菜。

我的第一份工作持续了 8 个月,因为公司倒闭了。当我和经理讨论下一步该怎么办时,他给了我这样一个建议::

尼古拉斯,你的价值高于你的代码。无论你的下一份工作是什么,都要确保你不是只做一个点菜的厨师。不要接受一份只告诉你做什么和如何做的工作。你需要在一个既能欣赏你对产品需求的洞察,又能欣赏你实现产品能力的地方工作。

在我的职业生涯中,我始终牢记这一点。仅仅成为一名实施者是不够的--你需要参与到实施的过程中。优秀的工程师不仅要服从命令,还要向产品负责人提供反馈意见,并与他们合作,使产品变得更好。幸运的是,我明智地选择了自己的工作,从未遇到过人们不尊重或不重视我的见解的情况。

建议2:自我推广
有一天,我在雅虎的第二任经理把我拉到一边,给了我一些建议。他一直在观察我的工作,觉得我有点隐藏自己:

你的工作很出色。我是说真的很棒。我喜欢你的代码,它很少出错。问题是别人看不到。为了让你的工作得到认可,你必须让别人知道。你需要做一些自我宣传来引起注意。

我花了一点时间来消化他说的话,但我终于明白了。如果你做得很好,但没有人知道你做得很好,那么这对你并没有什么帮助。你的经理可以支持你,但不能为你辩护。组织内部的人需要了解你的价值,而做到这一点的最好办法就是告诉别人你做了什么。

这是我现在给很多同事的建议。自我推销并不意味着 "看看我,我真棒"。它意味着当你取得重大成就或学到新知识时,要让人们知道。这意味着向人们展示你引以为豪的工作。这意味着庆祝自己和他人的成就。这意味着要在组织内部引人注目。安静地坐在角落里码代码的工程师总是有点神秘--不要这样。快速发送一封电子邮件说:"嘿,我完成了新的电子邮件布局。让我知道你的想法 "就能起到很大的作用。

建议3:与人有关
在我职业生涯的早期,我非常注重头衔。我总是想知道我必须做些什么才能得到晋升。在 Yahoo 主页时与新经理的第一次一对一谈话中,我问他我要怎样才能升职。他的话言犹在耳:

到了一定程度,人们就不再以你的技术知识来评判你,而是开始以你与人交往的方式来评判你。

从那时起,我对软件工程行业的认识有了更深刻的理解。他说得一点没错。当时,没有人质疑我的技术能力。众所周知,我写出的代码质量上乘,很少出现错误。我缺乏的是领导能力。

从那时起,我目睹了无数工程师在职业生涯中陷入困境。聪明的人,优秀的代码,但由于无法与他人有效合作,他们只能停留在原地。每当有人在软件工程职业生涯中感到困顿时,我都会向他们讲述这些建议,而这些建议总是一针见血。

建议4:这些都不重要
我在雅虎经历过一段沮丧的时期。也许用 "沮丧 "这个词并不恰当,更像是 "愤怒"。我怒火中烧,不断与人争吵。事情出错了,我不喜欢这样。在一个特别艰难的日子里,我问我的一位导师,在这么多事情出错的时候,他是如何保持冷静的。他的回答是:

很简单你看,这些都不重要。所以一些蹩脚的代码被签入了,所以网站瘫痪了。那又怎样?工作不可能是你生活的全部这些都不是真正的问题,只是工作上的问题。真正重要的是工作之外的事情。我回到家,妻子正在等我。这多好啊

我从马萨诸塞州搬到加利福尼亚,很难交到朋友。工作就是我的生活,是它让我保持清醒,所以当工作不顺利时,就意味着我的生活也不顺利。这次谈话让我意识到,我的生活中必须要有一些其他的东西,一些我可以回去忘记工作中的烦恼的东西。

他是对的,一旦我转变了心态,把工作中恼人的事情重新归类为 "工作上的事情",我就能想得更清楚了。在工作中,我能够冷静下来,与人的交流也更加愉快。

建议5:权力,你的方式来构建
当我第一次被提升为雅虎的首席工程师时,我和我的主管坐在一起,以便更好地理解这个角色的内涵。我知道我必须更像一个领导者,但我在权威性方面遇到了困难。我向他寻求帮助。他是这样说的:

我无法告诉你如何成为权威,这需要你自己摸索。不同的人有不同的风格。你需要做的是找到一种你能接受的风格,让你感到舒服。我不能告诉你那是什么,但你确实需要找到适合这个职位的风格。

那一年,我花了很多时间观察有权势的人以及他们如何与他人交往。我注意到他们如何走路、如何说话、如何处理问题。我尝试了不同的风格,最后终于找到了一种适合我的风格。我的风格是独一无二的,任何人在学习担任领导职务时都必须经历同样的成长痛苦。我的优势在于,我的导师提前向我介绍了这一过程。

建议6:从 "怎么做 "到 "做什么"
在与雅虎的经理交谈时,我问他对我的新职位有什么期望。他回答说:

在你的职业生涯中,你一直在回答 "怎么做 "这个问题。也就是说,我们告诉你需要做什么,然后你自己想办法去做。但现在,你需要回答 "做什么?"我希望你来告诉我需要做什么。

这是我看到很多工程师被绊倒的地方,如果没有这条建议,我也会被绊倒。从 "怎么做?"转换到 "做什么?"是非常困难的,需要时间来培养。此外,在专注于什么的问题上,任由自己的意愿行事也需要一点成熟度。毕竟,如果你可以把时间花在任何你想做的事情上,那么你也要对你的成果负全责。

在 Box,我们将此称为 "开环运行",意思是你在工作中只需很少的监督,但仍能对工程组织和整个公司产生重大的积极影响。这是许多工程师无法实现飞跃的一步,我仍然会向任何试图进入下一阶段的人提出这样的建议。

建议7:表现出你是负责人的样子
我刚刚参加了一个会议,会上我无话可说。在与我的主管进行一对一谈话时,我提到我刚刚参加了一个会议,我不知道自己为什么会在那里,也没有任何贡献。他说:

再也不要这样做了。如果你参加会议,那是因为你是来参与的。如果你不清楚自己为什么在那里,停下来问问。如果不需要你,就离开。你身居领导岗位,就要有领导的样子。不要悄无声息地走进房间。只要表现出你是负责人的样子,人们就会相信。

我的导师在这条建议中提醒了我在高中表演时学到的一课:没有人知道你什么时候在演戏。如果你很紧张,但装作不紧张,那么别人就不会知道你紧张。领导力也是如此。我想到了 "假作真时真亦假 "这句老话。从那时起,我从不在会议上安静地坐着。我确保只参加需要我参与的会议,然后我就会参与。

建议8:让他们赢
我曾经历过一段队内争吵不断的特殊时期。我为自己能以权威结束这些争论而自豪。我有一种 "我的裁决就是最终裁决 "的心态,我的经理注意到了这一点,并给了我这样一个建议:

我看到了很多争论,也看到了你为了赢而不断努力。我知道大多数时候你是对的,但偶尔也要让他们赢。选择那些对你来说真正重要的事情,并为之努力,其他的事情就让它去吧。没必要每次争论都赢。

结论
回顾大学毕业时的我,我的职业生涯可能会有截然不同的结局。在别人眼中,我是一个怨天尤人的人,一个聪明但难以相处的人,人们不得不与我打交道。要不是一路上有良师益友,要不是在职业生涯早期经历了一些令人惭愧的失败,我的人际交往能力(或缺乏人际交往能力)很可能会让我一败涂地。如今,我经常向比我更有经验的人请教。我可能不会再犯明显的大错,但我也不想等到错误发生时才去寻求我信任的人的经验见解。

我在雅虎工作的近五年,是我职业生涯中转变最大的五年。我可以大规模地解决有趣的问题,但更重要的是,我有幸在公司内部遇到了一系列出色的经理和其他导师。无论是在工作中还是在外面的 "现实生活 "中,我都将这些对话归功于他们,是他们把我变成了今天让我引以为豪的人。

如果我可以给你留下一条最重要的职业建议,那就是:在你的工作中找出在某些方面(技术、组织等方面)比你更聪明的人,并将自己与他们联系在一起。看看能否定期与他们共进午餐或喝咖啡,从他们的大脑中汲取大量知识。这样做,你的职业生涯,甚至你的人生,都会因此而大为改观。

站心网

写在前面最近,我和一位同事进行了一次有趣的讨论。我们回忆了各自的工作经历,以及我们这些可以说是丰富多..

为您推荐

创造型职业程序员的无奈

编程是为数不多的一种既能满足个人爱好,又能赚钱的职业之一。烹饪是另一个这样的例子。在一般情况下,大多数职业要么不可能让你待在家里(例如医生和电工),要么你没有兴趣在家里做(例如清洁)。同样的,大多数好..

Happus:给准备离职成为独立开发者的你 5 点建议

Happus 是你追寻幸福健康关系、甚至提高婚姻生活品质的贴心助手。无论是关系维系、情侣问答、聊天话题、趣味事实、生活窍门、休闲游戏,还是约会灵感,App 中的一切都希望让你们成为更加幸福的一对。不同于其他产品..

关于工作和成长,这是我的121条具体建议

关于面对批评01.没有人对被批评感到高兴。如果有,TA撒谎。02.面对批评,得体的第一反应是“不急于解释,不反唇相讥”。03.每天,或者最长每周养成习惯,把自己存在的问题和造成的麻烦用最重的形容词想一遍,诚实的..

程序员为什么会有职业瓶颈?

1寒冬的思考2019年初,俗话说"金三银四"。这时候面试不知道你们慌不慌张。因为2018年冬天是寒冷的。其实18年的低温持续时间不算很长,我也没有披上军大衣。但是突如其来的互联网寒冬影响了不少人,互联网寒冬当然主..

谈谈程序猿的职业方向

大学生在校期间可能会有这样的疑问:将来就业干啥好呢?如果你是学计算机的,将来想进入软件和互联网行业,恭喜,这是个好行业,薪水很高, 也不需靠关系,一切靠实力说话,不需要有个好爸爸。坏处是,这个行业需要..

关于程序员的职业规划

对于绝大部分从事互联网、程序员的群体来说,看中的不仅是一个白领工作,更重要的是他高薪资的待遇,就当前来说,IT行业发展速度突飞猛进,就业方向和前景更是百家争鸣,如果对自己没有一个明确的目标而漫无目的,那..

七年程序员生涯,我学到最重要的6个教训

身为开发者的你是否思考过这个问题:在编程过程中,到底什么才是最重要的?作者的编程生涯始于 2012,到今年正好 7 年的时间。面对“七年之痒”,作者带来了对编程的一些思考,希望能够对你有所帮助。时间如梭,不是..

在Docker、Kubernetes环境下部署.NET应用的最佳实践

在 Docker 和 Kubernetes 环境中部署 .NET 应用是现代云原生开发的重要实践之一。以下是一些经过验证的最佳实践,涵盖 Docker 镜像优化、Kubernetes 部署配置和整体架构建议。1. Docker 镜像构建的最佳实践1.1 使用..

.NET 9 即将推出的功能Task.WhenEach

.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..

针对 Go 语言开发的 SQL 驱动模拟库

数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

Blazor的N种渲染模式原理和常见问题说明

我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..

前端CSS常见的三种设计模式

CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

.NET Framework被淘汰了吗?

.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

CLS 问题:超过 0.1(桌面设备) 是什么意思?

在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..

Angular UT 模拟执行setTimeout

在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..

JavaScript 的 sessionStorage 能否加锁?

直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..

Redis 同步、击穿、穿透及雪崩简述

对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..

发表回复

返回顶部