Skip to content

Commit e22047e

Browse files
committed
Add links to additional learning resources
1 parent 2e95f69 commit e22047e

5 files changed

Lines changed: 24 additions & 10 deletions

File tree

content/learn/case-studies/hubstaff/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,9 @@ and [Artur Jakubiec](https://www.linkedin.com/in/artur-jakubiec/), Technical Lea
180180

181181
Want to learn more about Hubstaff? [Check out their website](https://hubstaff.com/).
182182

183+
{% info(title="Thinking About a Similar Migration?", icon="crab") %}
184+
185+
Hubstaff's story is not unique. Many teams hit the same scaling and reliability limits and find Rust to be the right answer.
186+
If you're evaluating a migration or want to understand whether Rust is the right fit for your stack, [let's talk](/services).
187+
188+
{% end %}

content/learn/migration-guides/cpp-to-rust/index.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,3 +514,12 @@ __int128, intptr_t/ptrdiff_t</code></pre>
514514
</tr>
515515
</tbody>
516516
</table>
517+
518+
{% info(title="Need Help Migrating from C++ to Rust?", icon="crab") %}
519+
520+
Migrating a C++ codebase is one of the more involved transitions.
521+
The languages share many low-level concepts, but Rust's ownership model requires a shift in how you structure code (no mutable aliases, no self-referential structs, etc.).
522+
I help engineering teams navigate that shift, from training and architecture reviews to hands-on migration support.
523+
[Get in touch to talk about your project](/services).
524+
525+
{% end %}

content/learn/migration-guides/java-to-rust/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ Java makes everything mutable by default, which is arguably its single biggest i
208208

209209
Rust does the opposite - everything stays immutable unless marked with `mut`. This simple change has profound effects on code quality. You think more carefully about what really needs to change, leading to fewer bugs and easier concurrent programming. **This also enables better compiler optimizations** since the compiler can make stronger assumptions about your data.
210210

211-
Many developers find they write better code in all languages after working with Rust's immutability model.
211+
Many developers find they write better code in all languages after working with Rust's [immutability model](/blog/immutability/).
212212

213213
### Rethinking Null
214214

@@ -256,7 +256,7 @@ Your team will not only learn Rust but also feel more confident working with it
256256
Migrating to Rust comes with some risks, but careful planning will minimize them. Here's how to ensure success:
257257

258258
1. **Start Small**
259-
Pick a small, non-critical part of your application for the first Rust implementation. This lets your team experiment and build confidence without affecting core systems. Expand gradually as you see results.
259+
Pick a small, non-critical part of your application for the [first Rust implementation](/blog/successful-rust-business-adoption-checklist/). This lets your team experiment and build confidence without affecting core systems. Expand gradually as you see results.
260260

261261
2. **Prepare Your Team**
262262
Don't just decide this for your developers—decide together. Get the team ready with training or external expertise, and focus on integration with your existing Java system. Rust will likely need new dependencies, so research the ecosystem and be ready to roll up your sleeves to contribute if necessary.
@@ -426,7 +426,7 @@ What are your hopes for Rust? What are the alternatives considered? What are you
426426
What is the skill level of your team, and how can you support them in learning Rust?
427427
It helps to put your thoughts into writing and share them with the team.
428428

429-
On that note, hiring Rust developers can be challenging. It's a relatively new language, and most Rust developers
429+
On that note, [hiring Rust developers](/blog/hiring-rust-engineers/) can be challenging. It's a relatively new language, and most Rust developers
430430
don't have any production experience yet. Instead, consider upskilling your existing Java developers.
431431
They already know your systems and can learn Rust with the right training and support.
432432

content/learn/migration-guides/python-to-rust/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ While Python excels at readability and rapid development, teams often hit scalin
201201
Python's Global Interpreter Lock (GIL) limits true parallelism, making it challenging to fully utilize modern multi-core processors.
202202
There is a version of Python without the GIL, but it [doesn't solve the performance issues](https://news.ycombinator.com/item?id=41677131).
203203

204-
While tools like asyncio help with I/O-bound tasks, CPU-intensive operations remain constrained. Teams often resort to complex workarounds involving multiple processes or C extensions.
204+
While tools like [asyncio](https://docs.python.org/3/library/asyncio.html) help with I/O-bound tasks, CPU-intensive operations remain constrained. Teams often resort to complex workarounds involving multiple processes or C extensions.
205205

206206
### Type Safety Concerns
207207

@@ -376,7 +376,7 @@ A successful migration requires careful planning:
376376

377377
- Choose non-critical components first
378378
- Focus on areas where Rust's benefits are most valuable
379-
- Build team confidence through early wins
379+
- Build team confidence through [early wins](/blog/successful-rust-business-adoption-checklist/)
380380

381381
2. **Invest in Training**
382382

@@ -469,7 +469,7 @@ They have Python bindings, so you get a lot of the benefits of Rust without havi
469469

470470
Rust wasn't initially planned to be a strong contender in the web development space.
471471
This has changed in recent years with the rise of frameworks like [Axum](https://axum.rs/) and [Loco](https://loco.rs/).
472-
Now, Rust is a viable option for building high-performance APIs and web applications.
472+
Now, Rust is a viable option for building [high-performance APIs](/blog/why-rust/) and web applications.
473473
It is one key area the Rust team is investing in, and the ecosystem is maturing rapidly.
474474

475475
In combination with [sqlx](https://github.com/launchbadge/sqlx) for database access and [serde](https://serde.rs/) for serialization, Rust is a very effective choice for web backends.

content/learn/migration-guides/scala-to-rust/index.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ Rust's predictable resource usage and lack of garbage collection pauses make it
6262
The business case for Rust extends beyond technical merits.
6363

6464
- **Infrastructure costs often decrease** due to better performance and resource utilization.
65-
- **Maintenance becomes more predictable** thanks to superior tooling and compile-time guarantees.
65+
- **[Maintenance becomes more predictable](/blog/long-term-rust-maintenance/)** thanks to superior tooling and compile-time guarantees.
6666
- **The risk of production issues decreases** due to Rust's strong type system and ownership model catching many common bugs at compile time.
6767

6868
Scala and Clojure developers typically transition well to Rust because the languages share many fundamental concepts. The emphasis on strong type systems, functional programming patterns, and correctness creates a natural bridge. While Rust's ownership system presents a learning curve, developers coming from functional programming backgrounds often find they already think in ways that align well with Rust's model.
@@ -77,8 +77,7 @@ The key to successful migration is maintaining optionality. Rust's excellent int
7777

7878
The transition to Rust does present challenges. The ownership and borrowing concepts take time to master, though the compiler's excellent error messages help guide developers through the learning process. The ecosystem, while growing rapidly, may not yet have direct equivalents for all specialized JVM libraries. Some internal tooling may need to be rebuilt or adapted.
7979

80-
However, these challenges should be viewed in context. The learning curve, while steep, is finite — developers
81-
with a strong functional programming background typically become productive in Rust within a few months. The ecosystem limitations often push teams toward simpler, more maintainable solutions. And the need to rebuild tools can be an opportunity to improve and modernize development workflows.
80+
However, these challenges should be viewed in context. The [learning curve](/blog/flattening-rusts-learning-curve/), while steep, is finite. Developers with a strong functional programming background typically become productive in Rust within a few months. The ecosystem limitations often push teams toward simpler, more maintainable solutions. And the need to rebuild tools can be an opportunity to improve and modernize development workflows.
8281

8382
## Conclusion
8483

@@ -88,7 +87,7 @@ The decision to migrate from Scala/Clojure to Rust should be driven by specific
8887

8988
The transition requires investment, but Rust's growing ecosystem, excellent tooling, and strong industry adoption make it an increasingly attractive option for organizations looking to move beyond the JVM while maintaining the benefits of strong typing and functional programming paradigms.
9089

91-
{% info(title="Is Your Team Considering a Migration to Rust?") %}
90+
{% info(title="Is Your Team Considering a Migration to Rust?", icon="crab") %}
9291

9392
I can help you evaluate your current systems, design a migration strategy, and
9493
help you make an informed decision about moving to Rust. I offer consulting

0 commit comments

Comments
 (0)