Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Keep learning by doing or study CS theory?
22 points by soneca on March 21, 2017 | hide | past | favorite | 7 comments
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 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.


I totally agree! That is how I did it :-)


Both 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!


Start 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.


Making 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


Looked 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.


If you want a good software development job you need to do both.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: