5 ms·
Ask HN: Keep learning by doing or study CS theory?
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!
- kenshi 10y agoIf you want a good software development job you need to do both.
- bcbrown 10y agoI would do both, but prioritize learning by doing. For theory, focus on what is commonly tested in interviews, namely algorithms and data structures. 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.
- XtalJ 10y agoI totally agree! That is how I did it :-)
- deleted 10y ago[deleted]
- orange_county 10y agoBoth would be great but there is only a limited amount of time in a day. The fastest way to get into the industry is doing projects. However I would take the specific approach that some other member posted here. Find local companies near your area, research their product and build a programming project that is related to their business. Then email them directly to a few key players of the company to showcase what you did. After you get the job, you can start focusing on CS theory. There are tons of materials online for CS theory such as Coursera, Udacity and edx. Good luck!
- edimaudo 10y agoStart by doing, then if you can't do it then learn the theory. Do again to make sure you .now understand the theory. COntinue until mastery is confirmed.
- ud0 10y agoLooked at your side projects, cool. You should take sometime to polish the UI. Look at examples from dribble. You UI may/may not stop you from getting a good job if it looks too amateurish.
- lalwanivikas 10y agoMaking projects is the way to go since you are trying to get into frontend or full-stack positions. Nothing beats a good portfolio[0]. [0] https://firstdevjob.com/posts/why-build-portfolio https://firstdevjob.com/posts/why-build-portfolio