paint-brush
不受欢迎的观点:成为一名优秀的软件工程师比以往任何时候都难经过@jurajmalenica
8,600 讀數
8,600 讀數

不受欢迎的观点:成为一名优秀的软件工程师比以往任何时候都难

经过 Juraj Malenica5m2023/10/15
Read on Terminal Reader

太長; 讀書

在科技的快车道上求生存:关于工程师、炒作以及在不断变化的世界中专注于真正重要的事情的故事
featured image - 不受欢迎的观点:成为一名优秀的软件工程师比以往任何时候都难
Juraj Malenica HackerNoon profile picture
0-item

在创业环境中工作近十年,使我有幸接触到创新、探索和快速失败方法的快节奏文化。我遵循标准的晋升阶梯:实习生、初级、中级、高级,最终进入工程管理轨道。随着时间的推移,许多与我一起成长的人后来都转到其他公司工作,成为那里备受尊敬的贡献者。可以公平地说他们是优秀的工程师。


回顾我的同事、学员和我自己的旅程,成为一名优秀的工程师似乎比以往任何时候都更难。

定义一个好的工程师

成为一名工程师意味着什么?作为软件工程师,我们:

  • 负责将复杂问题转化为高效且可扩展的解决方案
  • 负责分析用户需求、设计软件架构、编写代码、测试和调试软件
  • 期望保持领先趋势,寻求新的商机和改进现有产品的方法

所以,不——工程不等于编程。有时,这是最小的部分。随着经验的积累,肯定会出现这样的情况,如下图所示。

按角色分配工作

成为一名优秀的工程师意味着什么?根据大量的采访和支持我的学员的进步,我注意到具有不同专业水平的人可能会给出不同的答案。


刚刚起步的人可能会认为这是开发人员了解的语言和框架的数量。经验丰富的工程师甚至可能不关心他们使用的语言,而是强调代码质量 - 遵守所有编码原则并在快速行动的同时进行质量检查


经验丰富的工程师非常注重创造价值。有时,我们会快速编写废弃的代码,打破所有规则来证明一个假设;有时,我们会花几天时间编写几行关键任务代码。但大多数时候,我们正在制定架构决策、讨论关键任务问题、改进流程等。为什么?因为通常这会带来最大的价值。


尽管总有例外,但我们可以说,一名优秀的工程师能够有效地集中精力,为实现目标带来最大价值。

不断增长的市场和竞争

科技市场在不断发展。多年来,我们都见证了从 WhatsApp 到 Uber、Airbnb 和 TikTok 的巨大成功。虽然这些可能是例外,但这样的例子常常为人们树立了北极星——他们应该为之奋斗。这种思维方式给工程师带来了额外的压力。他们感受到来自内部的压力,认为自己做错了什么,以及来自外部的压力,因为人们将他们的公司与许多竞争对手进行比较。

科技总市值

为了在这样的环境中取得成功,公司需要“快速行动,打破陈规”,正如 Facebook 的著名座右铭所说。如今,这一点比以往任何时候都更加明显——几乎每家公司都在成为“人工智能公司”。每个人都在集成 ChatGPT,通常没有真正的原因,也没有关于如何带来价值的策略。


通过偏离核心原则——我们如何为客户带来更多价值——并转向在炒作列车上击败竞争对手,我们让工程师构建注定会失败的功能。

世界是一个令人困惑的地方。

像我这样的爱好者应该怎样做才能成为一名更好的工程师?除了通过改进干净代码和架构哲学来完善编码技能这一显而易见的选择之外,如今还潜伏着许多诱惑。学习 TypeScript 和改变一切的最新框架,深入区块链和加密世界,尝试无数的人工智能产品……选择是无穷无尽的。

所有 JavaScript 库

说实话,在这个行业工作了这么多年,我仍然感受到 ChatGPT、GitHub Copilot 等新兴技术带来的新一波变革的威胁。我的大脑开始想象我与很多事情脱节的场景。我是否专注于能够带来价值的正确事物?我是否发挥了最大潜力?


一段时间后,很明显我们正处于炒作之中。这也将过去,只剩下创造长期价值的人工智能公司。过去五年,美国的人工智能公司数量翻了一番,许多初创公司只是在新发布的 GPT-3 的基础上添加了一项功能。他们后来随着ChatGPT 或 GPT-4的发布而消亡,它们可以做同样的事情,但效果更好。但这并不能阻止推特和其他平台的炒作大军宣布新的世界秩序。


尽管在科技行业工作了这么多年,我还是陷入了炒作之中。菜鸟错误!


编程语言和新框架的不断发布也增加了混乱。 Tailwind、TypeScript、Haskell 和 Rust 都很棒;他们每个人都有一个给他们带来优势的角度。然而,人们常常误认为学习它们可以给他们带来优势。它不会,或者至少不应该。它们只是很高兴了解但不能取代经验的工具。这就是为什么我们从不在工作描述中提出语言/框架要求。如果我因为不懂 TypeScript、即时工程或微服务而错过一位才华横溢的工程师,那我就太傻了。


我的建议是——不要沉迷于新趋势和炒作,以致失去对创造价值的关注。

快节奏和高期望

在寻求新的挑战时,很难在避免消极压力的同时争取积极压力。积极压力是指我们将有压力的情况视为带来良好结果的机会,而消极压力则是可能对身心健康产生不利影响的压力,如下图所示。在紧迫的时间内持续交付结果是有压力的,而出于错误的原因构建功能则倾向于后者。

正压力与负压力

作为一名导师和一名努力工作的人,我都看到压力会导致倦怠。无一例外,让某人经历倦怠所带来的产出比减少工作量、休息和长期优化要少。这就是为什么我们总是尝试通过定期团队更新、一对一和培育文化,尽可能简单地提出危险信号。


尽管如此,事情还是会出问题。当他们这样做时,我们会缩小范围,让可以提供帮助的人员参与进来,或者与客户沟通以推迟发布。


来自内部和外部的压力比以往任何时候都大。保持专注,让自己身边有一个长期优化的支持团队。

我们怎样才能做得更好?

我们都有情绪低落的时候——感觉自己是个不称职的工程师、导师或同事。事情永远不会是完美或容易的,也不应该如此。如果不犯错误和经历困难,我们就不会学习。但我发现有些事情可以提高效率。

影响力水平

就个人而言,忠于真正重要的事情。技术会来来去去,但你给世界带来的价值才是最重要的。努力工作和经验是很难伪造的。


作为一家公司,在做决策时首先要考虑为什么。这是提供可带来价值的功能的最佳方式。另外,确保员工知道原因。根据我的经验,他们会做出更好的决定,提供有价值的反馈,并且会更快乐。


在文化上,建立支持员工、长期优化的流程。与您的同事一起建立信任、支持和关怀的文化。这样,你们就能互相发挥出最好的一面。