As a self-taught programmer, you might also benefit from books that offer broader advice on the profession. You’ll improve your thinking and habits, traits you can apply to any language you decide to learn. Steve McConnell’s 900-page Code Complete: A Practical Handbook of Software Construction (2nd Edition) is considered the definitive guide for best practices, with data-backed advice on everything from project design to debugging code.
The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.
Instead, generates random, but readable and pronounceable words using the phonetic rules of your native language. These words look almost natural, and often they really are. Typing sensible text is much easier than repeating random letters, and it helps you to remember frequent key combinations. The latest point is very important. For example, it’s almost impossible for the letter ‘W’ to follow the ‘Z’ in English, and you will never type this combination in Instead, you will type more common words, such as «the,» «that,» «with,» and so on. And soon you will learn how to type the «th» combo really fast.
EdX is another leading online-learning platform that is open source instead of for-profit. It was founded by Harvard University and MIT in 2012, so you know that you’ll learn about cutting-edge technologies and theories. Today, edX includes 53 schools. You probably can’t go wrong with the free Introduction to Computer Science from Harvard University.
That's a great list, Kevin. However, nearly all above-mentioned course/tutorial providers provide content for nearly all programming languages/frameworks. Hence a newbie learner would be confused which learning platform to choose out of the lot. For ex. if one is interested in learning Python, all the above-mentioned platforms provide Python courses/tutorials. To solve this dilemma, ( is the programming community where learners can find the best online programming courses and tutorials recommended by the community. PS: Sorry for the self-promotion ( Am Hackr co-founder) but I thought of informing the readers about the possible solution.
Whether you’re an adult looking to transition into the tech industry, a student looking to learn the latest language, or a hobbyist who just wants to understand how software and services work, all you need is a computer and internet access to start your programming journey. But before you take a flying leap into The Matrix, here are our best tips and resources to set you off on the right foot.