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.
Aside from what everyone else is saying, don’t use dependencies that you don’t have to. Particularly don’t use big “frameworks”. If you use any dependencies, use tiny, focused ones that do one thing. The more code there is underneath what you’re writing, the more likely it will cause problems that you will internalize. I’ve seen it many times. Spring (Java), for instance, will do something not as advertised, and devs will think they’re bad coders because they “can’t write code that works as it’s supposed to.” Avoiding that vicious cycle will make you a better coder in the long run.
Also, when things aren’t working with your dependencies, do google for fixes, but don’t google too long. If you haven’t got a solution after an hour of no progress, look at your dependencies’ source code until you understand why and how to fix it.