首页 » 软件优化 » 一名亚马逊软件工程师的辛酸苦楚(工作一名的人苦楚软件工程师)

一名亚马逊软件工程师的辛酸苦楚(工作一名的人苦楚软件工程师)

乖囧猫 2024-11-17 03:50:48 0

扫一扫用手机浏览

文章目录 [+]

作者 | Bricker

译者 | Joe,责编 | 夕颜

出品 | CSDN(ID:CSDNnews)

一名亚马逊软件工程师的辛酸苦楚(工作一名的人苦楚软件工程师) 软件优化
(图片来自网络侵删)

以下为译文:

你好,世界

关于亚马逊的企业文化最近不乏奇闻轶事、观点和反驳。
我写这篇文章并不是为了利用最新的热点,而是为了分享我已经写下并立即删除的内容。
我曾以为没有人会想听我的故事,但很明显人们正在经历类似的经历,但却一直保持沉默。

我是一名亚马逊SDE II等级的软件开发工程师。
SDE II是指拥有至少2-3年行业经验的软件开发人员。
我是从亚马逊SDE I开始做起的。

对大多数开发者来说,在五巨头公司之一工作并不是不寻常的梦想。
但,这就是我所要分享的。
在通过了一个限时在线编程测试后,我就坐飞机去西雅图面试。
不到一周内,我就接到录用电话。
我们不仅讨论一些基本待遇(补贴和福利),还讨论了额外福利(搬家费、签约费和股票期权)。
记住这些“额外福利”,因为它们在故事的后面非常关键。

在最初的几个月里,一切都很寻常:常见的公司格言(这次被称为“原则”)和“你的工作不仅仅是工作”的画大饼演讲。
我现在已经看透了,但在当时,“世界上最以客户为中心的公司”这样的说法,对于那些新员工来说,非常吸引眼球。

首先是Pager岗

在团队中待了几个月后,我被安排上on-call轮班。
以下是on-call的含义:

每隔X周就有1周on-call,其中X是你所在的团队成员数量。

on-call期间,你的其他项目在工作日最多占据你一半的时间。

工作日的其余时间都集中在运营上(为了维护公司的正常运行) 。

on-call期间,你是一周7天, 一天24小时, 处于待命状态,随叫随到。

以下是pager职责的含义:

如果你所在团队开发的项目进入“紧急状态”,你就会被安排为pager岗。
这里是故意含糊的,因为它在不同的团队意味着不同的任务。

如果被安排上,你有15分钟的考虑并答复。

如果你不这样做,你的经理就会被安排。
然而,你并不希望这样的事情发生。

在我的团队,on-call并不太糟糕。
最开始我们平均每两周有一人,现在增加一周一人。
其他团队的情况要糟糕得多。
然而,这俨然已经成为一种社会现象。
如果你在接到通知的时候不得不同意,你就真的不用考虑出去玩儿了。

我提到on-call是因为它是“特殊的”,因为其它需要这种响应能力的职业是医生,也就是救死扶伤的人员。
当你第一次接到on-call的时候,它会让你感到恐惧,并告诉你“天哪,这真的是来真的,并不是在闹着玩儿。

在招聘过程中,on-call是没有被提及,尽管常见的带薪加班制度会被提及,比如“你愿意上夜班和/或周末吗?”

接着是外派

有时为了完成一个大型项目,其他团队可能需要更改代码。
当然,另一个团队可能无法腾出所需的开发人员,因此你将被临时外派。
在项目完成之前,你需要奔波于两个团队之间,并服务于两个经理。

在某些情况下,另一个团队认为他们可以匀出开发时间,并完成代码更改。
但是,当他们做不到的时候,在某个节点他们就会落后,所以你就会被外派。

读过《人月神话》的人都会竖起耳朵。
对于那些没有读过这本书的人来说,Wikipedia百科上的要点是:“给一个延期的软件项目额外增加人力会让它更延期”。

