Menu
Rust 2025: $400K Salaries, C++, AI & Why It's Not Everywhere (Yet) — Jon Gjengset Explains

Rust 2025: $400K Salaries, C++, AI & Why It's Not Everywhere (Yet) — Jon Gjengset Explains

JetBrains

90,596 views Save 68 min (11 min read) 9 months ago

Video Summary

The video explores the growing popularity and unique characteristics of the Rust programming language, highlighting its strengths in safety, performance, and expressiveness. It delves into the reasons behind Rust's high desirability among developers, despite a slower adoption rate in some industries. The discussion touches upon the learning curve, particularly the borrow checker, and how it ultimately fosters better programming practices. We also learn about Rust's application in various fields, from embedded systems and command-line tools to safety-critical applications and even AI infrastructure.

A fascinating aspect revealed is the significant difference in compensation for Rust engineers between the US and Europe, with US-based senior Rust developers potentially earning up to $400,000 annually, a stark contrast to figures in Europe. The conversation also touches upon the evolving landscape of AI and its potential impact on software engineering jobs, concluding that while AI will transform the profession, it's unlikely to completely replace human developers.

Short Highlights

  • Rust is the most admired programming language for 9 consecutive years, yet its adoption rate is around 12-14%.
  • The primary barrier to Rust adoption in companies is the high switching cost, including retraining existing developers and migrating existing codebases.
  • Rust is seeing significant adoption in embedded development, command-line tools, and safety-critical applications due to its safety and performance.
  • Senior Rust engineers in the US can expect total compensation around $400,000 annually, while in Norway, it might be around $150,000.
  • While AI is improving code generation, it's unlikely to fully replace human software engineers in the next 10 years, especially for complex or innovative tasks.

Key Details

The Allure of Rust: Safety, Performance, and Desirability [00:05]

  • Rust is consistently ranked as the most admired programming language for nine years running, indicating high developer interest.
  • The primary reason for its high desirability is not necessarily widespread use, but rather the fact that developers desire to use it more than they currently can.
  • The core appeal of Rust lies in its ability to offer safety, performance, and ergonomics simultaneously, a combination traditionally difficult to achieve in programming languages. "> part of it is because people don't get to use it as much as they want to."

Bridging the Gap: Overcoming Rust Adoption Hurdles [03:19]

  • The biggest barrier to Rust adoption in existing companies is the significant cost associated with switching, including retraining existing talent and dealing with legacy code.
  • Companies often hesitate due to the investment required to train their workforce on a new language and the effort needed to either translate or replace their entire existing codebase.
  • Despite these challenges, large companies like AWS are gradually adopting Rust for building and replacing components, indicating a slow but steady integration. "> The switching cost is so high that most companies are not willing to do it unless there's a very very strong reason."

From MIT to AWS: A PhD Journey with Rust [01:16]

  • The speaker's PhD experience at MIT fostered a collaborative and curious environment, encouraging exploration of new languages like Rust.
  • Rust was chosen for a PhD research project over Go, a decision driven by the desire for a different system design and an exploration of the newly announced Rust 1.0.
  • The speaker's work at AWS involved developing and maintaining the Rust build system, ensuring its integration with security protocols and improving user experience for developers building Rust code. "> So a lot of the work that I did during my PhD was work that was like in the open source space in the Rust space because that's where I felt like I could expand my learning and also try to teach some of the things I was learning."

Rust's Impact on Performance and Business Applications [09:07]

  • In a general sense, switching parts of codebases to Rust has been a success, particularly in reducing latency and tail latency, which are common struggles for languages like Java and Kotlin due to their garbage collectors.
  • Rust's design inherently addresses many of these performance issues, offering a significant advantage in systems where low latency is critical.
  • Contrary to the notion that Rust is only for "geeks," it is being adopted at scale by major companies like AWS, Meta, and Google, demonstrating its suitability for business-critical applications. "> But but in general, I think there's been a a huge success story to it. um especially in terms of like latency um and tail latency in particular because Java and Cotlin struggle with this."

Navigating the Nuances: Rust's Fit in Diverse Industries [13:06]

  • Rust is seeing eager adoption in embedded development, offering a safer and more modern alternative to C and C++.
  • Command-line tools are another area where Rust is gaining traction, partly due to user-friendly crates like 'clap' for building CLIs.
  • Safety-critical applications, including defense, automotive, and space operations, are increasingly considering Rust for its robustness and safety features, promising a reduction in errors compared to traditional C/C++ environments. "> Rust is promising over C and C++ is addition of safety. And so that is a very attractive proposition for safety critical applications."

The Power of Rust: Pitches to Go and C++ Teams [14:43]

  • To a Go team, the pitch for Rust is: "Isn't it awful when your application crashes at runtime because you made an error in Rust? That is much less likely to happen." Rust's expressive type system helps catch business logic errors at compile time.
  • For C++ teams, the advantages include eliminating use-after-free and double-free errors, and significantly reducing concurrency bugs, which are notoriously easy to introduce in C++.
  • An additional appeal to C++ developers is Rust's integrated build system and dependency management, which is often a point of frustration in the C++ ecosystem. "> In C++, it's very easy to have concurrency bugs because there's nothing that helps you get them right."

Beyond the US: Life and Career in Europe [17:08]

  • The decision to move from the US to Europe was driven by a preference for societal structures, particularly in healthcare, which were found to be lacking in the US.
  • While the US market for Rust developers is generally more remote-friendly and offers higher salaries, European companies tend to be less remote-friendly and offer lower compensation.
  • The job market in Europe has fewer tech companies overall, and consequently, fewer companies utilizing Rust compared to the US. "> I don't really like the US. What I mean by that is um there are a lot of things that I found that I appreciate in a society and I mean society here not as in the people but in the the things that the society and the societal structure around you provides that I don't see in the US but I see in Europe."

