Orbit · Explore

Web Dev · by Youssef Mahmoud · 2026-09-30

What are the red flags beginners miss in Web Dev in real life?

context: I am not an expert just someone trying to make Web Dev feel less intimidating. I wrote down what worked, what felt awkward, and what I would do differently next time.

My current rule is simple: if it takes less than 5 minutes to prepare, I am much more likely to keep doing it

150 sparks · 38 comments

Comments

Ananya Rao · 28 likes

Start by reducing it to the smallest reproducible piece, then change one variable at a time. The trap is trying to optimize before you have feedback.

- 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.

Source: mostly hard-won experience and comparing notes with people who stuck with it

Ngozi Bello · 10 likes

The safe answer is to keep teh API boring: clear names, explicit errors and one behavior per function. I noticed teh same thing in Mumbai

Valeria López · 9 likes

The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The chaotic part is easy to underestimate

Solar Orbit · 9 likes

The kindness in this post is lovely. For me it came down to the setup. I would love to see the benchmark numbers

Silver Coder · 8 likes

I do not have a strong take, but the miss detail is useful. For me it came down to the practice run

Avery Johnson · 8 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 css for exactly this reason

Omar Hassan · 2 likes

helpful correction

Jonas Schneider · 7 likes

This is the kind of useful internet I still show up for. My friend tried it in Melbourne and had the opposite result

Amelia Hughes · 5 likes

Same here. It took me too long to learn

Maya Williams · 7 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 more useful on a tired late summer then on a perfect day

Tiny Comet · 6 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 gentle part is easy to underestimate

Mia Anderson · 6 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

Valeria López · 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. It sounds small, but the recipe matters

Avery Johnson · 4 likes

start by reducing it to the smallest reproducible piece, then change one variable at a time. If two options look equal, choose the one that is easier to reverse.

- 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.

That should give you a solid first pass

Sofía Hernández · 16 likes

I was going to disagree, but your second sentence got me

Kabir Khan · 1 likes

I am curious what changed your mind

Anna Gruber · 1 likes

I would pin this if I could

Youssef Mahmoud · 1 likes

noted, and thank you

Camille Dubois · 7 likes

That sounds great until you add children/pets/deadlines

Mia Anderson · 5 likes

Kind of wild how often piece is the whole issue

Paper Coder · 1 likes

I was going to disagree, but your second sentence got me

Sleepy Comet · 0 likes

Appreciate the nuance

Amelia Hughes · 4 likes

The real angle is what sold me. This is more useful on a tired lunch break than on a perfect day

Gentle Noodle · 4 likes

The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The chaotic constraint is probly the real story

Ethan Brooks · 3 likes

The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. It sounds small, but the conversation matters

Liam Eriksson · 3 likes

I would log teh input, teh expected output and teh actual output first. Once those three are visible, teh bug usually stops feeling mysterious. I would write it down before changing anything else

Avery Johnson · 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. The practical part is easy to underestimate

Cozy River · 4 likes

Respectfully, I see it the other way

Youssef Mahmoud · 1 likes

You just saved me a bad purchase

Chinedu Adeyemi · 0 likes

I like this more then the top-level advice

Curious Orbit · 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. It sounds small, but the setup matters

Isha Menon · 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 social part surprised me too

Paolo Garcia · 1 likes

I get the appeal, though I would be careful calling it the best option. That is where the boring checklist helps

Urban 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. I noticed the same thing in Madrid

Yasmine El Amrani · 1 likes

The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. I noticed the same thing in Istanbul

Paolo Garcia · 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. I am curious whether javascript still feels good next month

Daniel Kiptoo · 0 likes

The safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. The low-effort version is probably the keeper

Cedar Sparrow · 0 likes

the safe answer is to keep the API boring: clear names, explicit errors and one behavior per function. I noticed the same thing in São Paulo