Here are some free resources to improve your software development skills, in no particular order.
- roadmap.sh
- Free learning paths across multiple domains. The "Start Here" on the top menu bar is a great place to start.
- Git Internals
- Learn how git works under the hood. Not only is it the most common version control system, it has a well thought out interface and backend.
- Practical Python Course
- David Beazley's popular python course, setting a foundation in using Python for a variety of tasks.
- Rust book
- The official book is a great starting point. There is also a YouTube series that works through the book and talks through the examples further.
- Learn X in Y minutes
- If you already know one language, and just want to know how another language does X, this site will help you find the equivilant syntax.
- Naming as a Process
- Article series on how to make your code more honest, improving readability and maintainability.
- Test Driven Development
- No link for this one, though search for "unit testing in $LANGUAGE", where
$LANGUAGE
is the programming language you're using. Test driven development is very important for writing maintainable and provable code.
- No link for this one, though search for "unit testing in $LANGUAGE", where
- Don't Repeat Yourself
- Similar to Test Driven Development, Don't Repeat Yourself is an important principal in improving the quality and maintability of your code.
- AWS Cloud Practioner Essentials
- Free training from AWS that introduces the many services and their use cases.
- DevSecOps Playbook
- Summary of the recommended controls for application security.
- GitHub actions
- Enabling GitHub to run tests, code quality analysis, secret detection, and other tasks against your projects.