The Defense Sector and Rust's Role in AI [21:56]

  • Working for Helsing, a European defense AI company, elicits a natural discomfort due to the inherent nature of the defense sector, which is acknowledged as a common and expected reaction.
  • Rust is a strong fit for safety-critical applications like those in defense because it significantly reduces the likelihood of software bugs through compile-time error elimination.
  • The speaker highlights a Rust library for spatial math transformations that uses type-state encoding to prevent errors like accidentally using coordinates from the wrong reference frame, a capability not easily replicated in languages like Python. "> This is a sector where safety criticality is well critical, right? It's it really is safety critical. If you get things wrong, the implications are severe."

The Senior Rust Developer Challenge and Personal Branding [25:25]

  • While there are many Rust developers in the market, there's a notable shortage of senior engineers, making it challenging for companies looking to scale their Rust adoption.
  • Companies often need senior engineers to guide junior developers and bootstrap projects effectively, a role that is currently in high demand.
  • The speaker's personal brand helps attract curiosity about Helsing but is not a primary driver for senior engineers to switch jobs, as they typically require more than just brand recognition to consider a move. "> what they need are senior engineers that can then guide up the junior engineers."

Avoiding Crypto and Finding Meaningful Work [27:29]

  • The speaker consciously avoids work in the cryptocurrency, blockchain, and web3 spaces due to a personal need for their work to have a positive impact on the world.
  • While acknowledging the technical fascination of crypto, the speaker has not seen evidence of its promised impact and feels its practical applications have often been more negative than positive.
  • Rust's prominent use in the crypto world is speculated to be due to the parallel and distributed systems nature of these applications, where correctness is paramount, lending itself well to Rust's strengths. "> I have this need for the work that I do to to feel like it matters in a positive way in the world."

AI: Overhyped Potential and the Future of Software Engineering [30:59]

  • The speaker believes AI, particularly LLMs, is overhyped because current models excel at pattern replication and extrapolation but lack true understanding and reasoning abilities.
  • They are skeptical about AI's capacity to develop foundational physics models or deeply understand underlying program structures, suggesting current capabilities are more about faking understanding than actual comprehension.
  • While AI will undoubtedly assist developers, it's unlikely to fully replace them in the next 10 years, especially for tasks requiring creativity, deep reasoning, or innovative problem-solving. "> The output of LLMs has gotten very good very real seeming and very fluent but where it falls short is on things like actually understanding the topic that they're talking about or that they're trying to express."

The Rust Compiler: A Powerful Ally in Programming [55:21]

  • Rust's compiler is described as an instructor, guiding developers by providing helpful and often concise error messages that explain concepts and suggest fixes.
  • The borrow checker, while initially challenging, is seen as a skill that ultimately makes developers better by improving their understanding of data flow and program decomposition.
  • The compiler's error messages, sometimes linked to e-codes for further explanation, are a crucial aid in navigating Rust's unique concepts and avoiding costly runtime bugs. "> I think of the Rust compiler as being sort of instructing you in constructing the right mental model yourself."

Cargo and Rust's Development Ecosystem [57:59]

  • Cargo, Rust's package manager and build tool, is highly regarded for its efficiency and for rarely getting in the way of development, especially when compared to package managers in other languages.
  • While not perfect, with some counterintuitive behaviors in areas like cross-compilation, Cargo is considered one of the best in its class.
  • Valid concerns like slow compilation times and high disk usage are acknowledged, with ongoing efforts to optimize the compiler and manage cache sizes. "> Cargo is a very good build tool and it's a it's a fantastic build tool compared to what people are usually coming from."

Macros, Editors, and CI/CD in Rust [01:01:55]

  • Rust macros, while powerful for reducing redundancy and improving library ergonomics, can contribute to slower compile times, especially procedural macros.
  • The development community is actively working on improving macro performance and encouraging more efficient use of declarative macros.
  • While Rust integrates well with CI/CD pipelines, some aspects, like test reporting and coverage, require specific tools like cargo nextest and cargo llvm-cov for optimal integration. "> Macros are useful, right? They're they're useful both in your own crate for things like avoiding repeating yourself a bunch, but they're also really useful for library vendors to give a better user experience."

Rust's Interoperability and Future Evolution [01:08:20]

  • Rust exhibits good interoperability with languages like Python and Ruby through C bindings, and has improving, though still developing, compatibility with C++.
  • Interfacing with Java via JNI is workable but can be cumbersome and incur overhead, highlighting areas where Rust's integration could be enhanced.
  • The evolution of Rust, guided by community input and trade-offs, is seen as largely positive, with its mainstream adoption suggesting the majority of decisions have been beneficial. "> Rust is fairly friendly to foreign languages, right? So, um, you see this a lot in the Python space, for example."

The Core of Rust: Community and Personal Loss [01:16:32]

  • If Rust were to disappear, the world would lose a programming language with a unique combination of safety and performance, leaving a vacuum that would be difficult to fill.
  • Personally, the speaker would lose the vibrant community that cares about Rust's intersecting ideals and enjoys the challenge of working with a more complex language.
  • The loss of the Rust community would be more significant than the loss of the language itself, as it represents a shared passion and collaborative spirit. "> For me the the work stuff matters less. I I I think I could be a programmer in any language and it would be fine. I think I could be an educator in other languages too. But what I would lose is is that community of people who care about this intersection of things that Rust tries to give."

Other People Also See

Joe Rogan Experience #2533 - Diana Pasulka
Joe Rogan Experience #2533 - Diana Pasulka
PowerfulJRE 23,127 views Save 151 min (7 min read)
The Tech House Needs a Workshop…
The Tech House Needs a Workshop…
Linus Tech Tips 16,067 views Save 17 min (4 min read)