Is Rust a good fit for a startup focused on rapid prototyping, regression testing, and distributed systems with AWS (SNS,SQS, S3), AI, and video streaming? Concerns about hiring and learning curve.
Hi everyone,
We're a startup considering adopting Rust for our backend development, but we have some concerns and would love to hear from those who have experience with Rust in a similar context. Our focus is on rapid prototyping, solid regression testing, and building distributed systems using AWS services like SQS, SNS, S3, along with integrations for AI and video streaming. We have experience with GoLang, where we could hire good developers from other languages and have them performing well within 2 weeks. We're worried about the learning curve for new hires with Rust and how it might affect our hiring process.
Here are our main questions:
- Rapid Prototyping: How does Rust fare in terms of rapid prototyping? We need to iterate quickly, and while we understand Rust's strong type system and compile-time checks can prevent bugs, we're concerned about the initial development speed compared to languages like Go or Python.
- Regression Testing: We rely heavily on regression tests to maintain code quality. How does Rust's testing framework hold up for complex systems? Is it easy to write and maintain tests for distributed systems?
- Distributed Systems and Integrations: We're building distributed systems with AWS (SQS, SNS, S3) and need to integrate with AI services and video streaming. Does Rust have good support for these? Are there any performance benefits or drawbacks we should be aware of?
- Hiring and Learning Curve: This is our biggest concern. In GoLang, we could hire talented developers from other backgrounds (e.g., Java, Python) and have them productive in about 2 weeks. With Rust, we're worried about the steeper learning curve due to concepts like ownership and borrowing. For those who have hired Rust developers:
- How long does it typically take for a good developer with no Rust experience to become productive?
- How is the hiring pool for Rust? Is it harder to find candidates?
- Comparison with GoLang: We've had success with GoLang in terms of simplicity and quick onboarding. For those who have experience with both, how does Rust compare in a startup environment where speed and agility are crucial? Is the performance and safety worth the potential slowdown in development and hiring?
We'd appreciate any insights, especially from those who have used Rust in a startup or fast-paced environment. Thanks in advance!