我在亚马逊最糟糕的日子是被外派出去的时候。
事实上,我生命中最糟糕的日子就是我被外派的时候。

在亚马逊工作第二年快结束时,我被拉进了“X项目”(匿名)。
它拥有一个前景黯淡项目的所有特征:

改变来自不同国家不同团队的需求

高赌注和知名度(几乎和贝佐斯本人一样知名)

我不会逐日叙述这个故事,但简明扼要地说: 事情变得紧张起来。

随着项目的落后,来自上层的压力和审查也在增加。
项目经理希望以最有效的方式向下传递这种紧迫感,以取得适当的进展。

而后,不仅漫长的工作日要工作,周末也要工作。
我觉得我对事情的落后负有很大的责任。
到目前为止,我不知道这有多真实。
不管是什么原因,不管是为了证明自己的价值,还是因为害怕失败,结果都是一样的: 我不停地工作。
醒着的每一小时都投入到写代码和修复bugs。

起初,我还有一些自我意识。
我客观地知道,多工作只会降低一个人的效率,但任务又必须完成。

最终精疲耗尽占据了上风。
我的代码变得越来越糟。
我以为我用几行代码就可以修正。
然而,俨然已经进入死亡螺旋的内部循环,并已经开始旋转。

最终,压力改变了我的性格,并明显到可以被他人察觉。
我变得很粗鲁,而我平常是一个外向并善解人意的人。
我变得很没有幽默感的,而我平常是一个爱讲笑话的人。
尽管我试图伪装,我的同事还是注意到了这一点。
我开始选择工作而不是和朋友在一起。
起初他们表示理解。
适当的“对不起,我需要工作”是可以理解的。
但,最终他们也开始担心了。
为了不加重他们的负担,我开始孤立自己 => 死亡螺旋的第二个循环。

锁定

我们还没有到达最外层的循环。

还记得我提到过亚马逊的搬家和签约奖金吗? 如果你在两年内离职或被解雇,你必须偿还。

当时我刚从大学毕业,我的储蓄远远少于我所欠的钱。
所以如果我离开亚马逊,我不仅会失业,还会有超过三个月收入空缺,因为要返还那些奖金。

所以现在我不能“离开”。
随着这种意识而来的是令人麻痹的绝望。
如果我失败了,被解雇了,那么我可能在很长一段时间内都找不到另一份工作。
千禧一代的失业是一件大事。
现在我的压力来自于无论发生什么都要坚持一切工作 => 第三个循环。

级联失效

在这一点上,我的自我照顾是不存在的。
所有的一切都是为了最大程度提高代码输出量,我长期处于依靠垃圾食品和咖啡因生活的状态。
我一直有一定程度的失眠,但现在情况变得更糟了。
最后不得求助于救命稻草:用睡眠换取代码。

此时,压力在我的脑海里形成了一个巨大的黑洞。
没有其他更适合的比喻了。
身体能感受到压迫感。
情绪和思想也都逃脱不了。
我只能一遍又一遍地说它有多疼,我多想让它停止。
这种状态就是我听到“Amazombie”(zombie:僵尸;Amazombie:亚马逊僵尸)时的想法。

在这段时间里,我哭了,而且很多次。
通常是会在入睡时,正如我所知道的那样第二天一切都会重新开始。
有时和我妻子在一起。
有几次在浴室隔间里。
但绝不,(你们这些受虐狂)绝不在我的办公桌前。

伴随着我的大脑只产生两种想法(“痛苦”和“痛苦请停止”),没过多久自杀的念头就渐渐潜入我的脑海。

需要说明的是:我从未对这些想法采取任何行动。
我不想自杀。
我尽量不去想我的计划。
但这就是自杀意念:不管你真正想要的是什么,这种想法会一次又一次地出现,并最终将“请停止痛苦”变为“请停止一切”。
=> 最终循环。

结局

