关于工程师:职业精进的最佳方式是跳槽技术栈到底重不重要10-年经验工程师酒后吐真言

4次阅读

共计 4243 个字符,预计需要花费 11 分钟才能阅读完成。

当你成为行业资深人士时,你违心给后辈提供一些教训吗?最近,一位有着 10 年教训的资深工程师在醉酒后洋洋洒洒写了三千多字,波及技术、近程工作、职业倒退、工作与生存等。正所谓「酒后吐真言」,咱们来看 ta 说了些什么吧。

  • 我推动职业生涯的最好形式是换公司。
  • 技术栈并不重要,因为在我所在的畛域中有大概 15 种根本的软件工程模式能够利用。我从事数据工作,这与 webdev 或嵌入式开发不同,但所有畛域都有大概 10-20 个外围准则,技术栈只是试图让事件更容易而已,所以不要为此懊恼。
  • 人们举荐换工作是有起因的。如果我对一份工作不称心,可能是时候 move on 了。
  • 我在之前待过的公司里结交了一些终生的好敌人,但我对公司并没有这样的要求。我在没有和共事建设友情的中央工作有过十分开心的经验,在交到好敌人的公司也有过不开心的经验。
  • 我学会了对我的经理诚恳。不是齐全诚恳,但在工作中尽量做到实在。能产生什么更蹩脚的状况呢?被辞退?没关系,我能在两周内找到一份新工作。
  • 如果每个季度中,我在凌晨 2 点被紧急喊醒的次数超过一次,那么这意味着出大问题了。我要么解决它,要么退出。
  • 优良经理的品质与优良工程师有许多共通之处。
  • 最开始的时候,我迷恋技术、编程和计算机科学。而当初,我受够了。
  • 好的代码是高级工程师也能了解的代码;优良的代码,连 CS 大一新生都能看懂;而最好的代码是齐全没有代码。
  • 工程师最被低估的技能是如何写文档。有人求教我怎么写好文档,讲真,如果真的有好的举荐,我会领取课程费用(哪怕须要花很多钱,只有保障我能写好文件)。
  • 和上一条相似,写好批改提案是一大技能。
  • 简直所有的 battle(vim vs emacs、mac vs linux 等)都无关紧要,除了……
  • 年龄越大,我越观赏动静语言。
  • 如果我发现自己是房间里最聪慧的人,那么是时候来到了。
  • 我不晓得为什么 Web 全栈开发者的工资这么低,他们应该失去 50 万根本年薪。全栈开发者必须理解前端和后端、不同的浏览器如何工作、网络和数据库、缓存、web 和挪动端的差别,甚至公司想应用的另一个框架…… 所以为什么 web 开发者的工资这么低?
  • 咱们应该雇佣更多的实习生,他们很棒。那些精力充沛的小家伙有很多奇思妙想,如果他们可能质疑或提出批评就更好了。我喜爱实习生。
  • 不要去见你的偶像。我花了 5000 美元加入我的一位偶像的课程。他很聪慧夺目,但最终我意识到他是在编故事,他和咱们其他人一样。
  • 技术栈很重要。我方才说技术栈不重要,但实际上当你听到 Python dev vs C++ dev 时,你想的货色必定不一样。那是因为某些工具的确很善于执行某些工作。如果不确定本人想做什么,就写 Java。这种编程语言简直什么都善于。
  • 有史以来最平凡的编程语言是 lisp,我应该学 lisp。
  • 对于初学者来说,最赚钱的编程语言是 SQL。即便只懂 SQL,别的什么都不懂,你也能够赚到钱。薪酬专员?薪资大略 5 万吧。懂 SQL 的薪酬专员?9 万!大公司有组织能力的普通人?4 万美元。有组织能力又会 SQL 的人?请称说本人为 PM,薪资 15 万美元。
  • Tests are important but TDD is a damn cult.
  • 测试很重要,但 TDD(测试驱动开发)是该死的邪教。
  • 轻松的政府工作并不像人们所说的那样,至多对职业生涯晚期到中期的工程师来说是这样。当然,12 万美元薪资还有养老金听起来不错,但你将出卖本人的灵魂去钻研秘密的专有技术。我很尊重政府工作人员,但说真的,这些中央工程师的平均年龄 50 岁以上是有起因的。此倡议不适用于政府承包商。
  • 第三方招聘者是水蛭一样的存在。但如果遇到了好的第三方,就认真打好关系,他们能够帮忙你的事业倒退。
  • 期权要么不值钱,要么能让你成为百万富翁。除非工程人员超过 100 人,否则期权可能毫无价值。
  • 在家工作就是最好的,然而短少白板很蹩脚。
  • 我素来没有在 FAANG 这几家大公司工作过,所以我无从得悉本人错过了什么。然而我雇佣过从 FAANG 进去的工程师,他们也不晓得本人在做什么。
  • 我的自我价值与总薪酬无关,资本不是确定自我价值的好办法。
  • 经理的势力比你设想的少。如果你想晓得,为什么某某经理不辞退某人,那是因为他们不能。
  • 头衔大多不重要。你做了什么,实现了什么,这才是人们关怀的。
  • 善待每个人。不是因为他们能帮忙你的事业,而是因为凶恶自身就是有回报的。
  • 如果我在过来一个月中没有从高级工程师或实习生那里学到什么,那是因为我没有留神到而已。
  • 领取课程、书籍、会议费用是值得的。我加入过几次会议,加入过几次付费课程,读过很多书。很值得,我能够更好地伪装本人在做着什么。
  • 腕管和背部问题不是闹着玩的,当初快花钱买好配备。
  • 你晓得做软件工程师最大的益处是什么吗?能够和与你想法一样的人见面聊天。不肯定是对体育和电视节目有一样的趣味,而是他们对待问题的形式和你一样。那很酷。
  • 科技领域的女性不够多。如许蹩脚的行业,这须要扭转。我始终试图给咱们组织中的女性工程师更多激励和帮忙,但我不晓得本人还能做什么。
  • 黑人工程师也一样。
  • 我从未真正厌恶一种语言或技术,直到我开始相熟它。此外,即便我厌恶一项技术,但只有我认为它是好的,我仍会向客户举荐它。
  • git 很蹩脚,但我别无选择只能应用它,还有 GUI git 工具。
  • 因为我从事数据工作,我将给出一个数据相干的经验教训——该死的 pandas。
  • 我的工作更容易,因为团队中有半技术分析师。半技术性,示意他们懂编程但不懂软件工程。这是一件幸事,因为如果有些货色对他们来说没有意义,那就意味着它可能设计得不好。我喜爱团队中的分析师,他们比最卓越的工程师对我的帮忙更大。
  • 暗黑模式十分好,除非你不得不应用 light 模式(如不反对暗黑模式的网页或 app)。
  • 我对平安足够理解,而后发现我对平安无所不知。
  • 成为一名不错的工程师意味着理解最佳实际,而作为一名高级工程师意味着晓得何时突破最佳实际。
  • 如果人们试图将责任归咎于一个 bug 或中断,那么是时候 move on 了。
  • 很多后退中的公司,尤其是守业公司,都在议论带上「真实自我」。但如果实在的本人只想看色情片呢?衰弱的做法是在工作和集体生存之间建立一个屏障。
  • 平凡领导力的最好证实是,当我的领导因为我的谬误而受挫,我会为她出生入死。
  • 同样,我有幸共事过的最佳领导者尽最大致力提倡我的观点,并跟我解释与我的观点相冲突的其余观点。我正在致力成为他们那样的人。
  • 去他妈的副业。如果你喜爱做,太好了!即便我有工夫做兼职,我也会忙着在 reddit 网站写醉醺醺的帖子。
  • 在某种程度上,算法和数据结构很重要。我没看到药剂师面试考有机化学,咱们行业的面试过程有问题。
  • 做本人喜爱的事不重要,做本人不厌恶的事更重要。
  • 我离产品越近,我就越靠近进步收益,此时无论我的工作技术性有多强,我都感觉本人更受器重。即便在成长性最强的公司中也是如此。
  • Linux 很重要。
  • 我学会了对「大数据」这类不置可否的流行语保持警惕。什么是「大」数据?我在 Spark 和 Kafka 中解决过每 10 分钟 10000 行的数据流,在 Python 和 MySQL 中进行过每小时 10 亿行的批处理。那些标签可去他妈的吧。
  • 不是所有的好工作都在硅谷,但很多都是。

