HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

亚马逊工程师:我在职业生涯中学到的 8 个重要经验

  • 2022-02-09
  • 本文字数:3338 字

    阅读完需:约 11 分钟

亚马逊工程师:我在职业生涯中学到的 8 个重要经验

免责声明:本人并非亚马逊的代言人。所有观点都是我自己的。


首先,让我来做一个简短的自我介绍:我叫 Daniel,今年 28 岁,是一名软件工程师。我从 13 岁起就开始学习编程。在工作了八年之后,我在 2019 年进入了亚马逊,并担任 SDE2。大约两年零三个月后,也就是 2021 年,我晋升到了亚马逊的高级 SDE。


在本文中,我将与大家分享我在职业生涯中所学到的一些经验,这些经验是我在之前就希望能够学到的。这些经验承载了我的个人经历和个人信仰。但愿这会对你有所帮助。

1. 尽管编程很酷,但如果能支持其他同事,你将会取得更大的成就。


编程很酷,非常酷。作为软件工程师,我们热爱软件开发。对于我们而言,软件开发的最直接方式就是实际编写一款软件。


但如果你把一天的时间都用在了编写代码上,那么你就相当于在一个特殊的项目花了 6~8 个小时来写一段代码。没有人能够从你身上学到什么,你也什么都学不到,因为你是一名高级工程师,所以这一领域对你没有任何挑战性。


就算你的代码写得比没有经验的工程师要快,但那又有什么用呢?这是无法持久的,并且没有将团队的长远发展和个人的提高考虑在内。


作为一名高级工程师,你拥有足够的支持和技能,可以在许多项目中进行平行开发,在很多方面,例如代码审查、系统设计、产品规范、业务验证、卓越运营等等。这样,你的工作就会变得更有策略性,把你的技能用来让你的团队变得更加敏捷,加强团队与项目的协作,让你的同事在他们的职业生涯中取得进步等等。


这就是我们所说的力量乘数,你的影响力、知识和行为能够让整个团队在交付能力、软件质量、团队协同、士气、工作和生活的平衡,以及其他与软件工程相关的积极方面成倍增长。

2. 你的话语是强大的,无论是积极的还是消极的。先倾听,再发言。


你在你的组织中是一个参考,可能在你的公司也是如此。有的人很崇拜你,认为你是一个可以引导他们在事业方面取得进步的人。


你的赞扬能激发那些缺乏经验的人取得非凡的成功。你的批评会使那些没有经验的人生活得很糟糕,甚至会因此而放弃。


如果你觉得别人有错误,或者有改进的机会,那就和他单独谈话,不要无礼。此外,要谈论这个人的想法,而不是讨论这个人。人并不是他们的想法。别假装自己掌握了真理,什么都知道,相反,你要做的只是一个关注别人进步和帮助别人的人。认真倾听,努力了解别人的想法。人各不相同,背景、信仰也各不相同。


在开会或做团队决策时,你的意见可能会使整个团队产生偏见,因为人们会认为不可能出现他们是对的而你是错的情况,因为他们很崇拜你。


在开会时,当开始讨论一个主题时,请大家先发言,认真听取所有的意见和想法,并在最后发言。如果你一上来就发表自己的意见,那么,别人要么会因为相信你(通常比你自己更相信)而对你的意见产生偏见,要么他们会压抑自己的想法,因为他们不相信自己会是对的,而你却是错的。即便你是个很酷的人,在你的公司里,人们可以轻松、安全地交谈,但总是会有人胆怯,或者没有信心。

3. 如果因为缺乏经验而不采取行动,你就永远不会获得经验。


经验很重要,但你不必知道所有的事情才能开始“演戏”。实际上,正相反,为了积累经验,你必须把所学的知识付诸实践。有些东西,你无法从书上或课堂上学习到,例如,如何修复你在创建网站时出现的那个小错误,或者你在部署服务器时与队友学到的那个技巧。这可不是钱能买到的,你得活学活用。


别怕犯错误,怕什么都不懂。你要做的,就是行动起来,寻求帮助,去尝试。你会找到让一切都变得顺利的方法,相信我。


大家都专注于目标,但是你要努力把注意力集中到你所要做的事情上,并享受它。当你的目标已经完成,你的学习之路将会永远走下去,正所谓:路漫漫其修远兮,吾将上下而求索。

