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.

  • @SamboT
    link
    61 day ago

    You are never wasting your time with unfinished projects no matter how unrelated it might seem to your current interests.

    You dont have the right mindset yet to push through and finish a project, mostly because of poor ideation of the full project, rather than how things get done logically on your code.

    You dont need to just be a developer, you are a professional problem solver of all kinds and any obstacle can get absolutely FUCKED if it thinks its going to keep you from getting to the next step.

    Project management is important and theres a free textbook link below, but working alone and without a bugdet or real time constraints gives you the freedom to work on any aspect of a project as you feel like it… and can switch between focuses so you can dream about how users will interact with your project, or what algorithm could solve a specific problem in the project. The key is to write (type) everything down and don’t stop. And you really dont even want to be coding at this point… just pseudo code… class diagrams… different visualizations.

    And hey if you burn out and lose focus, you identified what you need to learn and maybe even have something to show for it. Yes minimizing these slips gets easier but once you start going through the complex motions of realistic projects you will eventually start memorizing.

    https://pressbooks.ulib.csuohio.edu/project-management-navigating-the-complexity/