Rust 2025: $400,000 Salaries, C++, AI, and the Rise of Rust

Word count 2127, reading time approximately 11 minutes

Rust 2025: $400,000 Salaries, C++, AI, and the Rise of Rust — Insights from Jon Gjengset

Recently, an interview from JetBrains focused on one of the pioneers of the Rust language, Jon Gjengset. As a Rust live coder and advocate, Jon Gjengset holds a PhD from MIT, has worked at Amazon (AWS), and is currently the Chief Engineer at Helsing, Europe’s largest AI defense startup. He shared insights on the adoption of Rust, industry prospects, high salary potential, and his unique views on the current AI boom.

The Unique Value of Rust: Safety, Performance, and Ergonomics

One of Rust’s original slogans was to attempt to achieve **”safety, performance, and ergonomics (or usability)”** simultaneously. Traditionally, programming languages have struggled to achieve all three — for instance, pursuing ergonomics often requires sacrificing speed due to the need for runtime and garbage collectors. Rust is striving to find a balance among these three goals.

According to Stack Overflow’s survey, Rust has been the “most loved” language for nine consecutive years. However, despite this high “desirability,” the proportion of developers using Rust remains relatively low, around 12% to 14%. Jon Gjengset believes this high desirability may partly be due to developers not being able to use it as they wish.

He pointed out that the cost of switching is the biggest barrier to the widespread adoption of Rust. For existing companies, adopting a new language is a significant investment, requiring not only the translation or gradual replacement of existing codebases but also necessitating that all existing talent within the company learn Rust.

The Most Successful Application Areas for Rust

Despite a gradual adoption process (for example, large companies like AWS are starting to build or replace existing components with Rust), Rust has already achieved significant success in specific areas:

  1. 1. Embedded Development: In the low-level embedded domain, Rust is a more modern and safer choice compared to C or C++.
  2. 2. Command-Line Tools: Rust’s <span>clap</span> library makes building command-line interfaces very easy.
  3. 3. Safety-Critical Applications: This includes the fields of defense, automotive, and aerospace. These industries require highly robust systems. Rust’s commitment to increased safety compared to C and C++ is very appealing for safety-critical applications.

Salary and Career Choices: Why $400,000?

When discussing salaries, Jon Gjengset provided a stark contrast between the U.S. and European markets:

  • U.S. Market: A senior Rust engineer’s total compensation is expected to be around $400,000 per year.
  • European Market (Norway): Senior Rust engineers’ salaries are estimated to be around $150,000.

Despite the significantly higher salaries in the U.S., Jon Gjengset chose to move back to Norway in 2023. His main motivation was not the salary, but dissatisfaction with the social structure. He expressed deep concern over the handling of healthcare in the U.S. and believes that many aspects of the European social structure are more commendable.

Jon Gjengset currently works at Helsing, a European AI defense startup. He admits to feeling uncomfortable with the military and defense sector and anticipates that the community will also feel uneasy. However, he emphasizes that the field has extremely high requirements for safety-criticality. Rust makes its software more suitable for safety-critical applications by statically eliminating certain types of errors at compile time (for example, using the type system to ensure that coordinate systems in spatial mathematics transformations are not misused).

Rust vs. Competitors: Go and C++

When pitching Rust to teams using other languages, Jon Gjengset has very direct arguments:

Target Team Core Argument Details and Insights Quote
Go Team Avoid runtime crashes. Rust establishes more guarantees at compile time through its type system,significantly reducing the likelihood of runtime errors (including business logic errors). Issues like “nil pointer exceptions” exist in Go.
C++ Team Concurrency Safety. In Rust, it is difficult to produce concurrency errors, whereas in C it is easy. C requires runtime tools (like Thread Sanitizer) to detect errors, but Rust can statically exclude them at compile time. Additionally, Cargo provides a better build system and third-party dependency management.

Jon Gjengset points out that C++ is only chosen when it is necessary to extensively interface with large, complex C++ codebases (for example, involving CUDA, hardware driver libraries, etc.) to avoid the pain of maintaining a large number of Rust bindings.

Regarding the notion that “Rust is only suitable for C++ developers,” he disagrees. He believes that Rust is more suitable for developers coming from Java, Go, or JavaScript backgrounds who have already realized the limitations of existing languages in terms of performance or expressiveness, and Rust can offer a faster, safer, and more expressive alternative.

Questioning AI: “It Cannot Reason”

Jon Gjengset believes that AI is overhyped. His core skepticism lies in the fact that, despite the outputs of large language models being very realistic and fluent, they do not truly understand the topics they express. AI excels at pattern replication and extrapolation; for example, it is very good at predicting planetary positions but cannot derive the underlying principles of physical models.

He believes that AI has limitations in its “reasoning” capabilities, which makes him skeptical about its ability to handle tasks that require a deep understanding of underlying program structures and type systems.

Developers in the Age of AI

Jon Gjengset believes that AI will become a tool to accelerate the work of existing software engineers.

  • Risk of Replacement: For highly repetitive, pattern-replicating tasks (such as designing WordPress templates), AI may replace these positions.
  • Accelerator: For everyday tasks, such as writing code that interacts with Amazon S3 or DynamoDB, AI can save a significant amount of time.

He suggests that developers should “go with the flow”; for instance, instead of worrying about AI writing WordPress templates, they should focus on building tools that help users leverage AI to create templates themselves.

The Future of Rust and AI Infrastructure

Although Python is currently the preferred language for AI/machine learning research (due to its support for rapid iteration and prototyping), Rust has an advantage in the production side (especially for safety-critical systems like automotive).

Jon Gjengset’s strategy is to: allow machine learning researchers to continue using Python while focusing on bridging the gap between research outcomes and Rust production environments. For example, models can be built in Python using tools like ONNX Runtime and then utilized in Rust.

He speculates that generating Rust code may be more challenging for LLM-based AI. This is because Rust has the additional core concepts of borrow checkers and lifetimes, which other languages do not have; models lacking this understanding may struggle to generate correct Rust programs.

Learning Rust: Borrow Checkers and Compilers

When asked about the most challenging moment in learning Rust, Jon Gjengset pointed directly to the borrow checker.

He explained to developers who feel intimidated that while the borrow checker is difficult, **”it is a great way to become a better programmer”**. The borrow checker forces you to learn a new skill: a better understanding of how data flows through a program and when it is used and needed. He noted that excellent C and C++ programmers have already developed a weakened “internal borrow checker” in their minds.

“Rust makes you put the **’headache’ upfront**. Developers can choose to fix these errors at compile time or fix them six months later when the production system crashes.”

Additionally, one of the best aspects of the Rust compiler is its error messages. They strive to be both concise and helpful, often providing enough hints to help developers locate the issue. Furthermore, Cargo (Rust’s package manager) is also considered excellent, having learned lessons from the build tools of other languages.

Jon Gjengset concluded that he believes Rust is on a very good development trajectory and does not think that large companies have too much control over Rust’s direction. He personally values the Rust community highly, believing that if Rust were to disappear, the world would lose a language with no clear alternatives, and he would personally lose a community that cares about performance and safety.

Leave a Comment