软件工程师

Chinese, Simplified
SEO Title
software engineer

【软件工程师】如何成为 10 倍软件工程师

Chinese, Simplified

初级工程师常犯的 3 个错误。 你在做吗?

10x engineers are fact. Bigfoot is not.

最好的工程师比普通工程师好 10 倍。 就像一支单人军队一样,他们自己提供的价值比一支初级工程师团队加起来的速度更快。
但那怎么可能呢? 不是越多越好吗?
在我担任 Netflix 和 Amazon 的工程主管期间,我曾与两位刚毕业的实习生一起工作,一直到首席工程师(亚马逊的 L7 及以上),我可以证明确实存在 10 倍工程师。 我也可以自信地说他们不是:

  • 打字速度快 10 倍
  • 工作 10 倍的时间
  • 编写 10 倍以上的代码

事实上,10 倍工程师可能会以一半的速度打字,一半的工作量,并花更多的时间删除代码而不是编写代码。

10x engineers tend to be better at LeetCode too, but it’s not what sets them apart.

最好的工程师和初级工程师之间的区别归结为心态问题。 他们使用正确的工具,提出正确的问题,并且知道如何确定优先级。 即使是非技术人员也可以开发的与编码无关的技能。


最好的工程师与普通工程师的区别在于(令人惊讶的是)非技术技能。


在本文中,我讨论了初级工程师常犯的 3 个常见错误,以及高级工程师如何以不同的方式解决相同的问题——导致截然不同的结果。


1. 对工具的研究不够


亚伯拉罕·林肯曾经说过:“如果我有 8 个小时砍树,我会花 7 个小时磨斧头。”
初级工程师将花费 8 个小时用钝斧砍伐。 高级工程师花了一个小时挑选合适的电锯。
5分钟砍树。

  • Honest Abe would’ve made a great engineer.

我看到初级工程师犯的一个常见错误是他们一头扎进编码中。 他们只坚持使用他们知道的工具,并尝试使其适应各种情况。


如果一个普通工程师只知道如何使用锤子,他们也会用它来挖洞。🙄


他们几乎没有花时间研究其他替代方案——或者是否有可能完成编写 0 代码的工作!
使用正确的工具是工作数周与在 10 分钟内完成任务之间的区别。 这就是产生 10 倍差异的地方。


示例任务:建立网站


最近,我有幸与一位初级工程师打赌谁可以更快地建立个人网站。
新毕业生用了 2 周时间,写了 1000 多行代码。 两周后她甚至没有完成!
我花了 1 天时间,写了 0 行代码,甚至没有流汗。 你可以在这里看到我主页的结果。

  • Notion page + super.so for deployments = michaellin.io

当我请初级工程师解释她是如何处理这个问题时,她为什么花了这么长时间才完成的原因变得很清楚:


“嗯,我在学校学会了如何制作 React 应用程序,所以我只是用它从头开始创建了一个网站。但是很难让图像和 CSS 正确。而且我也不知道如何部署它。所以我想我必须在 AWS 上编写一个自定义部署脚本,但对控制台有点困惑。微型实例和大型实例又有什么区别?”


请注意这位工程师的方法如何遗漏了几个关键点。首先,她从未讨论过:

  • 要求——没有提及搜索引擎优化、评论或预建模板是否重要。
  • 替代工具——他们只知道 React + AWS 并坚持使用它。

想象一下尝试从头开始重建评论功能。或确保 SEO 正常工作。这些功能中的每一个都是团队正确实施的工作价值。难怪她没有说完!


2.不寻求帮助


这是一个非常简单的问题,很容易修复,但是浪费了太多时间,我不得不提一下。
一些初级工程师有这样的误解,认为高级工程师就像一个孤独的天才。如果他们坚持解决问题,他们最终会得到解决方案。

10x engineers are not “lone geniuses”, but need to ask for help too!

但这是一种相当幼稚的思维方式。很多时候,不同之处在于他们缺少上下文——他们不可能自己推断出的信息。
因此,他们不只是寻求帮助,而是在代码库上苦苦挣扎,一遍又一遍地查看相同的代码行,当向队友提出 5 分钟的问题会立即解决问题时!


一个知道如何寻求帮助的经验不足的工程师总是会击败一个从不寻求帮助的更有才华的工程师。


有时很明显,需要额外的上下文才能继续。例如,通常不清楚:

  • 为什么代码库的结构是这样的
  • 从另一个团队调用哪个 API
  • 部署如何工作

这些是上下文情况的示例,在这些情况下,您最好寻求帮助而不是进一步挖掘代码库。不要害怕寻求帮助!


3. 没有提供商业价值


10x 工程师首先是投资者。
他们明白他们的工作是一项投资——他们的投资回报必须大大超过所花费时间的成本。他们了解机会成本:花费在构建一个功能上的时间意味着没有花费在构建另一个功能上的时间。


工程师必须权衡机会成本——“在你可以构建的所有功能中——这个功能是否最能利用你的时间?”


他们明白代码是达到目的的一种手段——业务目的。如果他们可以在没有代码的情况下实现他们的目标,那就更好了!编写的工作更少,维护的代码也更少——这是一个双赢的局面。

10x engineers are investors. Like Warren Buffet.

我看到很多新工程师忽略了这些业务目标。一些例子:

  • “这项新技术真的很酷。让我们花 5 天时间将其集成到网站中”(与产品不对齐)
  • “呃,我不喜欢代码的结构方式。让我们花在下一个 sprint 重构上”(机会成本——可以把这段时间花在构建创收功能上)
  • “这个平台太老了——让我们迁移到一个新平台吧”(迁移是否可以帮助您显着加快移动速度,还是只是一种渐进式改进?)