我最终寻求心理治疗。
我记得这个决定是如此的真实。
你带着热情雇了一个杂工来修理东西。
“嗯。
一个漏水的管道。
最好找个水管工来。
” “反复思考结束它的想法? 我应该找人来看看。

到目前为止,唯一知道事情真相的人是我的妻子。
在这段时间里,我无法(但将尝试)向她表达我的感激之情。
在我需要她的时候,她一直陪伴在我左右。
她帮了我,即使她不明白我为什么迫使自己经历这一切。
她比我更早发现这些迹象,并试图告诉我。
当我真正意识到我需要帮助时,她与我时刻保持联系。

我服用了Celexa(一种抗抑郁的药物)。
最终,死亡的漩涡解开了。
项目启动。
一切又恢复了正常。
几个月后,我不再服用Celexa。
直到几个月后我才完全恢复过来。
我感到如履薄冰。
我严格地把照顾自己放在第一位,每天工作8小时后准时下班。
我开始联系我的朋友一起出去玩。

作为对我努力的回报,我的经理给了我几天额外的假期。
我被提升到SDE II级,甚至健康到足以庆祝和享受它。

有骨气

“那又怎样?所以你让自己耗尽了精力,然后你的精力又被耗尽。
你想要什么呢?“ 我写这篇文章是因为我需要把我的故事写下来,并把它作为一个警示故事。
我在这里并不是要设置一些愚蠢的标准来限制“真正的”程序员如何完成工作。
我并不是要妖魔化亚马逊。

至于我要对亚马逊/杰夫·贝佐斯说些什么,我只有几件事:

重新审视企业激励机制/搬家费返还条款。
我不知道“正确”的解决方案是什么。
但,如果这是你留住员工所需要的,那就糟透了。

坦率地并尽可能准确地说明完成某个职位的职责将会涉及到哪些方面,并带来什么影响。
用“与聪明并富有激情的人一起工作”这样的标语来招聘是

鼓励员工不仅要对自己的想法持批判态度,还要对自己的期望持批判态度。
让他们相信如果他们必须放弃一切才能得到你的认可是一种虐待。

要意识到生产力和员工的快乐并不是零和博弈(只能选择其中之一)。
顾客是上帝,但是他不是一个愤怒的上帝一味地要求牺牲。

这个警示故事并不是亚马逊特有的。
这种情况几乎会发生在任何人身上,尤其是在工作环境紧张中的人,这当中又以软件工程师尤为突出。

有句话我在论坛和subreddits经常看见,一开始我并不相信,直到我亲身经历。

“对不合理的期望进行反驳是你的职业义务。
你的老板可能一开始不喜欢,但他们会因此而尊重你。

我的另一条建议——你来这里不会就是为了存点他妈的钱吧。

常见反应

我知道匿名发表这篇文章并不能促进讨论。
我以的确一个匿名帖子在跟你说话。
然而,如果我不是真的害怕失去我的工作,我就不会以这种方式发帖。
我们从现有员工那里听到的唯一其它声音都是支持亚马逊的: https://www.linkedin.com/pulse/amazonians-response-inside-amazon-wrestling-big-ideas-nick-ciubotariu, https://www.linkedin.com/pulse/my-name-brittan-im-amazonian-brittan-cole-ma

对这两篇文章的一些主要批评:

他们在LinkedIn发布的。
我讨厌在LinkedIn上发布任何东西。
所有的批评都是没有效力的;所有的话都被冲淡了。
因为每件事都会被未来的雇主仔细审查,所以每个人都害怕表达任何有争议的观点。

他们不是来自“基层的员工”,而是来自“经理中的经理”或“人力资源代表”。

我们不会看到任何来自在职员工的负面批评,难道没有其他人觉得有趣吗? 我不管你在哪家公司工作,想要抱怨的人都不会少。
那么,为什么没有来自现有员工的负面文章呢?

恐惧。
恐惧滋生了一种沉默的文化。