4. 你的英语不需要完美


这是上次学习的补遗,但是它值得有一个特别的主题。这里没有什么可说的,就是标题中已经提到的:你的英语不需要完美,你不必说得跟当地的人一样。


在你的日常工作中,没有人会注意到你的语法错误。别误解我的意思,我并不是说,如果有机会的话,你不能努力提升自己的英语水平,我想说的是,你对不完美的恐惧,不应该阻碍你迈出下一步。


我写的这篇文章中也许有许多语法上的错误,写得不好的句子,但是没有关系,你仍然能够领会我要表达的意思,这才是最重要的。大部分人都不会说第二语言,如果你的母语不是英语,但你也能说得出口,那么就说明,你的英语水平相当不错。

5. FAANG 的工程师并不比你强


FAANG 是一个缩写,用来指 Facebook、Amazon(亚马逊)、Apple(苹果)、Netflix 和 Alphabet(G 指 Alphabet 的核心公司 Google)这五家科技公司。


在我进入亚马逊之前,我觉得自己不如 FAANG 的那些工程师。因为某些理由,我一度将他们视为软件之神。他们创造了我每天都在使用的应用,每秒钟提供十亿次请求。


在我进入亚马逊的时候,我还有些担心,怕自己不够好,没有足够的能力去扮演那个角色。不过,我很快就注意到,FAANG 的人其实都是些普通的人,他们只知道一些话题,但不知道其他话题。


当然,我在亚马逊遇到了出色的人,但是,我在我以前工作的其他公司也遇到过这样的人。最后送你一句话,与君共勉:三人行,必有我师。


现在我是一名 FAANG 工程师,我不比任何人好,也不比任何人差。你不比我差,也不比我好。大家都一样。


我并非无所不知,也永远不会无所不知。最重要的是要敞开心扉,与其他人一起学习。

6. 对业务的理解有助于你作出更好的决策


归根结底,开发软件是为了解决业务问题。如果一个软件不能解决问题或者没有用户,那么构建一个具有完整 CD 管道、100% 测试覆盖率和遵循最佳实践的杰作软件,也没有任何意义。


而一个低品质的软件,除了会给用户造成一些麻烦之外,也很难解决用户的问题。


高级工程师是团队中的关键人物之一,在技术团队和业务团队之间起着黏合剂的作用。要做到这一点,你必须对业务和产品有充分的了解。在这个基础上,你将学习到怎样进行权衡,除了考虑技术方面,也要考虑业务方面。


最终,你会发现,大多数情况都依赖于风险和潜在的回报。


你是否会在生产中部署一个有已知 bug 的软件?一个初级工程师也许会说不会。而高级工程师会这么说:这要视具体的情况而定。取决于这个 bug 的影响。要看它在生产中会存在多长时间。能够看出该 bug 在多大程度上被用户池所控制。客户成功团队是怎样参与到帮助用户解决这个 bug 的。对于用户和企业来说,等待 bug 修复才能启动全部功能是多么糟糕。


了解你正在开发软件的业务,与业务团队和客户成功团队联系,了解项目和产品的路线图,以及客户的挫折和抱怨,这些都是制作高质量软件并为人们带来价值的关键。

7. 注意你的坐姿,注意你的健康


你整天都是坐在计算机面前度过的。从长远来看,不良的坐姿会造成严重的脊椎问题,这会带来痛苦,而且可能难以治愈。因此你要舍得花大钱去买符合人体工学的座椅、桌子、键盘和鼠标。注意你的坐姿。


此外,尽量每小时站立起来,去喝水,睡好觉,锻炼身体。


我知道这听起来像是父母的忠告,我年轻的时候也会这么认为,但是你会衰老,你的身体会感受到现在的不良嗜好带来的影响。我不是专业人士,无法提供具体的指导,所以我建议,你向专业人士寻求帮助。

8. 你应该学会如何将一个想法转化为一个网站或应用程序,这将有助于你的创新和探索你的创造力


大家都有自己的想法,而且我们中的很多人已经有了创建一个革命性的应用或平台的想法。


作为一名开发人员,由于你懂得怎样去开发你的应用,你会比其他人领先一步。


然而,如果你是一个前端开发者,你可能无法开发应用程序的后端逻辑,或者无法从头开始创建一个服务并部署它。


