Hacker News new | past | comments | ask | show | jobs | submit login

> So this isn't the approach I'd recommend for this kind of project, but we started fresh from scratch.

wow, the from scratch rewrite. I can't even imagine that for a major piece of software




The author was looking for an excuse to use Rust for something since 2018:

https://www.influxdata.com/blog/rust-can-be-difficult-to-lea...

The rewrite started in 2020... they rationalize now, but it's pretty clear they just really wanted Rust and found the reasons they list later as a post-decision justification. Nothing wrong with that, if you don't mind risking the future of your business on a risky rewrite... though if I had a job working on the Go code base and my employer suddenly announced we should drop everything and start a rewrite, so go learn Rust, which has a much smaller job pool in my area as far as I can see, I guess I would've been really pissed off and would leave as fast as possible.


To be fair, we didn't drop everything and do a rewrite. Over the last 3.5 years (the length of time for this project), our total engineering team has ranged from 50-90 people. For the first year it was me and two other people. Then for the 2 years following that it was 9 people total.

It wasn't until late last year that we made the decision to go all in on the rewrite and made that the focus of everyone in engineering. And we did that because we had 4 years of experience trying to get v2 and Flux to be successful, with modest results.

Most of the time we were developing this version, we were spending massively more engineering effort on developing v2 or maintaining v1 for our customers.


I think that was a risky move, but sometimes you need to take risks to get high rewards, so I agree it's sometimes the best move given your circumstances... I imagine you made the calculation that this was a risk worth taking... do you already know if that is the case? Are your developers "happier"? Customers praising improved performance? More people applying for jobs due to Rust? Fewer bugs? Easier to implement features?


So what’s gonna happen for v1 and v2 ? cause the number of features you’re offering in v3 is gonna be difficult to maintain compared to v1, v2


We're going to continue to support our customers on v1 and v2. We're building migration tooling over to v3 for those that want it. We have multiple years of transition ahead of us, we expect to have customers on all 3 versions for quite a while.


Thanks for the info


>excuse to use rust

Using rust for any other reason than its the best option technically, is just fad chasing.


Smaller job pool?

How does learning Rust reduce your chances of getting a new job? Learning new stuff increases your chances, not decreasea them.


It's definitely not something I'd do again. I'd warn off anyone from taking this approach. But the early results are looking good and I'm very excited about what this enables for the next few years ahead of us.


I'd love a blog or a write up on the rewriting process, lessons learnt etc. It would be awesome!


This is my dream job.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: