diff --git a/content/blog/dyn-compatibility/social.png b/content/blog/dyn-compatibility/social.png new file mode 100644 index 00000000..e2036cf6 Binary files /dev/null and b/content/blog/dyn-compatibility/social.png differ diff --git a/content/blog/named-arguments-at-home/social.png b/content/blog/named-arguments-at-home/social.png new file mode 100644 index 00000000..2a76d112 Binary files /dev/null and b/content/blog/named-arguments-at-home/social.png differ diff --git a/content/mentorship/_index.md b/content/mentorship/_index.md index e775d2da..eaebc50b 100644 --- a/content/mentorship/_index.md +++ b/content/mentorship/_index.md @@ -8,11 +8,11 @@ aliases = ["pro"]

-Build, Review,
+Write, Review,
and Ship Better Rust

-For experienced engineers moving from Python, Go, or another language into serious Rust work. Bring your project or codebase and build the judgment to make sound design, architecture, and code-review decisions yourself. +For experienced engineers moving from Python, Go, or another language into serious Rust work. Bring your project or codebase and learn how to make sound design, architecture, and code-review decisions yourself.

@@ -57,7 +57,7 @@ For experienced engineers moving from Python, Go, or another language into serio I've worked with Rust since 2015 and have consulted professionally since 2020. I help people get from prototype to production in Rust.

-I believe the best way to build Rust expertise is by working through real code together. I ask questions and help you understand and own design trade-offs. +I believe the best way to build Rust expertise is by working through real problems with an experienced mentor. I ask the right questions, so you can build the right mental model.

I host the Rust in Production Podcast, where I've had more than 50 conversations with engineers and technical leaders about how Rust works in real organizations. You can also watch my CodeCrafters teaching session or read my articles on idiomatic and maintainable Rust. @@ -103,7 +103,7 @@ I host the Rust in Production Podcast, where I've had mor

Recognize Good Rust

Bring a design you are unsure about, code you need to review, or a project you want to ship. We compare alternatives and make the trade-offs explicit.

Ferris the Crab as a Wizard -

You leave with clearer mental models and concrete next steps. The goal is for you to handle the implementation.

+

You leave with a clearer understanding and concrete next steps. The goal is for you to handle the implementation.

@@ -229,7 +229,7 @@ I host the Rust in Production Podcast, where I've had mor
-
+

Frequently Asked Questions

{% %} diff --git a/content/services/_index.md b/content/services/_index.md index e61d1f27..df119f54 100644 --- a/content/services/_index.md +++ b/content/services/_index.md @@ -49,7 +49,7 @@ I'll help you navigate the Rust crate ecosystem, systems architecture, code revi ## Why LLMs Alone Are Not Enough -LLMs have limitations around the deeper architectural decisions that make or break a Rust codebase: +LLMs have limitations around the deeper architectural decisions that make Rust great: - Domain modeling: turning business logic into types the compiler enforces. - Type-driven design: making illegal states unrepresentable to prevent entire categories of bugs. @@ -57,18 +57,16 @@ LLMs have limitations around the deeper architectural decisions that make or bre - Idiomatic Rust: when to use traits and lifetimes, and when to avoid them; how to structure async code to separate I/O-heavy code from simple business logic that can be sync. - Testing: how to use unit tests for quick feedback loops where other teams might rely on costly end-to-end tests, which are slow. -If you're shipping Rust into production, this is the layer that decides whether the codebase is a joy to work with in two years, or a liability nobody understands or wants to touch. +If you're shipping Rust into production, this is the difference between a codebase that is a joy to work with in two years and a liability nobody understands or wants to touch. ## You Stay In Control With The Right Guardrails -You're probably already using LLMs to write Rust. The question is whether the output is something you'd be proud to ship, or something you'll be paying down for years. -I believe the earlier you involve an expert, the more confident you will feel about the way your Rust project is evolving, and the better automated code generation will work for you because it has reliable guardrails to operate within. +You're probably already using LLMs to write Rust and that is fine. +But I believe the earlier you involve an expert, the more confident you will feel about the way your Rust project is evolving, and the better automated code generation will work for you because it has reliable guardrails to operate within. Rust is one of the best languages in the world for working with AI-assisted coding because of its strict compiler, but that only works if the surrounding scaffolding is set up well. -I help teams put that scaffolding in place with type-driven design, solid continuous integration, a fast test harness, and review workflows that scale when most of the code is machine-generated. I also coach engineers on how to drive the AI instead of babysitting it, so your team ships faster *and* the code stays yours. - -The goal is simple: you stay in control of your codebase and can decide for yourself how much or how little you want to use agents for code generation. +I help teams put that scaffolding in place with type-driven design, solid continuous integration, a fast test harness, and reliable review workflows. I also coach engineers on how to use agents, so your team ships faster *and* stays in control. {% %} @@ -164,7 +162,9 @@ From time to time I give talks about Rust and open-source software. - [View Previous Talks →](https://endler.dev/talks/) -## Happy To Answer Your Questions +
+
+

Happy To Answer Your Questions

{% %} [ @@ -247,15 +247,20 @@ From time to time I give talks about Rust and open-source software. ] {% %} +
+
+ +
+ ## Accelerate Your Team's Rust Adoption Today - +
diff --git a/templates/snippets/newsletter.html b/templates/snippets/newsletter.html index 82238d4a..82cf316d 100644 --- a/templates/snippets/newsletter.html +++ b/templates/snippets/newsletter.html @@ -1,5 +1,6 @@ - +
+