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.
Read other people’s code. Dig through source code of libraries you use. You don’t have to understand their entire stack, but you’ll start to see all sorts of skill levels in production code. This obviously comes with the requirement to have some basic experience to comprehend the fundamentals of coding.
I’ve been a professional web dev for over 15 years and when I’m feeling down about my code, I just look through WordPress plugin source code. I’ve seen clients use some terribly coded plugins with a $50/mo price tag on them. No one cares.
But every once and a while, you’ll come across something beautiful, something thar will inspire you in just the right way and it’ll click how to code something. It can even be just a small portion of a messy project, but learn to recognize when you’re writing good code and be proud of that. Also learn to sometimes accept messy code.
Did I ship high quality code for every project last year? Hell. No. Some clients have smaller budgets or there isn’t time to work out the most elegant solutions or there’s pressures to ship ASAP. But there were a few projects I was given the time and space to write some code I’m genuinely proud of.
I’ve been in the industry long enough to know that skill and ability doesn’t hold back as many people back as you’d expect. Do I want more under skilled coders entering the industry? not really, but we all have to start somewhere. And as long as there is progress being made, it’ll be fine.
I wasn’t skilled or even a coder when I first started out (I was an art major) I lied and learned it all in the job. The web dev ecosystem was entirely different 15 years ago. But sticking to it, developing an understanding of what good code looks like, eventually lead me to a successful career.
Everyone has their own pace. Be patient with yourself, and learn to love learning. You’ll never stop learning in this industry.