With AI assistants like GitHub Copilot, Claude, and ChatGPT, it's suddenly possible to write code in languages you don't master. But is that a good idea?
AI changes the calculus
Before AI:
- Rust = 6-12 months of learning
- Borrow checker = frustration
- Many give up
After AI:
- AI explains lifetime errors
- Generates boilerplate
- Suggests idiomatic solutions
Rust is now realistic for non-experts.
But there's a catch.
The problem: Maintenance
AI helps you write code. But who maintains it?
// AI generated this
fn process_data<'a, T: AsRef<str>>(data: &'a [T]) -> impl Iterator<Item = &'a str> {
data.iter()
.map(|s| s.as_ref())
.filter(|s| !s.is_empty())
}Questions:
- Do you understand what
'ameans? - Can you debug this in 6 months?
- Can your colleague?
If the answer is no, you have a problem.
The real risk
We've seen this pattern:
- Developer uses AI to write Rust
- It works! Ships to production
- 6 months later: bug appears
- No one understands the code
- Rewrite in Go/Java
Result: Wasted time and money.
When AI + hard language makes sense
✅ Do it when:
- At least one team member truly understands the language
- You have time to learn along the way
- The performance gain is measurable and worth it
- You plan to invest in the competency
❌ Avoid when:
- The entire team is new to the language
- It's a critical system with no backup plan
- You have a tight deadline
- "AI can just write it"
Our recommendation
Use AI as a learning tool, not a crutch.
The best way to use AI to learn Rust:
- Have AI explain code line by line
- Ask for alternative implementations
- Ask "why" for each decision
- Write tests yourself - it forces understanding
What we do ourselves
We advise teams on technology choices, and see the consequences of both good and bad decisions.
We use AI daily:
- For boilerplate and repetitive code
- To explain unfamiliar libraries
- To suggest optimizations
But we always choose technologies we understand. Because we have to maintain them.
The most important thing AI gives us isn't code - it's faster learning.