have you ever actually sat down and configured your tsconfig.json? like really configured it, understood each option? or looked through your package-lock.json and understood why it’s there?
most people haven’t. and that’s the thing i’ve been realizing.
the obsession
when i started getting serious about programming, i somehow convinced myself that the solution to not knowing things was simple: memorize everything. every parameter, every function, every bit of syntax. if i knew it all, the gap would close.
so i made a to-do list. every single day: make a CNN, make an RNN, make an LSTM. find random datasets on kaggle, rewrite the same code over and over. months of this. most of my day gone just rewriting neural networks i’d already memorized.
it was pointless. looking bac…
have you ever actually sat down and configured your tsconfig.json? like really configured it, understood each option? or looked through your package-lock.json and understood why it’s there?
most people haven’t. and that’s the thing i’ve been realizing.
the obsession
when i started getting serious about programming, i somehow convinced myself that the solution to not knowing things was simple: memorize everything. every parameter, every function, every bit of syntax. if i knew it all, the gap would close.
so i made a to-do list. every single day: make a CNN, make an RNN, make an LSTM. find random datasets on kaggle, rewrite the same code over and over. months of this. most of my day gone just rewriting neural networks i’d already memorized.
it was pointless. looking back, it makes no sense.
but at the time it felt necessary. like if i didn’t know something completely, i didn’t know it at all. there was no middle ground. so i kept grinding. tkinter, websockets — i wanted to learn all of it. deeply. completely. i was obsessed with the idea that i could just absorb an entire package through repetition and memorization.
it never ends though. there’s always another parameter, another edge case, another thing you haven’t tried.
when syntax mattered less
at some point i realized the syntax wasn’t the important part. it was the concepts underneath. the theory. the why things work the way they do. that actually stuck.
and that helped. but it also opened up another problem: there’s so much abstraction everywhere. at one point i was like, i don’t need math, i can just do ai with code. wrong again. i took some courses on coursera but they never clicked because i wasn’t grounded in the math. now when i see equations in research papers i still have to ask chatgpt what they mean.
then there’s the other languages. rust, go. been learning both slowly on the side forever. still have to think about how to handle results in rust. don’t know the folder structure conventions. still get frustrated when something doesn’t click immediately.
the real problem
here’s what i think happened: i built this habit early on. the habit of needing to know everything before moving forward. the habit of treating partial knowledge like failure.
and that habit is still there. when i don’t know something, there’s this immediate reaction to just… go back to what i’m comfortable with. avoid the gap. pretend it doesn’t exist.
which is backwards, obviously. but it’s a hard habit to break.
what actually changed things
somewhere along the way i started thinking about it differently. not about knowing everything, but about learning when you need to learn. the primeagen talks about this — you don’t learn a language, you build something and use the language. you learn what’s required to make that thing happen.
and that framework actually works. it cuts through the endless memorization. it stops the side quests. you build something, you learn what you need, you move on.
but there’s still a tension there. if you only learn what’s strictly necessary, are you really understanding? or are you just copying code?
i think the answer is: both? when you’re doing a project and you hit something you don’t understand, that’s the moment to dig. not before. because then it has context. then it actually sticks.
but you also have to accept that some things will stay unexplained. some depths you won’t reach. and that’s just part of it.
where this leaves me
i’m still learning rust. still sometimes frustrated. still missing math knowledge i wish i had. still retreat to comfortable territory sometimes instead of pushing forward.
but i’m also getting better at being honest about gaps. at being okay with learning something just enough to ship it. at understanding that nobody really knows what they’re doing, they’re just better at working despite not knowing.
the obsession habit is still there though. that need to go deep on everything. it’s something i’m trying to accept i can’t do. not because i don’t want to, but because it’s just not realistic. there’s too much. too many angles. too many things.
so the goal isn’t to know it all. it’s to stop expecting yourself to. to break the habit of treating not knowing like failure.
that’s the part i’m still working on. :)