for a brief period i taught web development to young students — not formally, just someone who’d figured out enough to point others in a direction. one of them asked me once: sir, i love programming, but i suck at it. what should i do?
when i first wrote html, i used notepad. saved the file, tried to open it in a browser, it opened in notepad again. tried again. same thing. i couldn’t figure out what was happening. eventually i gave up for a few weeks until a different tutorial mentioned, almost as an aside, that you have to save it as .html and not .txt. that was it. that was the whole problem.
i didn’t know how to include images in web pages for an embarrassingly long time. my workaround was to build the page in a wysiwyg editor that handled image paths automatically, then copy the output. i didn’t understand why it worked. i just knew it did.
when i started learning javascript, i didn’t understand variable scope. so i stored global state in hidden input fields in the dom. if you needed to remember a user’s name across the page, there was a little input box somewhere at the bottom with their name sitting in it, visible to anyone who scrolled down. it worked. it was completely insane.
the first time i installed linux i wiped my entire hard drive. then spent two months unable to connect to the internet or get my screen resolution right. it didn’t occur to me to search for the answer. i just lived with it.
but here’s the thing — through all of it, i loved it. genuinely. something as basic as an anchor tag felt like a discovery. dynamically changing a page for the first time felt like i’d invented something. php post requests felt like witchcraft.
that’s the only reason i kept going. not discipline, not a plan. just that the thing itself was interesting enough that being bad at it didn’t matter that much.
sucking at something is not the problem. it’s the only way in. every embarrassing workaround, every wiped hard drive, every input box storing data it had no business storing — that’s the map getting drawn. you’re not failing to learn. you’re learning in the only way that actually sticks.
the faster you mess up, the faster the picture fills in.
i’ve been doing this for fifteen years. i still write code that doesn’t work on the first try. the difference is i’ve accumulated enough failures that i recognize them faster now. that’s the whole game. there’s no other game.
so when he asked me what to do — i told him: you’re not behind. you’re just early.