正是这个数学导致了 10 倍的工程师。如果一个初级工程师花 2 个小时来处理一个不会增加收入的复杂功能,但一个高级工程师花 1 个小时来完成一个简单的副本更改,它是收入的 5 倍,我们的生产力提高了 10 倍:


1/2 的时间花在产生 5 倍收入 = 10 倍交付价值的功能上。


最后的想法


非技术技能(“软技能”)是最强工程师和最弱工程师之间的差异因素。如果工程师避免了上述所有错误,但很难使用,那么他们的 10 倍技能就会失效。

Netflix 文化平台的摘录。
你努力成为一名工程师。 工程比不做一个混蛋要难得多。 不要因为你的自负而让你的努力付诸东流。 永远记住:


工程师必须首先交付价值。


想要更多职业建议?


我是迈克尔,前 Netflix 工程主管,后来成为企业家。 6 个月前,我辞去了 Netflix 的一份梦想工作,为自己工作。 我写关于工程、职业建议和初创公司的文章。

原文:https://medium.com/@_michaellin/how-to-be-a-10x-engineer-fdac2a5a1bd5

本文:https://jiagoushi.pro/node/2028

SEO Title
How to Be a 10x Software Engineer

【软件工程师】收入最高的 10 种编程语言

Chinese, Simplified

介绍


Gartner 对 2022 年董事会调查的看法表明,数字技术计划是 2022 年和 2023 年的首要战略业务优先事项。作为软件开发的基础构建块,许多最现代的编程语言都有可用于加速的框架和工具包发展,进而推动数字化转型。


各行各业的组织都在寻找最佳技术、架构和实践来加速数字业务,因此了解现代化软件开发是数字化转型的关键至关重要。


应用程序开发和现代化计划有多种编程语言可供选择。高级组织通常能够更好地支持多种编程语言,但现实情况是大多数组织没有并且必须为大部分开发工作选择 3 到 4 种编程语言。


选择最好的编程语言


团队在组织内为一项任务使用不同的顶级编程语言并非闻所未闻。但是,使用过多的编程语言会造成长期维护风险和技能短缺。
要为您选择正确的编程语言,建议您:

  • 在符合语言优势和/或有能力获得所需技能集并实施所需框架、工具和平台的用例中引入新的编程语言。
  • 选择 3-4 种互补的编程语言来支持您的项目,方法是确定您的组织中最常用的编程语言并确认这些是您的市场中可供雇用的技能组合。

现在,为你和你的职业选择合适的编程语言很大程度上取决于什么会给你未来的发展和职业发展带来更大的结果。做出该决定的一个很好的参数是平均工资,以了解您的知识的需求程度,并为您提供未来发展的晴雨表。
接下来,我们将深入探讨收入最高的 10 种编程语言,以便您了解 2022 年和未来几年,哪种编程语言是最值得学习的编程语言,以及它如何保持一致与您的战略目标。

收入最高的 10 种编程语言


Java、JavaScript、C# 和 Python 仍然是企业现代开发的主要通用编程语言。尽管不同编程语言的技能组合正在增长,但学习曲线就在那里,这意味着投资和培训可能会成为开发人员的潜在阻力,因为他们没有明确的前景或长期价值证明。


为了您的职业发展和职业发展,明智的做法是选择具有最光明未来并且准备为您的知识付出最多的语言。如前所述,虽然 Java、Python 和其他语言仍然是一些最流行的编程语言,但这并不一定使它们成为收入最高的语言。


例如,The Next Web 研究表明,在 2021 年,收入最高的编程语言是 Rust。 Rust 语言的采用和流行度一直在稳步增长,根据去年的 StackOverflow 开发人员调查,Rust 是开发人员的首选。


开发人员喜欢 Rust,因为它超级快速且内存效率高,这是帮助它轻松与其他语言集成、提高性能、保证线程安全的关键特性,而且它的大量文档也没有什么坏处。使其成为收入最高的编程语言之一的另一个因素是 Rust 开发人员的数量非常少。


由于有许多数字浮动,在这个列表中,我们浓缩了一些对收入最高的编程语言的估计:

  • Rust — 最高平均工资:超过 18 万美元
  • Go——最高平均工资:超过 17.9 万美元
  • Scala——最高平均工资:超过 17.8 万美元
  • Python——最高平均工资:超过 15 万美元
  • Java——最高平均工资:超过 13 万美元
  • Swift——最高平均工资:超过 12.5 万美元
  • C#——最高平均工资:超过 $125K
  • C++——最高平均工资:超过 $125K
  • JavaScript — 最高平均工资:超过 125,000 美元
  • Ruby——最高平均工资——超过 12.5 万美元

值得一提的包括 Clojure、F#、Elixir、Erlang、Perl、Kotlin、Haskell、Typescript、Swift 和 Solidity 语言。总而言之,我们可以预期 Python 语言将继续在需求和薪酬方面表现出主导地位。


无论您是游戏新手还是经验丰富的开发人员,学习编程语言绝不是一个糟糕的决定,并且是提升您的编程生涯的最快方法之一。
在你的简历中使用各种新的或成熟的编程语言来加强你的专业形象是一张让招聘人员和招聘经理立即注意到的快捷票。

原文:https://blog.hireterra.com/top-10-highest-paying-programming-languages-…

本文:https://jiagoushi.pro/node/2030

SEO Title
Top 10 highest paying programming languages