Ask HN: When onboarding people to a startup, how do you talk about legacy code?
As our codebase has been developed over close to 10 years under one developer, it's acquired a lot of cruft, and also uses technologies that are fairly dated now. We're planning to do a rewrite of the codebase with our OEM partners, and I'm deciding what to do about the legacy code.
Do we:
- Take what architecture decisions worked and use the corresponding documentation to develop a new design?
- Transition the code base slowly from legacy to new (and hence inform the new hires how the legacy code works)?
- Start completely from scratch and retire the legacy code before bringing the new hires on?
We're going to have about 18 months at a minimum from the first hires to having a product in hand to bring to market.
I want to avoid using people's limited resources on technologies that I know we're going to retire, and just want to see how best to go about that.
How have you handled this transition in your experiences?