以下是我看到的一些对文章的常见回应,我想在这里先说一下:

“工作超过40小时是成为专业人士的一部分。
”我完全同意,但这些应该是偶然事件。
每周工作70小时以上不应该成为一种常态。
他们应该得到管理层的赏识。
见鬼,如果你要在门前玩弄我们,那就请我们吃饭吧。

“你为什么不少干点呢? 看起来更多是你自己的错。
”我在心里把这个问题想了一遍又一遍。
前面提到过原因,我只是觉得有必要通过它。
我觉得,在被这样一家“大名鼎鼎”的公司聘用之后,如果我不竭尽所能,我就是在伤害所有帮助我来到这里的人。
我没有意识到的是,事实正好相反: 通过精神崩溃的经历,我确实表明了自己在某种程度上还没有做好准备。
谢天谢地,我挺了过来,并从中学到了东西。

“你是充满负能量,难怪你会变得消沉” 这就引出了我的下一部分内容……

幸福道路

除了我的故事,我还想列举一些在亚马逊工作时我喜欢的事情。
我毕竟还在这里工作,不打算辞职。

宽松的工作时间和可以在家工作“什么?!?”毕竟刚才也说了?!?但严肃地说,当事情没有陷入危机(80%以上的时间)时,开发人员的一天很少在上午9点之前开始。
你通常可以一周在家工作一次。
如果你有充分的理由提前下班,那也没关系(尽管下班后在家工作通常是一种礼貌行为)。

没有着装要求,在大多数地方这也许是理所当然的,但在一个只准商务休闲装的地方,T-shirts 简直是天赐之物。

薪酬也值得提到。
我不会给出具体的数字,因为这些数字可能具有识别性,但Glassdoor.com提供的数据可以满足你的好奇心。
当我的朋友中有相当一部分人还在努力维持有收入的工作时,这是件好事。
尽管存在上述问题,我仍然拥有经济稳定的优越地位,现在更有了很好的工作保障。

站在巨人的肩膀上,科技公司最常见的招聘口号之一就是“与优秀的同事一起工作”。
虽然我通常对此不屑一顾,但对于开发人员的成长而言,重要的是始终不要成为会议室最聪明的人。

招聘杰夫·贝佐斯的邮件中提到了我们是如何被招聘人员发掘的;这方面是与我们的现实相联系的。
我从谷歌、Facebook、Netflix等网站上听说过。
我在西雅图的第一个月收到的招聘电子邮件比我在之前工作的地方一年收到的还要多。

让你写的代码每天被成千上万的人实际执行是一件很棒的事情。
很少有人会向他们的朋友和家人展示一个他们经常访问的网站,然后说:“我在那里做了那件事。
”也许它最终会消失,但它仍然是我的最爱。

视界

我现在在做一个新的贷款项目。
另一个“DEFCON ZEROMG!”项目,但现在我有了原则,并知道即使我每周不工作70个小时,亚马逊也不会倒下。
工作与生活的平衡很大程度上是主观的。
我现在知道了这种平衡对我来说是什么样子,并坚持这种理念,尽管我仍在努力工作。
我不得不以最艰难的方式来认识到这一点。
我只是希望你不用这么做。

-amznymous (https://www.reddit.com/user/amznymous/)

原文链接:

https://gist.github.com/bricker/cb811b3b86d767124801

本文为CSDN翻译文章,转载请注明出处。

☞一文带你看网络协议之因特网中的转发和编址!
| 原力计划

☞又一国产数据库诞生!
腾讯发布 TGDB,实时查询比 Neo4j 快 20-150 倍!

☞头条和百度“大打出手”时,微信搜索去哪儿了?

☞性能超越最新序列推荐模型,华为诺亚方舟提出记忆增强的图神经网络

☞干货 | 基于SRS直播平台的监控系统之实现思路与过程

☞挖矿仍然有利可图吗?

相关文章