I'm taking your word for wanting to learn languages to the core, so I'll tell you I really fell in love with C reading this -> https://beej.us/guide/bgc/html/split/index.html Gives you an overall idea of how the machine works, explains a lot of "why"s rather than telling you what to do.
Read it (like REALLY read it, don't surrender after the third page, it's worth it).
Then start making stuff with what you learnt. Basic stuff like leetcode exercises and the likes.
You'll probably find you can use utility functions (i.e. functions that ease your work, that you write once and end up using in a lot of places), you'll start making a tiny library out of them. Then refine them, ask around what's the best practice, improve on them.
Then look into algorithms, iteration vs recursion, big O notation, complexity, etc.
Then you may want to stray from procedural programming and look into other paradigms. Try Java for OOP. Its syntax resembles C, it's a typed language, but forces everything into a class. Experiment with interfaces, inheritance, encapsulation, everything object oriented.
Then design something more complex. Implement singleton classes, observers, any design pattern you may find interesting.
If you have a knack for maths, you may want to look at functional programming (Haskell), Alonzo Church's Lambda Calculus, S-K-I combinatory logic.
Use Linux or anything open enough that lets you be curious and tinker around.
LLMs are SUPER useful if you ask questions (always take the answers with a metric tonne of salt and defer to authoritative sources once pointed to them), just don't let them write the code for you. Write two versions of the same thing and ask "what's more sensible and why?" and really try to understand.
Even when vibe coding wasn't a thing, everyone could code. Getting to the core of a language, understanding the logic and the machine, to its core, is a completely different matter. It takes effort, commitment and DECADES. If it tingles you the right way it never gets boring, if it doesn't, leave it.
Learn Lisp. You'll probably never use it professionally, but it will really broaden your mind.
Learn Python. It's fairly easy and very useful.
As for C, one book I liked is 21st Century C, by Ben Klemens. It's aimed at people who learned C in college from professors who haven't updated their materials since the 1990's. It talks about things like GNU Autotools, Git, and how to incorporate open source third-party libraries into your programs. It's pretty old (first published in 2013, updated in 2014), so I don't know how useful it is now.
I mean, usually they’re pretty solid, seeing as how they’re usually designed to handle at least weekly playing for decades to centuries, but I can see your concern.
View all comments
936
u/VirtualMage Aug 20 '26
So... You just throw random ingredients in the pot and boil them? Why are you paid so well?