婆罗门
精华
|
战斗力 鹅
|
回帖 0
注册时间 2012-1-30
|
楼主 |
发表于 2025-2-14 18:16
|
显示全部楼层
第二部分 转码农
纽约市工作经验 - 软件工程(第二部分)
Casual Discussion
你好 r/indonesia,再次与大家见面,我是 u/TKI_Kesasar。我之前的一些帖子:
我在美国纽约的工作经历 - 第一部分(粗活)
我对印度尼西亚、日本和美国的看法
Reddit AMA 在纽约市担任程序员的工作,赢得绿卡抽签,并与日本人结婚
本线程是之前线程在第 1 部分的延续。
按照我的承诺,在这篇文章中,我将分享我在纽约市从事软件工程领域的工作经验。时间范围大约在 2015 年至今。为了保护我的隐私,我不会提及具体公司名称。
这个帖子将分为几个部分。首先,我会解释我从神学研究转向软件工程(SWE)职业的起源。其次,我会分享我在这里的科技公司工作的经历。剩下的部分,我将分享其他一些经历,比如面试、公司层级,以及其他我认为值得分享的有趣内容。
从神学研究到软件工程
延续我之前的话题。从神学专业毕业后,我在教堂兼职做行政工作。工作轻松愉快,但薪水不高。我之所以在教堂工作,也是因为我的牧师建议。为了测试我是否真的感受到召唤,以及我的性格是否适合这样的工作。
事实证明,我的性格和个性并不太适合那些需要大量人际交往技能的工作。Saya juga merasa tidak berkembang, dan tidak dapat melakukan pekerjaan di gereja dengan baik. 我曾是个糟糕的行政人员。Selain itu, juga dengan permasalahan ekonomi keluarga, dimana keluarga saya penuh dengan perceraian, sehingga sisanya adalah wanita semua (mama, tante, nenek, dsb). 看到她们都是女性,且年纪渐长,而我是第三代中最年长的男性,我感到她们的责任落在了我的肩上。那时我开始祈祷寻求指引。我当时的祈祷,只是希望能找到一份不受空间和时间限制的工作,并且收入能够帮助家庭。
在网上四处搜索后,我看到了很多广告声称“学习 3 个月,年薪 8 万美元”。我对此很感兴趣,决定进一步了解。原来这些都是正在兴起的编程训练营的广告。我决定尝试申请附近的一个编程训练营。结果并不容易。我申请了几个编程训练营,但总是在面试中失败。不知道为什么,我被各种编程训练营拒绝了。总共被拒绝了大约 8 次,直到第 9 次,我终于被其中一个编程训练营录取了。
接纳我的这个编程训练营原来是一个新成立的训练营,当时确实急需学生。那时的费用大约是三个月 12.5 千美元。我的存款只有 10 千美元,剩下的钱我向朋友借了。那是我最后的积蓄。他们当时的办公楼位于华尔街附近,那栋楼里满是放高利贷的人,当时只有两个班,大约 20 台电脑。当我第一次去的时候,创始人确认我被录取了,并且我需要在三周内全额支付 12.5 千美元。我觉得这听起来像是个骗局,但当时我别无选择,所以我决定加入这个训练营。
我当时的班级只有大约 9 个人(在夏季)。项目分为前 1.5 个月和后 1.5 个月。前 1.5 个月是编程基础,后 1.5 个月是项目。在前 1.5 个月结束后,一些学生因为觉得自己无法胜任而退出了,剩下的只有大约 5 个人。毕业后,只有 2 家公司来到我们的招聘会。我自己也没有从那次招聘会上得到任何工作。
最终,那时这个训练营的创始人问我是否愿意在那里担任助教。据创始人说,他对我印象深刻,因为我没有编程背景,但却以最优秀的学生之一毕业。我接受了,因为那时也没有工作经验,通过这个我可以获得工作经验。我被聘用了三个月。三个月后,他们显然很喜欢我,于是我的合同又延长了两个月。在这最后的两个月里,我遇到了一个学生,他其实来这个训练营只是为了创业。我总是坐在学生区,因为我需要一个额外的显示器(只有学生区才有),并且总是和这个学生坐在一起。他毕业后告诉我,他其实不需要工作(读作:有钱人),他想自己尝试开一家 SAAS(软件即服务)公司。所以我的合同结束后,我和他合作,他支付了我一年的工资,大约每月 4000 美元。我们为那个创业公司工作了一年,我负责编程,他负责会计、业务和法律方面的事务。 但最终无法与其他公司竞争,最终倒闭。
关门后,我告诉他我想继续上学,并且想主修计算机科学。于是我向他借了钱,他借给了我 3 万美元。直到现在我仍然和这个人保持朋友关系,他总是向我咨询软件方面的问题。
哦对了,我参加的这个编程训练营,原来是由 YCombinator 支持的。我当时并不知道 YCombinator 是什么。现在,这个编程训练营是纽约市(如果不是整个美国)最好的之一。把这个训练营写进简历实际上帮了我很多。所以我很幸运,原本以为是个骗局的训练营,结果非常正规,还成为了这个城市最好的训练营之一。
工作经验
编程训练营助教(TA)(5 个月)
技术栈:JS, Angular, NodeJS
工作:教授学生,开发教材
薪资:$2500/月。
好处:无。
自启动(1 年)
技术栈:JS, Angular, NodeJS
工作:为初创公司开发应用程序
薪资:$4000/月。
好处:无。
虚拟现实在室内设计中的应用(初创公司,7 个月) + 计算机科学系助教(公立大学,3 学期)
在我攻读计算机科学硕士学位期间,我在一家 VR 公司兼职,同时还在我的学院担任助教。我在学院教了 3 个班级,持续了一个学期,工资虽然不多,具体多少已经记不清了。
VR 初创公司职位:
技术栈:Electron, React, JS, Express, NodeJS, AWS。
工作:构建了这家公司的 Web 应用程序、网站、Electron 桌面应用程序以及一些后端相关的内容。
薪资:$52k/年,兼职,每周 3 天
福利:免费零食,免费午餐
CompSci 助教职位:C++编程入门,Java 数据结构和算法。
堆栈:C++, Java
支付:我忘了,太少记不住
收益:无
我不是一个好老师。我认为自己没有足够的耐心去教学(我对于任何需要人际交往技能的事情都不擅长),所以在三个学期后我辞去了教职。虽然我不得不说,那些喜欢我的学生,他们真的非常喜欢我,并认为我比大多数助教都要好。在几个学期后,我离开了这家 VR 公司,因为我想专注于完成这个硕士项目。
电视广告市场(中层,1 年)
从 CompSci 项目毕业后,这是我的下一份工作。那时我是通过招聘人员得到这份工作的。这是我全职从事软件工程的第一份工作经验,所以我没有挑三拣四。
技术栈:React, JS。
工作:为电视广告市场的大型仪表板构建功能。
薪资:$119k/年
福利:极低的 401k、健康保险、牙科保险,还有我忘了其他的。
在这里工作一年后,我觉得这家公司在很多方面都很混乱。我的同事质量很差(读作:很多不称职的程序员。我不知道他们是怎么被雇用的?),功能不明确,产品经理没有方向,软件工程实践也很糟糕。没有单元测试,多个生产版本等等。那时候年底我拿到了 700 美元的奖金,那是我最后的稻草,所以我决定辞职。
此时此刻,我看到一些朋友已经进入了 Google、Facebook、Amazon,拿着高薪。在我看来,那些进入 FAANG(Facebook、Apple、Amazon、Netflix、Google 等)的朋友,他们的技能与我相差无几,甚至如果诚实自省,我的技能比他们还要好,因此我感到有兴趣并且有信心尝试申请这些大公司。自从进入这家公司以来,我决心每天尽可能多地刷 Leetcode。
薪资技术公司(中上层,1 年)
我尝试申请了一些独角兽公司(如 Uber、Stripe 等)以及 FAANG 公司,但一直被拒绝。幸运的是,由于我开始练习 Leetcode,非 FAANG/非独角兽公司的面试变得轻而易举。大多数这些公司的面试,我都能在 15 分钟内完成。有时我甚至不得不假装挣扎,以免他们怀疑我做了很多 Leetcode 练习。最终,我在这家薪资公司找到了工作。这家公司规模很大,可能有些人会知道它的名字。
技术栈:JS, NodeJS, AWS, React。
工作:构建了各种 ETL 管道,以及一些 React 内部应用。
薪资:$135k/年
福利:免费零食、免费午餐、不错的 401k 计划、健康保险、牙科保险、伤残保险、人寿保险。
一年后,我的团队被解散了,我变得无所适从,经理还不知道要把我安排到哪个部门。我感到厌倦,开始尝试申请其他公司。我的目标一直是 FAANG/独角兽公司,因为我非常被高薪所吸引,而且我觉得自己受到了挑战,为什么技能不如我的朋友能进入 FAANG(是的,我有时会感到自豪)。
我们出售债券/股票终端(一级非 FAANG,2 年)
一如既往,我像往常一样尝试申请 FAANG/独角兽公司,仍然不断被拒绝。我正在阅读这家公司的职位发布,有一个顾问的职位空缺,于是我申请了这里。我想你们中的一些人可能知道这家公司的名字。起初我并不太明白全职顾问/合同工是什么意思,以及它与全职的区别是什么。
我从未停止过练习 Leetcode,因此我的数据结构和算法技能此时更加出色。我轻松通过了这家公司的面试并获得了 offer。
在这家公司,我属于 SecEng(安全工程)团队。开发团队(我的团队)的任务是构建应用程序来支持安全工程师的工作。例如,我们开发了一个应用程序来进行整个公司的电子邮件分析(钓鱼、诈骗、病毒等)。
技术栈:JS, TS, Python, React, Angular
工作:为安全工程师构建了各种工具。
薪资:$175k/年
福利:无,我是全职合同工。
通常,在这家公司,成为合同工一年后,会提供转为全职的机会。但没想到,仅仅三个月后,我的经理对我的表现非常满意,并主动提出让我转为全职。工资也有所上涨。
Stack: masih sama
工作:masih sama
薪资:$185k/年 + $30k 奖金/年
福利:免费零食、免费午餐、优厚的 401k 计划、健康/牙科/视力/残疾/人寿保险。我记得有一次,如果我因工作相关事故去世,我的人寿保险将为我配偶提供 800 万美元的赔偿,哈哈。
这是我的转折点,因为两件事:
我的年收入从 13.5 万美元跃升至 21.5 万美元。
我一直有招聘人员时不时联系我,但这家公司的名字放在我的简历上确实很有分量。自从把这家公司写进简历后,更高层次(即高薪)的公司开始主动联系我。
我离开这家公司的原因是:
Bosen
太多官僚主义
工资只涨了$15k,所以大概$230k/年。我不满意。我看到我的朋友们技能不如我,但能拿到更高的工资,所以我不满意。
私募对冲基金(顶级公司,我目前仍在此任职)
和往常一样,我申请了 FAANG/独角兽公司,但仍然被拒绝了。我从未停止过练习 Leetcode,所以此时此刻我有信心能够应对数据结构和算法的面试。从阅读面试题开始,我可以在 20 分钟内解决任何中等难度的 Leetcode 问题。有一次,在一家独角兽公司的面试中,面试我的工程师评论道:“这是我第一次看到有人完成了所有问题,还有时间提问。”
好吧,但我还是被拒绝了,哈哈。
此时,我向神询问,为什么我一直被 FAANG/独角兽公司拒绝,难道真的没有这个福分吗(我觉得我的生活充满了拒绝,也许有一天我会写点关于这个的东西)。是因为我是亚洲男性吗(大多数亚洲男性在多样性方面是负分)?但算了,生活还得继续。这时,我的一位在私人交易公司工作的教会朋友告诉我,他们公司急需前端工程师。他们很难找到优秀的前端工程师,甚至我的朋友如果能推荐一位前端工程师,就能得到 3 万美元的奖励。
简而言之,我参加了面试,表现非常出色,并被录用了。目前我有三个工作机会(一家交易公司、一家对冲基金和一家投资银行),我利用这三个机会进行了薪资谈判。说实话,我对从事金融工作有些犹豫,因为我听说金融行业工作时间长,压力也很大。不过我还是决定试试看,如果不喜欢的话,随时可以转行,回到科技公司。
实际上,对冲基金公司提供的薪资略高于这家交易公司,但最终我选择了朋友工作的交易公司,因为我看到他在那里非常开心。
技术栈:JS, TS, React, OpenFin, Python
职位:领导 2 个内部应用程序开发,为公司制定 JS/TS 最佳实践、测试和 CI/CD 构建的方向。
薪资:$220k/年 + $80k 奖金/年。通常奖金总是高于平均水平。去年奖金是 90%,所以我去年总共拿到了$290k。
福利:免费零食,几乎任何餐厅的免费午餐(每天 30 美元餐券),优厚的 401k 计划,全面的健康/牙科/视力/残疾/人寿保险等。公司活动非常精彩,我们总是为活动租用私人游艇、顶级私人酒吧和纽约顶级私人餐厅。
我真的很喜欢这家公司。除了他们告诉我可以做任何事之外,我还可以随时随地在家工作(目前从雅加达工作,但需要遵循纽约证券交易所的时间)。没有繁琐的官僚主义,我们不用 JIRA,没有敏捷站会,也没有无意义的会议。每个人都非常非常聪明,是来自谷歌/Dropbox/Meta/Jane Street/Citadel 等公司的前工程师。我觉得自己是房间里最笨的人,而且很多这些工程师都比我年轻得多。我提到过,我的一位同事 22 岁,年薪 20 万美元,还有 20 万美元的奖金。他父亲是一位拥有多项专利的编译器工程师。这里的人都是这样的。他们毕业于麻省理工学院、哈佛大学、滑铁卢大学、普林斯顿大学等,而我不过是从本地一所便宜的公立大学毕业的无名小卒。
3 个月后,我的 CTO 也对我印象深刻。7 个月后,我几乎获得了 100%的绩效奖金,之所以不是 100%,是因为我还没有和他们共事满一年。我还得到了加薪。
我目前的收入:年薪 24 万美元 + 奖金 10 万美元。总计年薪 34 万美元。全部为现金。没有股票。我不做任何管理工作,只专注于纯编程。我的工作时间是上午 9 点到下午 5 点,但我经常可以随时来去。我有时在家工作(WFH),有时在办公室工作(WFO),取决于当天的心情。我可以在任何地方工作。
此时:
我目前的收入超过了 FAANG/独角兽公司中的大多数同行
我目前的收入超过了教会里的大多数同龄人,除了那些收入极高的律师/医生,但我的工作时间却少得多,压力也小得多。我不做任何管理工作。
如果我在未来两年内能将收入提高到每年 50 万美元,我就可以让妻子辞职,让她专注于做其他事情。
最疯狂的是,在我加入这家公司 5 个月后,美国经济开始下滑。到处都在裁员,甚至在 FAANG 公司也不例外。股票下跌,因此 FAANG/独角兽公司工程师的薪酬也下降了。与此同时,我获得了加薪,而且是全现金,所以我的薪酬完全没有下降。
上帝对我很好。我感到自己被证明了。所有的那些拒绝,所有的那些辛勤工作,刻苦的夜晚。这一切都得到了回报。
我们正在面试新人以扩充团队,我面试了一位前 Dropbox 工程师、一位前 Google 工程师和一位前 Meta 工程师。如今我坐在了面试桌的另一端。这位 Meta 工程师拥有 20 年的丰富经验。你猜怎么着?他在我这轮面试中失败了。我确信他是一位技术过硬的好工程师,而我在面试方面却表现不佳,导致他未能通过。这让我意识到,面试他人确实不易。回想起来,或许我当初应该对那些曾面试并拒绝我的 FAANG/独角兽公司的工程师们多一些宽容。
到目前为止,我已经解决了大约 500 道 Leetcode 题目,但不再每天练习,所以我的 Leetcode 技能生疏了。不过,我也不再需要每天练习 Leetcode 了。我想我会在这家公司待上一段时间。薪水不错,同事优秀,问题具有挑战性,没有理由再跳槽了。
顺便说一句,请不要在 LinkedIn 上搜索我。我本质上仍然不喜欢社交媒体和名声,所以我已经停用了我的 LinkedIn。只有在需要找工作时我才会激活它。
公司层级
在我看来,科技公司按薪酬从低到高可分为以下几个层级:
初创企业
示例:懒得写,有很多。
中下层
示例:ADP, IBM。
中上层:
示例:Microsoft、LinkedIn、Bloomberg、Square
独角兽公司/FAANG
示例:Uber、Brex、Lyft、Stripe、Coinbase、Netflix、Tesla、Palantir、Airbnb、Meta/Facebook、Amazon、Apple、Google
对冲基金/交易公司
示例:Citadel、Jane Street、Hudson River Trading、Susquehanna International Group
软件工程领域的最低薪资与最高薪资之间的差距可能非常悬殊。你可以找到年薪仅为 5 万美元的软件工程师职位,也能找到愿意支付 50 万美元年薪的软件工程师工作。
我建议至少以中上游公司为目标。这会让你获得高于平均水平的薪资、优厚的福利,以及为下一次职业跃迁在简历上增添一个好名声。
对于对冲基金与独角兽/FAANG 公司之间的选择,我认为主要取决于你对哪类事物感兴趣。它们的风险特征也大不相同。
对冲基金的风险状况要高得多,参见骑士资本事件。在我目前的工作场所,我自己几乎经历了一次类似骑士资本的个人事件。遗憾的是,由于隐私原因,我无法在此分享详情。
由于风险的存在,对冲基金/交易公司努力消除复杂性。我们总是希望系统更简单,以便能够理解其局限性和风险特征。在这里,复杂性是敌人。在这类公司中,通常没有太多自由去尝试各种新技术。比如说,你想在 Citadel 尝试使用 ReasonML 或 Nim 语言,他们很可能会拒绝。
我公司目前的技术栈只有 Python、C++、TypeScript。我们不使用分布式数据库,也不使用 AWS,所有机器都在本地,靠近 NYSE 数据中心。我们的技术非常简单,简单得令人乏味。
关于我的一些事情
我的 Leetcode 练习过去是怎样的
每天 2 到 3 小时,几乎天天如此,持续 3 年,同时还在工作
从数据结构和算法路径开始,例如树、数组
做一些精选列表,比如 Blind Leetcode 75
随机提问
在面试季,专注于公司特定的方向(如 Google、Facebook 等)
我是如何从雅加达连接到纽约服务器进行远程办公设置的。
SOCKS 代理 + VSCode 远程。我发现这种方法迄今为止延迟最低。
我把我的代码放在我办公室的 NYC 机器上
我登录到公司的 **
我设置了隧道(SOCKS 代理)到我的 NYC 机器
我也通过 SSH 连接到那台机器,以获得 CLI 功能。我在这里不直接使用 Vim,太卡了。
相反,我使用 VSCode 的远程功能。我想我也可以用 Vim 进行远程编辑,但 VSCode 整体体验更好。
我使用指向我的 SOCKS 代理服务器的 Chrome
有了来自印尼/日本的快速网络,这种方法确实不错。Sekarang jadi mikir saya nih, bisa jadi saya lebih sering bolak balik Indonesia dan kerja dari sini aja kalo lagi dingin. 每次都能跳过冬天。
远程桌面
有时我需要登录一个尚未设置 SOCKS 代理的应用程序,所以我只是远程桌面连接到我的台式机。从印度尼西亚连接时,延迟并不理想。但希望我不必经常处理这个问题。
我的工具
在我职业生涯的早期,我曾喜欢那些异域风情的编程语言。我尝试过 Haskell、Elixir、Erlang 等。然而,如今我既没有时间再去接触它们,也不再觉得它们有趣。我还觉得自己对这些语言来说太笨拙了。现在,我只用常规的老牌 JS、TS、Python 和 Go。
这些天我宁愿多了解一些领域特定的问题,而不是编程语言。比如,最近我对底层技术非常着迷,比如学习如何创建自己的虚拟机和小型语言编译器。我对攻读博士学位不感兴趣。与其说我是科学家,不如说我更像是一个黑客/修补匠/工程师。
我使用 VSCode、Tmux、Vim,配置极简。我个人使用 Mac,工作时使用 Linux 和 Windows。
我的优势
冒着显得自负的风险,我不得不说,我认为自己很幸运,拥有比一般人更好的头脑。在 Tirta Marta(高中)时,他们进行了一次智商测试,我是全校最高的三人之一。那时我相当懒散,经常在课堂上睡觉,但每学期/每班仍能保持至少前五名的成绩。
快进到纽约,这里有太多比我聪明得多的人。仅凭高智商并不能让我走得太远。我需要非常勤奋,非常努力地工作,非常努力地学习。我需要在学习/工作上超越很多人。
纽约教会了我坚韧和毅力。这带来了巨大的回报,远超过拥有一个聪明的头脑。我在 Leetcode 上表现糟糕,在数据结构和算法上也很差。我差到甚至不知道 JavaScript 字符串是不可变的,字符串连接是一个 O(n + m)的操作。就是那么糟糕。但就像其他任何事情一样,面试/Leetcode 技能是可以获得的。
幸好我没有 ADHD,所以我能轻松集中注意力。我可以连续学习几个小时不停歇。
我迄今为止的所学
这只是分享我迄今为止所学到的。我并不明确推荐下面的一些做法。建议需要谨慎对待。建议非常依赖于具体情境。Perjalanan hidup、personality 和 luck 在我的人生中扮演了重要角色。从事一个更看重技能和表现而非资历的职业也有所帮助。我的性格更倾向于自由主义/个人主义。即使在印尼时,我已经是一个个人主义者(与很多人、我的老板、家人、朋友都合不来),但纽约让我变得更加个人主义。这是一种生存机制。
因此,在阅读下文时,请考虑到这一点。我认为美国/纽约与我的个性非常契合。这在其他地方,比如日本或印度尼西亚,可能行不通。下面的一些观点如果在日本/印度尼西亚的公司实施,实际上可能会适得其反。像我这样的人在日本/印度尼西亚可能难以生存。
SWE 是问题解决者,而非编码员
SWE 的主要任务是解决业务问题,而不是编码。编码只是 SWE 用来解决业务问题的工具。我们必须先提出解决方案,并了解其权衡和局限性。然后,我们需要决定选择哪种解决方案,并编写代码实现该解决方案。
程序员将被机器取代。问题解决者永远有工作。
沟通很重要
作为上述内容的推论,我们作为软件工程师需要成为优秀的沟通者。语法不必太完美(像我这样混乱,哈哈),但至少与相关方的沟通必须清晰。重新澄清,与利益相关者重申问题陈述。为什么问题是这样,解决方案是什么,可接受的权衡是什么。我认为我的糟糕语法是一种优势。因为知道自己语法不好,我通常会用我自己的话向利益相关者重申当前的问题,并迫使他们澄清。要直截了当。
过度沟通总是更好。过度沟通你正在做什么、你接下来要做什么、你在想什么。即使你惹恼了利益相关者,过度沟通也比构建错误的东西并浪费大家的时间要好。当构建错误东西的代价是你的公司损失大量资金时,情况会更糟。
做高可见性/高杠杆的工作
工作有 4 种类型:
低投入,低影响
低投入,高影响
高投入,低影响
高投入,高影响
始终尽力去做高影响力的工作。幸运的是,对于前端工程师来说,有许多高度可见的工作。其他高影响力工作的例子包括:参与测试、CI/CD、实施最佳实践、编写优质文档,以及为用户创建良好的 UI/UX(因此沟通很重要)。
让别人去做那些低投入、低影响的工作。如果你在一家好公司工作,管理层应该具备足够的技术能力,能够区分高绩效员工和低绩效员工。
保持高专业标准
公私分明。保持超然。不要窥探与手头工作无关的他人私事。
与你的同事保持距离。与你的公司保持距离。与你的项目保持距离。时刻准备转向,准备寻找其他机会,准备为了更好的选择而放弃你的项目、你的公司或你的同事。你的首要责任是对自己和你的家庭,而不是对你的公司、你的同事或你的项目。
工作时不要谈论 SARA 或政治。你不是政治家。如果你想谈论 SARA,那就去当政治家或活动家,直接辞掉现在的工作。在我看来,员工激进主义大多令人尴尬和厌烦。戴上耳机,专心写代码。不要回应任何与 SARA/政治相关的文章。到了下午 5 点就回家,没必要和其他同事一起闲逛。
始终在编码
始终练习编程。不断学习新事物。持续深化和扩展你的知识。寻求基础知识。日夜不停学习。在这个领域停止学习的那一天,就是你逐渐退出这类工作的那一天。如果你有冒名顶替综合症(大多数人都有,包括我),那么更有理由不断努力扩展你的知识。
忘掉证书,忘掉拥有 S1、S2、S3 这样的学位。那些并不那么重要。接受教育不是为了获得 ijazah(文凭),而是为了掌握纯粹的硬技能。只要你拥有难以获得且市场需求旺盛的技能,你就永远会备受青睐。我只有来自一所无名地方公立学院的计算机科学背景,但现在我与常春藤盟校计算机科学专业的顶尖毕业生共事。那些迷恋证书的人,往往是缺乏实际技能的人。
数据结构和算法类型的面试很好
不要听那些讨厌 Leetcode 的喷子。他们是失败者。那些做不到的人。那些被打败的人。面试是一场游戏,你需要按照规则来玩。让那些喷子/失败者在小薪水中哭泣,而你则带着丰厚的收入微笑。
通过 LeetCode,你可以一次练习,同时多次使用。你可以一次性申请多家公司,让它们为你竞争。只要保持面试技巧的锋利,今天辞职,明天就能找到工作。几乎每年、每月、每次你不喜欢同事、每次你不喜欢经理、每次他们不给你加薪、每次同事放屁、每次经理忘记称呼你为大师、每次下属惹你烦、每次同事用那些 SARA/政治讨论让你不爽时,都可以辞职,找份更好的工作。
直接辞职吧。别让公司对你拥有更多控制权。向他们展示谁才是老大(嗯,让他们知道你有很多潜在的老板)。
具备 T 型技能
专注于一项特定技能,但不断扩展其他相关技能。例如,除了前端相关的内容,我总是负责与 JS 生态系统构建相关的一切,从 Grunt、Gulp、Webpack 到 Yarn、NPM,再到现在的 Bazel。没人喜欢做这些事,它令人头疼,总是在变化,但正是在这里,你可以出售并运用你的知识。让你从他人不愿涉足的领域中获利。
所有抽象最终都会泄露。你的技能越高,解决的问题就越难。通常这需要你处理性能问题、非确定性问题。如果不了解底层抽象的工作原理,你就无法有效应对这些挑战。
使用招聘人员
利用招聘人员,事实上,使用多个招聘人员。让他们为了让你选择他们的职位空缺而相互竞争。让公司为了让你接受他们的工作邀请而相互竞争。不过要诚实,让他们知道你正在与其他招聘人员合作。通过多个招聘人员,你最大化获得多个工作机会的可能性,并可以在薪资谈判中加以利用。保持冷静,将你与招聘人员的互动视为商业互动。不喜欢就拒绝。让他们去哭,这不是你的问题。
大多数时候,总是选择更好的金钱
这一点可能是整篇文章中最具争议性的。但请听我说完。我也是一名神学学生(如果这很重要的话),我在下面根据我的神学框架,以完全的信念陈述了这一点。
总是选择那些提供高薪、丰厚福利的公司。选择这样的企业,而不是那些标榜“为世界做好事”、“让世界变得更美好”、“家族企业”等口号的公司。大多数时候,这些都是政治废话,是压低你工资的手段,试图让你在管理层享受丰厚薪酬的同时,以更低的报酬工作。当然,你也需要考虑工作与生活的平衡。不要为了高薪而工作,结果却因为全天候工作而无法真正享受生活。运用你的判断力。
人们常常通过专注于金钱或地位来玩这个世界的游戏。我们听过诸如“贪财是万恶之源”的说法。确实如此,但金钱本身本质上并非邪恶。在许多方面,玩地位游戏实际上更糟。如果说贪财是万恶之源,那么贪恋地位就是魔鬼本身的化身。玩金钱游戏总是更好的选择。
我认为拥有比实际所需更多的钱是健康的,只要你能控制它而不被它控制。有了比实际所需更多的钱,你就有能力去做其他事情,无论是帮助他人,还是赚取更多的钱。如果你只有足够的钱,那么除了基本生存需求外,你无法承担其他事情。更糟糕的是,如果你没有钱,那么你很可能容易被收买。如果你没有钱,人们会收买你。你的朋友会收买你,你的家人会收买你。他们会迫使你说/做你不想说/做的事情。即使是牧师,如果没有钱,他的讲道也可能被会众“收买”。他的讲道会倾向于繁荣神学,以便让会众高兴并捐赠更多。
在流动性市场中,价格是诚实的。金钱是诚实的。有金钱就有商品,这是术语。为什么这件商品便宜,为什么那件商品贵,为什么这个员工便宜,为什么这个员工贵,肯定有其原因。
当我从事低薪工作时,那里的人普遍愚蠢、无能,他们的互动充满了职场政治。他们为琐事争吵。当我在中层公司工作时,办公室政治依然存在,但程度较轻。他们仍然喜欢谈论 SARA。他们仍然强迫你讨论它,以特定的方式回答,否则就会排斥你。似乎那里的人属于那种生活中没有更好事情可做,总觉得需要证明些什么,于是便诉诸于办公室政治的类型。
随着我的薪水越来越高,我遇到的人也在变化。我遇到了更聪明、更专业、更有责任心的同事。公司里的大多数人都避免办公室政治,也没有什么需要证明的。毕竟,他们大多数已经证明了自己的价值。所以工作起来也很愉快。工作中也可以信任同事,相信他们会很专业、负责,他们的解决方案也会非常高质量。
这跟卖东西差不多。如果卖的东西价格便宜,那么消费者得到的也是便宜货。如果卖的东西价格贵,通常消费者也不会是随便的。有钱就有货。有钱就有服务。
你的薪水越高,实际工作的时间就越少,但你的工作质量会更高,责任也会更大。
选择金钱,你就是在自我选择进入一家拥有高质量同事和完善系统的公司。这将引导你、你的同事和你的团队走向成功的深渊。选择金钱,你可以确信你的同事都是精英中的精英,而你将是整个公司中最笨的人,而这正是最佳的位置!
特权滋生特权,成功孕育成功。强者愈强,弱者愈弱。富者愈富,贫者愈贫。en.wikipedia.org/wiki/Matthew_effect
如果公司 X 无法支付你期望的薪水,不给你想要的加薪,那就准备好辞职,准备好申请另一份工作。保持专业,保持冷静,坦诚到近乎残酷。
金钱给予我的最重要的东西,并非购买跑车、奢侈品,或是沉溺于毒品酒精等无益的世俗恶习。它在于满足我自由意志主义者/个人主义者的个性,同时仍能在现代互联社会中发挥作用。金钱为我提供了选择,无论是现在还是未来。它让我能够购买他人的时间、技能和汗水,而不必关心他们(更准确地说,是选择性地关心我在乎的人,而对那些我不在乎的人毫不在意)。金钱赋予我能力,当有人要求我做违背原则的事情时,我可以对他们竖起两根中指。我并非说自己极其富有,但我的财富足以让我不必为基本生活需求和某些奢侈品担忧。金钱确保了这个世界上没有人能收买我,因为我不需要为基本生活需求和某些奢侈品而忧虑。
关于 AI
我不相信人工智能。然而,我承认人工智能不必完美就能颠覆社会,并让很多人失业。
首先,大多数 AI 预测都是错误的。所以无论你是否相信,你的预测很可能也是错误的。没有人认为艺术会是第一个被 AI 颠覆的领域。大家都以为会是自动驾驶。然而在自动驾驶领域,其能力的“长尾”效应确实很长,我们总是离实现还有十年之遥。因此,纠结于你无法控制的事情毫无意义。
其次,只要你不是低于平均水平或处于平均水平,只要你不是公司里最优秀(即最昂贵)的人,你很可能就是安全的。在社会阶层中,第 75 百分位是“金发姑娘”区域。你不是底层劳动者或炮灰,也不是普通人,更不会因为被发现成本过高而首先被裁掉。当社会陷入饥荒或发生内乱时,你大概率不会饿死或首先被杀。只要你保持技能敏锐,并处于第 75 百分位,社会在波及你之前,必须先因人工智能而崩溃。如果许多工作被 AI 取代,经济将陷入停滞,无论怎样你都会遇到麻烦,但其他人会比你先陷入困境。
第三,AI 系统是黑箱系统。需求每次都在变化,谁来确保 AI 黑箱系统完美执行所有需求?谁来测试所有这些?谁会在那里调试它?它甚至能被调试吗?当 AI 部署的空中交通控制站由于某个隐藏的漏洞导致两架飞机在空中相撞时,谁将承担责任?当系统在凌晨 3 点出现故障时,谁会接到电话?我相信我们仍然需要人类软件工程师。
我不使用 ChatGPT。我可能会用类似 Github Copilot 的工具,但也就这些了。编码是简单的部分,更难的是首先找到解决方案。不过,它确实会提高我的生产力,并且未来会淘汰一些工作。AI 不需要完美就能淘汰大量工作岗位。
好吧,我想就这些了。不想让这篇帖子占用不必要的时间。它似乎已经太长了。
我现在在印度尼西亚(WIB),但因为需要按照纽约证券交易所的市场开放时间工作,所以仍然远程工作(EST 时间)。因此,我从晚上 9 点 WIB 工作到凌晨 5 点 WIB,之后睡觉,中午 12 点 WIB 起床。所以对于评论,我会尽可能尽快回复。 |
|