Advice for Beginners

Its much better to try and have a project you want to do, and then try and do that project.

Its very easy to just get stuck in the so called ‘tutorial hell’ - watching coding tutorials forever and not know how to apply any of it (though you have to watch some to get an idea of what to do). If you have a clear idea in mind, sometimes you don’t need to do all of the tutorial, just some of it

This really depends on what you want to do. As is the case with most difficult problems, the answer is ‘It depends’.

Nowadays, if you don’t want to go straight to C or golang to learn the fundamentals (which is probably what I would recommend), JavaScript is a decent enough first language; it teaches you lots of the basics and you can apply some of it to make small websites if you want

Eloquent JavaScript is free pretty good.

Otherwise, to get a general understanding of programming and problem solving in general, the CS50 Harvard course is great. The CS50 Beyond course is also worth a mention (goes over more concepts, web programming, git, SQL, React). The missing semester also goes over a bunch of terminal/shell information that is useful.

For webdev, the quality may vary from project to project, but freecodecamp and theodinproject are worth a mention.

For giant lists of resources, check out project-based-learning and

I will stress this again. I’m listing tutorials here, but the best way to learn is application - make something. You need tutorials to get started and have some context, but your loop should be: Learn something, take notes, apply it, and perhaps to keep yourself accountable - put it out there somewhere (e.g. on Github, you can always make these private later!). Else, you risk just watching tutorials and feeling this sense of accomplishment copying code down without gaining the underlying problem solving skills.

I know me saying “just make something” isn’t really good direction, but I don’t know what you’re passionate about. You have to pick something you want to make, and go do it.

See also: After beginner advice