DEV Community

Cover image for 33 Best Materials to Learn Software Development in 2020
Aleksandar Vasilevsk
Aleksandar Vasilevsk

Posted on • Originally published at codespot.org

33 Best Materials to Learn Software Development in 2020

This is a preview of my original post cross-posted from my website's blog

1. Clean Code

Alt Text

Clean Code by Robert C. Martin (Uncle Bob) is one of the best books for software developers, it is a must-read book. Clean Code like its name says it is focused on how to write clean and good code it is focused on important things in software development like naming, functions, formatting, comments and error handling. It is an evergreen book and every programmer must have it.

2. Introduction to Algorithms

Alt Text

Introduction to Algorithms, 3rd Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, is another great book, this book has been widely used as the textbook for algorithms courses at many universities. For software and web developers without Computer Science degree learning algorithms can be one of the most beneficial topics in solving problems, even if you have a CS degree it is a great book to have it under your belt.

3. MIT OpenCourseWare

mit-open-course-ware

MIT OpenCourseWare (OCW) is one of the best courses for learning software development out there, they are great especially if you don't have a Computer Science degree. There are video courses from Introduction to Computer Science and Programming, Introduction to Algorithms, etc. The best think about MIT OCW is that it is free and available for everyone.

4. HackerRank

hacker-rank

HackerRank is a website that is focused on learning and competitive programming challenges that can be solved in a variety of programming languages (including Java, C++, PHP, Python, SQL, JavaScript, etc). HackerRank offers programmers to submits a solution to a programming challenge, their submission is given a score on the accuracy of their output. Programmers are then ranked on the HackerRank leaderboard and earn badges based on their results to drive competition among coders. HackerRank is free for coders to use.

5. Design Patterns: Elements of Reusable Object-Oriented Software

Alt Text

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, also known as The Gang of Four is one of the greatest books about object-oriented design theory and practice with a very high influence in the field of software development. The book is divided into two parts in the first part it is exploring the capabilities and pitfalls of object-oriented programming and in the second part describing 23 classic software design patterns. The Gang of Four is a must-read book, especially for Object-Oriented Programming.

6. Traversy Media

Alt Text

Traversy Media by Brad Traversy is a YouTube channel mostly focused on web development. The Video courses are great, very good and professionally explained and in-deep, the courses are especially good for beginners. The video course materials by Traversy Media are mostly free.

7. Academind

Alt Text

Another great YouTube channel for learning web development is Academind. There are a lot of available tutorials and courses that are very good explained. Some of the tutorials are free on the YouTube channel and some of them you can find it on Udemy.

8. The C Programming Language

Alt Text

The C Programming Language by Brian Kernighan and Dennis Ritchie sometimes termed K&R, after its authors' initials, which also designed and implemented the C language, as well as co-designing the Unix operating system. This book is regarded by many to be the authoritative reference on C programming language and with it, you will learn C programming language and also you will see how to program on the lower level which is very important for every software developer.

You can read the full post with all the links and resources and find the 25 more tools on my website's blog

Oldest comments (8)

Collapse
 
davidgerva profile image
David

Thank you for this article! I think I need a second life or something to do everything I'm interested into :(

Collapse
 
ziizium profile image
Habdul Hazeez

Excellent.

Collapse
 
twoperkg profile image
twoperkg

What does TCPL abbreviation mean?

Collapse
 
erikwhiting88 profile image
Erik

The C Programming Language

Collapse
 
mayronceccon profile image
Mayron Ceccon • Edited

Thanks for this article!

Collapse
 
hugoliconv profile image
Hugo

Is Clean Code useful for JavaScript programmers?

Collapse
 
vasilevskialeks profile image
Aleksandar Vasilevsk

Of course, it is.

Collapse
 
traversymedia profile image
Brad Traversy

Thanks very much for the mention :)