

Echoing that the best place to start is to get a handle on programming as a concept. Not because we’re trying to gatekeep the good stuff behind the scary programmer voodoo, but because otherwise you’re basically attempting to edit a book in a language you don’t speak (and the reader is very picky about grammar).
That said, you can absolutely teach yourself to code! Hell, if you figured out self hosting I’m willing to bet you’ve probably already got a handful of transferable skills.
In the interest of disclosure, I learned programming as part of my degree (took a Java class as a resume booster my first semester and ended realizing that I preferred coding to calculus and switched my major), so I’m not exactly a wealth of knowledge in the self study department. However I would recommend a course that has labs/ challenges/ projects to practice what your learning. Everyone learns differently, but I’ve personally found that I picked up programming concepts better when I got hands-on and applied them in my assignments.
The programmer’s open secret is that generally once you know one programming language, it’s pretty easy to pick up another. For example, Java and Python might write them in different ways, but at the end of the day a loop is a loop and as long as you know you need to repeat some code until some condition is met, it’s perfectly acceptable to Google “loop in Python” or “[Java concept] in Python”. In other words, it doesn’t super matter which language you start with; just pick something and stick with it (bonus points if you can turn around and tinker with an OSS app with what you’re learning).







Beyond the moralistic objections I have to LLMs, I have serious issues with being fed confidently incorrect answers. I’ve had my share of configuration hell and I’m not above throwing code at the wall to see what sticks, but at least I have the good sense to drop a comment or mention in my commit that “hey, there’s a chance this isn’t right and could cause problems”.