如果你是一个后端开发者,你可能无法开发一个前端应用,也无法开发一个移动应用。


最后,尽管你是一个开发人员,但是在创造你的应用、测试你的想法、以及通过实践和试验来学习时,仍然存在着许多困难。


因此,我极力推荐你学会怎样构建应用的前端(HTML、CSS、JavaScript、React)和后端(任何后端语言,如 Java 和 Python),以及如何部署应用(亚马逊云科技、谷歌云、Azure、Firebase、Heroku……),还有一点点 UX 设计师的经验。


作者介绍:


Daniel Costa,亚马逊高级软件工程师。


原文链接:


https://levelup.gitconnected.com/amazons-sr-software-engineer-at-27-8-important-lessons-i-ve-learned-so-far-in-my-career-9fdfbfbc1a6a

2022-02-09 14:189895

评论 2 条评论

发布
用户头像
干起来!最怕的就是自尊心的作祟,

别怕犯错误,怕什么都不懂。你要做的,就是行动起来,寻求帮助,去尝试。你会找到让一切都变得顺利的方法,相信我。

2022-02-15 09:22
回复
用户头像
“我并非无所不知,也永远不会无所不知。” 这句话可以共勉,😄
2022-02-11 09:43
回复
没有更多了
发现更多内容

使用nodejs和Java访问远程服务器的服务

汪子熙

Java nodejs 28天写作 abap 11月日更

论渗透信息收集的重要性

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

Nocalhost 成功加入 CNCF 沙箱

科技热闻

恒源云(GPUSHARE)_卷积神经网络的工作原理

恒源云

深度学习

如何使用 Kubernetes 监测定位慢调用

阿里巴巴云原生

阿里云 Kubernetes 云原生 监控工具

元宇宙所带来价值共识的历史回归

CECBC

技术管理哲学随笔:如果空降,你会怎么做

dclar

CTO 技术管理 管理经

.NET 中缓存的实现

喵叔

11月日更

大厂算法面试之leetcode精讲14.排序算法

全栈潇晨

LeetCode 算法面试

总决赛金银铜奖揭晓,2021信创“大比武”鲲鹏赛道圆满落幕!

科技热闻

Taro 3.4 beta 发布: 支持 Preact 为应用开辟更多体积空间

凹凸实验室

taro 大前端 React HarmonyOS

Zillow“炒房”失败,算法神话破灭了吗?

脑极体

区块链技术及其军事应用

CECBC

30 K8S之Deployment控制器

穿过生命散发芬芳

k8s 11月日更

APISIX-Datadog 插件发布,助力用户提高系统的可观测性

API7.ai 技术团队

云原生 可观测性 API网关 APISIX Datadog

一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

刘悦的技术博客

Python ubuntu Mac Python3 win11

雪花算法对System.currentTimeMillis()优化真的有用么?

秦怀杂货店

分布式 算法 雪花算法

大湾区|Serverless 线下活动两连发

阿里巴巴云原生

阿里云 Serverless 云原生 线下活动 大湾区

hw5-微博评论高性能高可用

WWH

架构实战营

Deco 智能代码技术揭秘:设计稿智能生成代码

凹凸实验室

机器学习 AI 大前端 低代码

“元宇宙”来了 城市会消亡吗?

CECBC

[Pulsar] 按照KeyHashRange读取消息

Zike Yang

Apache Pulsar 11月日更

移动支付与支付安全SDL

明亮安全观

网络安全 信息安全 数据安全 支付安全 交易安全

【LeetCode】 连续字符Java题解

Albert

算法 LeetCode 12月日更

【DevKit黑科技揭秘】│深入浅出DevKit性能调优,让系统“瓶颈”无处遁形

Geek_32c4d0

TypeScript 之基础入门

冴羽

JavaScript typescript html5 翻译 大前端

不要累死自己,也不要卷死别人。

石云升

内卷 职场经验 11月日更

文章目录 [Index]

dclar

大数据 技术 管理 操作系统 中间件

在线文本字符串批量替换工具

入门小站

工具

【架构实战营】模块五

衣谷

架构实战营

大厂算法面试之leetcode精讲13.单调栈

全栈潇晨

LeetCode 算法面试

亚马逊工程师:我在职业生涯中学到的 8 个重要经验_架构_Daniel Costa_InfoQ精选文章