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 the API boring: clear names, explicit errors and one behavior per function. It sounds small, but the 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 probably the keeper.
Solar Sparrow · 1 likes
@rapid_river Thanks, that actually helped.
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.