4 ms·
> Discovery coding is a practice of understanding a problem by writing code first, rather than attempting to do some design process or thinking beforehand When
by submeta 2y ago
> Discovery coding is a practice of understanding a problem by writing code first, rather than attempting to do some design process or thinking beforehand
When you write larger systems you better start making up your mind about the domain, understand it, come up with concepts and names that make sense instead of starting to code right away. Yeah, there are problem domains where an exploratory approach makes sense, but not when you create a product or a conplex system.
- sfn42 2y agoI haven't even read the article but the way I use this is to familiarize myself with new stuff. You can't plan a system when you have no idea how it's going to work. That's why it's called discovery, you just write code and see how things work, then you refactor or just throw out everything and start from scratch once you feel ready to actually build the thing. If you just write whatever you happen to come up with and keep it that's just regular code monkeying. It's also not a technique you use for an entire system, hopefully you're able to plan most things. But maybe a part of it integrates with a complex api you haven't used before, then it's nice to just take some time to figure out how that api really works at a level that's hard to achieve just by skimming the docs.
- submeta 2y agoAgreed.
- pjc50 2y agoOften startups don't quite know what the product is until after they've been through several rounds of showing it to customers. Hence all the product-market-fit and "pivot" talk. There's no point in building a finely crafted wrong product. And people absolutely will not tell you what product they want built if it's genuinely innovative.
- submeta 2y agoGood point.