cross-posted from: https://lemmy.world/post/24857168
I would like to code for a living and to contribute to open source projects and things, but my coding skills are absolute shit after taking online courses and watching video tutorials. How can I learn to code for real?
What I would like to learn is algorithms, web development (“full stack”), how layouts work (both in like kotlin compose and HTML) and how to read other peoples code. Maybe thats more than I can chew, but its probably good for me to try out many things before getting settled on one.
Now I have been coding for a while already (~ 4 years), but I kind of feel like I need more guidance to be able to actually create code that works as intended intentionally, and not through trial and error / stack overflow. As for what level i am at, CS50 is probably my only qualification, I have played around with APIs (I.E. making discord bots), and made some html “apps” (horribly made, but things like the “genius” game and a calculator) and “prototype” react websites (as in, really bare bones, barely working).
I do plan on taking CS or something similar, but i’m not yet in college, and I would like to have a good head start before getting there.
Sorry for my bad English, and any help is appreciated.
The idea is to develop keen instincts so your code comes out nice on the first try, without needing rewrites. To do that, you have to start out by rewriting a lot. You are after a fluency of style, which is somewhat independent from deep thinking. Compare being a profound musical composer who sweats blood over every note, with being a competent (not necessarily great) improviser who, given any request, can bang out something listenable immediately without too many bum notes, without thinking too hard.
Ideally you want both. Computer science education gives you the profound compositional knowledge. Improvisation needs lots and lots of practice at the basics. So code a lot. It makes everything else easier.