Hi HN,
I am learning to code for the last 5 months. So far, I am mostly learning (Javascript) by doing, i.e. I have an idea for a small project, choose a tech I want to learn more and build the project.
Here are the projects I did so far: https://rodrigo-pontes.glitch.me/
I have started to look for software development jobs now, so my doubt is:
Should I keep creating these projects in order to learn software development, or should I start to learn more profoundly about more theoric concepts like those taught at CS classes that are available online?
In case you think I should go to the CS theory path, which topics should I focus my learning? Any specific resource you recommend?
(if it matters, I want to optimize my education to increase my chances to get a good software development job).
Thanks!
I would also suggest auditing an online course on operating systems. That shouldn't take much effort (compared to actually doing the associated homework etc), but gives context, a good overview of a lot of fundamental concepts, and probably enough CS trivia to be useful in an interview.
Once you have a job, then I'd focus on learning theory. You'll be learning by doing all day in the job, so there's less benefit from side projects than continuing to learn theory, at least until you've covered everything in the undergrad curriculum. You can look at the degree requirements from a couple of the big schools, choose a list of topics, then pick one or two sources for each topic. I used a mix of online courses and textbooks.