Drunk Post: Things I've learned as a Sr Engineer
觉得这篇文章同样很好,一位 id 为 flipstables 的 Reddit 用户边喝边写的。 继续互联网海盗行为,未经授权翻译一下,本翻译不追求信达雅,只要「我觉得意思到了」。
- 我经历过最好的职业提升方法是换公司。
- 技术栈不重要,只要掌握软件工程的核心原则。
- 当我对工作不满意,就会去找新机会。
- 可能会与同事成为终生好友,也可能不会,都行。
- 坦诚面对领导,最坏结果是什么呢?大不了重新找个工作。
- 如果我每个季度被 on-call 叫醒超过一次,肯定是哪里不对劲,要么我会尝试修复它,要么我就跑。
- 再倒杯酒先。
- 好领导跟好工程师的品质常常相通。
- 刚工作时,我迷恋技术,现在不了。
- 好代码能被初级工程师理解,伟大代码能被大一学生看懂,极致代码就是没代码。
- 最被低估的工程师技能就是如何写文档。妈的,来个人教我怎么写好文档好吗,我付钱。
- 写一份好的提案同样是伟大技能。
- 任何一场“圣战”都毫无意义,比如:vim 还是 emacs?mac 还是 linux?除了下面这个👇。
- 我越老越觉得:动态语言 nb。妈的,我说出来了,来干我啊。
- 如果我觉得自己是这个屋里最聪明的人,那就该跑路了。
- 我不懂为什么全栈 Web 工程师工资这么低。他们什么都要懂,前端、后端、不同浏览器、网络、数据库、缓存、桌面/移动端...还有一个个新框架,讲真的,为什么工资这么低?
- 再多招点实习生吧,他们又有精力又能折腾新想法,能提问提批评就更好了,天呐。
- 吨吨吨吨吨
- 别去见你的偶像们。我花过5000美元跟偶像见面,最后发现他不过也是普通人在假装。
- 技术栈重要,虽然我上面说它不重要。如果让你对比 C++ 跟 Python,你考虑的事情就跟其他对比很不一样,对吧?每件工具都有它适合解决的问题。不知道选什么的时候,就 Java 一把梭。
- Lisp 是最好的语言。
- 新手学 SQL 是收益最大的。去他妈的其他语言。只懂 SQL 就能开银行。你是管工资的?50K每个月。你还会 SQL?90K。大公司的管理混子?40K。会 SQL 的管理混子?你就说自己是 PM,然后要150K。
- 测试是很重要,但 TDD 就是邪教。
- 这条懒得翻译:
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
- 猎头都是吸血鬼,不过遇到好的,和他们建立好的关系,有助于你的职业生涯。什么是好的?工作三年以下的,通常在那之前他们就加入大公司负责招聘了。
- 期权要么让你财富自由,要么一文不值。它们通常都一文不值,除非工程师都有上百个了。在那之后的下个十年里你的期权可能会开始有价值。
- 在家工作是很爽,但没有白板(有效的当面交流)很不行。
- 我没给大厂干过活,不知道是什么样。但我面试过的大厂人也搞不清楚他干的活。
- 我的自我价值不由工资计量,也与之无关。资本主义衡量不了自我价值。
- 你 Boss 的权利比你想象的小。
- 这段我翻译不好,就不翻了:
Titles mostly don't matter. Principal Distinguished Staff Lead Engineer from Whatever Company, whatever. What did you do and what did you accomplish. That's all people care about.
- 懒得翻译,实用无聊:
Speaking of titles: early in your career, title changes up are nice. Junior to Mid. Mid to Senior. Senior to Lead. Later in your career, title changes down are nice. That way, you can get the same compensation but then get an increase when you're promoted. In other words, early in your career (<10 years), title changes UP are good because it lets you grow your skills and responsibilities. Later, title changes down are nice because it lets you grow your salary.
- 美国国情不太懂,大概类似于顶格交公积金的意思吧。
Max out our 401ks.
- 友善对待每个人,不只因为这对职业有帮助,它本身就是一件好事。
- 如果近一个月我没能从实习生或新手那里学到什么,一定是我没用心观察。
- 哎呀,酒又喝没了。
- 花钱买课买书参加研讨会是值得的(译者价值观植入:原作者讲的是美国)。我买过的一些$1500的课程,许多书籍和一些付费订阅信息都不错。这样,我就能更好地假装很懂自己手头的事。
- 讲真,为什么搞 Web Dev 的人工资不高点?他们什么都懂。
- 腕管综合征和腰背问题不是开玩笑的。这值得你立刻花钱买好装备(保护它们)。
- 我共事过最聪明的人是个数学博士。我从他身上学到颇多。希望他一切都好。
- 高中时候,有个女生是我非常好的朋友。我是说,那些年我们交谈许多,经常出去玩,也彼此分享过许多个人经历。后来就有流言说我喜欢她,我们常一起出没之类的。而她不太受得了那些,后来就开始忽略我。我的感觉很不好,用现在的词来说大概就是「人间蒸发」(ghosting)吧。我倒也没有希望她过得不好,还是希望她一切顺利。对不起,我本能做得更好的。
- 8年级的时候我有过一个女友,但在我不喜欢她的时候也不想分手,而是开始冷暴力忽略她。我那真是太操蛋了。对不起,Lena。
- 你知道当工程师最好的地方是什么吗?就是你可以见到许多和你想法相似的人。不是说你们有共同兴趣比如运动或影视,而是指你们看待问题的方式类似。
- 科技领域的女性远远不够。是这个行业有问题,这种现状需要被改变。我有尝试为组里的女工程师提供更多鼓励和帮助,但并不知道自己还能为此做些什么。
- 黑人工程师问题也类似。
- 这一段也懒得翻
I've never really started hating a language or technology until I started becoming intimately familiar with it. Also, I think a piece of tech is good if I hate it but I simultaneously would recommend it to a client. Fuck Jenkins but man I don't think I would be commuting software malpractice by recommending it to a new client.
- git 真的很烂,但我没得选。git 的 GUI 工具也可以滚蛋,还是让我用 cli 吧。大概也只有 7 个命令需要记住,其他的就去 Google 吧。
- 因为我是做数据相关技术的,接下来讲点在这方面学到的东西,去他妈的 pandas。
- 团队里有懂点技术的分析师,我的工作因此轻松许多。说「懂点」是因为他们知道怎么写代码但不太懂软件工程。这其实是件大好事,因为如果有什么事对他们而言不好懂,就说明它设计得很差。我爱这些分析师,他们于我成长的帮助远多过大多数聪明的工程师。
- 深色模式非常好,直到你用着用着打开了某个只有浅色模式的网页或应用,所以我干脆只用浅色模式。
- 我对信息安全了解的程度刚好让我认识到:我对它p都不了解。
- 干,又没酒了。
- 做一个好工程师意味着知道最佳实践。作为一个高级工程师,要知道何时打破最佳实践。
- 如果人们试图把事情的责任推给系统故障或者bug,那就又该跑路了。
- 许多发展中的公司,特别是创业公司,喜欢说表现「真实的自我」。OK,如果你的真我就是喜欢整天看黄片呢?在工作与个人生活间保留适当间隔是种良策。
- 我喜欢和同事喝两杯。但我更乐意多花时间陪陪家人孩子或朋友。
- (我见过)领导力的最佳展现就是领导替我背锅,尽管那完全是我的错。我真的会愿意为她赴汤蹈火。
- 类似的,我有幸与之共事过的最好的领导们,都能够在支持我观点的同时,向我解释其他同事与之相悖的观点。我正努力向他们看齐。
- Fuck side projects. 如果你喜欢做这些,真的很棒。就算我有那时间,我也会忙着在 reddit 上边喝边写现在这些鬼东西。
- 数据结构与算法是重要,但我没见过药剂师面试要考一些琐碎的有机化学知识。我们这个行业的面试流程真的来鬼了。
- 妈的,那些搞 DevOps 的人,真的聪明死了。
- 重要的不是做喜欢的事,是不用做讨厌的事。
- 离业务越近,对公司年收入的贡献越直接,我就越感到自己被公司看重,无论是否在做技术活。
- Linux 很重要。
- 我一直警惕模糊的热词,比如大数据,什么是大数据?我用 Spark+kafka 处理过每十分钟传输一万行数据的任务,也拿 Python + MySQL 干过每小时处理十亿级数据的活。大他妈的数据。
- 不是所有好工作都在北京,不过很多都在。