对于编程语言

  • 我已经很厌恶一种编程语言 (C#),直到开始应用。当初我依然厌恶它,但认为它还是有用的。
  • 我开始厌恶一种编程语言 (C#),之后来到又回来了。哇,那种编程语言真的提高了。
  • 函数式语言最平凡之处在于函数是最重要的,所有程序员都晓得这一点。
    一门语言再平凡再优越,人们不应用也没方法。
  • 学习一门语言并不难,难的是学习生态系统。

对于共事

  • 结对编程很棒,只是要花很多工夫,而公司通常不想花这些工夫。
    与聪慧的工程师一起工作让我成为了更好的程序员,与聪慧的非技术共事一起工作让我成为了更好的工程师。
  • 不要在朝九晚五工作工夫之外工作。除非你有一个很棒的我的项目,且你处于最佳状态。那就太棒了。

对于在家工作

  • 如果公司一半员工近程,一半坐班,那么公司须要确定近程人员是否被视为二等公民。如果重大决策是在「饮水机旁」做出的,那么最好致力扭转公司文化,或者跳槽到另一家将近程员工视为头等公民的公司。
  • 在家工作的第二大毛病是没有白板。
  • 在家工作的最次要毛病是很难向共事学习。除非我自信、果决地提出问题,并且公司文化认可近程员工的价值等同于现场员工,否则我认为最好在职业生涯的前 5 年坐班。

对于技术

  • 每个人都晓得技术始终在变动。过来 10 年中,技术格局产生了巨大变化。然而基本面变动不大,尤其是实用于我这个畛域的基本面。
    -Hacker news 和 – /r/programming 只对获取个别想法和跟进最新新闻有用,评论简直一文不值。
  • 很多业余爱好者对技术有很强的见解,甚至在「体面的」杂志和博客上发表文章。我须要分辨它们的价值。

对于数据工程

  • 我是一名数据工程师,所以我能够给出更具体的、有针对性的倡议 / 教训。
  • SQL 才是王道。像 MySQL、Postgres、Oracle、SQL Server、SQLite 这样的数据库仍然很棒。即便你应用新技术工作,大部分技术还是会迁徙。
  • 大多数公司不做流媒体,这很难也很简单。如果你工作 10 年,还不晓得如何解决每秒 10k 记录,别放心,你依然能找到适宜的工作。
  • Airflow 就是垃圾。
  • 机器学习我的项目极易失败,它们既简单又难以实现。
  • 咱们的畛域是新的。数据工程没有好书,去「做」就好。

对于生存

  • 人们都会死去。你心愿你的代码成为遗产吗?如果是的话,那就花很多工夫在这下面,因为那是你的遗产!然而如果你像我一样,不心愿代码成为遗产,那么不要太在意。
  • 坏蛋也写烂代码,聪明人也写烂代码,好的程序员和工程师也写烂代码。不要让代码品质成为你本身价值的因变量。
  • 我喜爱技术和编程,因为技术是我的喜好。当初我的喜好就是工作,而工作毁了我的喜好。当初如果我想享受技术,就须要放弃喜好。或者我须要确定技术不再是我的喜好,并找到新的喜好。

其余

  • 多年来,我构建了供多个团队和人员应用的大型平台和库。然而出于某种原因,我最引以为豪的代码是我应用的小脚本。
  • 我找工作时,创立了 Linkedin 主页。但收到了乌七八糟的回复,就删了。当初我用 Linkedin 寻找其余候选人退出我的公司。一句话,Linkedin 就是一大堆乐音。我感觉它有价值的起因只是,当初我的局部工作就是制作乐音。
  • 我变成了本人厌恶的人:在职业生涯中从事技术工作,但在现实生活中回避技术。兴许这是因为年纪大了。
  • /r/ExperiencedDevs 是一个十分酷的社区。

参考链接:https://old.reddit.com/r/Expe…

正文完
 0