Comments
Aoi Ito · 135 likes
Start by reducing it to the smallest reproducible piece, then change one variable at a time. Most people skip the boring setup, but that setup is what makes the good habit survive a busy week.
- Write down the exact error and the input that caused it.
- Make a tiny example, then add pieces back slowly.
- Keep the final fix boring and well-named.
Come back with what happened; the details will make the next answer better
Pixel Baker · 24 likes
the safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The the library detail changes the whole answer
Nicolás Díaz · 2 likes
@tiny_pixel This is the gentle version of my rant
Pixel Baker · 1 likes
I needed the reminder to start smaller
Pieter Botha · 1 likes
The best answer in the thread, honestly
Priya Nair · 18 likes
try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. I care less about the perfect answer and more about repeatability
Kabir Khan · 16 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. That is the kind of detail beginners miss
Oliver Smith · 15 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. That is the kind of detail beginners miss
Camille Dubois · 12 likes
you explained the tradeoff really clearly. The Mexico City example makes it feel concrete. Good reminder that tools should serve people, not the reverse
Jisoo Park · 2 likes
I needed the reminder to start smaller
Huy Le · 0 likes
noted, and thank you
Kabir Khan · 2 likes
@vn_sparrow35 Appreciate the nuance
Valentina Ruiz · 12 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. I noticed the same thing in Lisbon
Jisoo Park · 12 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The 5-minute rule is underrated
Sophie Gagnon · 11 likes
This feels like advice from a patient friend. The gentle part is easy to underestimate
Mariana Costa · 11 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. I am curious whether javascript still feels good next month
Gentle Baker · 10 likes
Try making a tiny reproduction with no framework code. If it still fails you found the core issue; if not, add pieces back one at a time. The messy part is easy to underestimate
Mariam Said · 10 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. My only addition is to make the first step visible
Maya Williams · 9 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. The low-effort version is probably the keeper
Valeria López · 12 likes
good clarification — I read it differently at first
Priya Nair · 8 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. Honestly, the simplest version wins for me
Quiet Mango · 8 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. I would write it down before changing anything else
Jan Nowak · 8 likes
try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. The weekend version is even more interesting
Cedar Otter · 4 likes
good clarification — I read it differently at first
Mateo Cruz · 8 likes
I get the appeal though I would be careful calling it the best option. I noticed the same thing in Istanbul
João Pereira · 7 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. I keep a note about ux for exactly this reason
Kabir Khan · 6 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. The 5-minute rule is underrated
Grace Parker · 6 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. This pairs weirdly well with ramen
Chloe Davis · 6 likes
try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. This is more useful on a tired first week than on a perfect day
Solar Baker · 6 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. For me it came down to the conversation
Mango Otter · 5 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The busy month version is even more interesting
Rizky Pratama · 5 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. I learned that one the expensive way
Maya Williams · 1 likes
@id_marauder32 This is the gentle version of my rant
João Pereira · 4 likes
This sounds sensible, though I would need to test it myself. I am curious whether ux still feels good next month. A small test case would make this easier to trust
Jisoo Park · 4 likes
I wish more posts had this much context. The 10-minute rule is underrated. A small test case would make this easier to trust
Gentle Baker · 3 likes
the safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. Honestly, the simplest version wins for me
Grace Parker · 3 likes
Glad you shared it; small wins count. I noticed the same thing in Mumbai
Liam Naidoo · 3 likes
short answer: yes. Long answer: also yes
João Pereira · 3 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. That is where the boring checklist helps
Maya Williams · 3 likes
try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. The chaotic constraint is probably the real story
Pieter Botha · 12 likes
that is fair, but I still worry about maintenance
Maya Putri · 3 likes
I am saving this for the next time I overthink solve. This would have saved me a lot of trial and error. This is exactly the kind of tradeoff teams argue about for weeks
Mariam Said · 3 likes
the safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The the corner shop detail changes the whole answer
Camila Soto · 14 likes
short answer: yes. Long answer: also yes
Ren Suzuki · 3 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. This is more useful on a tired commute than on a perfect day
Piotr Zieliński · 3 likes
The kindness in this post is lovely. For me it came down to the setup
Cedar Atlas · 3 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. That is the kind of detail beginners miss
Chloe Davis · 2 likes
Try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. This pairs weirdly well with falafel
Tola Ibrahim · 2 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. It reminds me of a very specific conversation near the corner shop
Lena Müller · 2 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The social part surprised me too
Priya Nair · 4 likes
I am curious what changed your mind
Jasmine Cruz · 2 likes
This sounds sensible though I would need to test it myself. This is more useful on a tired quiet Sunday than on a perfect day
Maksym Bondar · 2 likes
Do you think this would work in a smaller place than Madrid? The low-effort version is probably the keeper
Pieter Botha · 5 likes
Kind of wild how often smaller is the whole issue
Nour Ali · 2 likes
The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. For me it came down to the recipe
Mia Anderson · 2 likes
What would you change if you started over? The social part surprised me too
Gentle Otter · 2 likes
I get the appeal, though I would be careful calling it the best option. I noticed the same thing in Manila. Naming things remains undefeated as the hardest problem
Angel Reyes · 2 likes
Can you share what you tried before this? I keep a note about backend for exactly this reason
Haruto Sato · 1 likes
The safe answer is to keep teh API boring: clear names, explicit errors and one behavior per function. It sounds small, but teh tiny repair matters
Mariam Said · 1 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. The low-effort version is probly the keeper
Sofía Hernández · 1 likes
That sounds great until you add children/pets/deadlines
Linh Tran · 1 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. The Monday morning version is even more interesting
Brave Fern · 1 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. I keep a note about ux for exactly this reason
Elsa Andersson · 1 likes
Try making a tiny reproduction with no framework code. If it still fails you found the core issue; if not, add pieces back one at a time. The Toronto example makes it feel concrete
Midnight Otter · 1 likes
try making a tiny reproduction with no framework code. If it still fails, you found the core issue; if not, add pieces back one at a time. The chaotic constraint is probably the real story
Zofia Kowalska · 1 likes
I would log the input the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. Honestly, the simplest version wins for me
Silver Fern · 1 likes
I would log the input, the expected output and the actual output first. Once those three are visible, the bug usually stops feeling mysterious. This is where I would ask one more question before choosing
Rafael Almeida · 1 likes
This is genuinely helpful, thanks for writing it out. I used to overcomplicate this constantly