How to Become a Better Software Developer With These GitHub Reposby darren horrocks
GitHub hosts millions of different repositories, most are projects that developers are working on, but a fraction of them are valuable resources for learning. Over time, I have collected a list of repos that contain these valuable resources.
No matter how much you know, you never know enough.
“Every Programmer Should Know” is a collection of mostly technical things that all software developers should know. With this repository, you might learn a few new tricks, and this alone justifies spending some time on this collection.
Have you ever tried to create your own operating system? Or your own BitTorrent client?
Build your own X tries to close the knowledge gap in implementing some basic but also some pretty advanced topics. This whole repository shows you that anybody can create anything if they are willing.
Awesome Guidelines is a little different. Instead of distilling knowledge into a collection or a book itself, it gives you some of the most basic foundations a programmer regularly needs: Coding and formatting guidelines.
Code is read way more often than it is actually written. This alone justifies formatting your code in some way or the other – at least to the extent that you and everyone you work with can agree on how your code should look.
Professional Programming is a classic resource collection with many tips on outstanding books, many more worthwhile articles to consume, and a link for nearly everything you can probably imagine.
Practice is the best way to learn software development. Repeatedly solving specific problems fortifies your knowledge and gives your brain the reason to memorize all those concepts you apply during your work.
Project Based Learning is a list of programming tutorials that shows aspiring software developers how to build an application from scratch. It contains projects in many different languages.
System design is one of those fields where practice especially makes you better. Theory often lacks behind real-world use cases and issues you encounter in the wild.
This repository, however, is an incredible example of how to teach the very practical domain of system design with Python. If you manage to finish going through this repository, you’ll be a pretty dangerous software engineer who knows their way around system design way better than many of their peers.
Becoming a software developer at a large company can be a challenging task.
Tech interviews can be daunting and are often nothing like the actual job. Some even go so far as to say that you need a whole different set of skills to pass a tech interview than you need to do the job.
Coding Interview University is a repository that aims at precisely guiding you through the process of becoming competent in tech interview situations, all while additionally teaching you many crucial computer science fundamentals.
This repository is the perfect bookmark if you ever get stuck. Just jump into it and look at whether there is already a solution for your problem.