Software Engineering
Resources
If you’re interested in jobs in this area, I highly recommend CS Primer. This will help navigate the key topics and best resources. Many of the resources below are directly taken from this great resource.
Algorithms and Data Structures
- Introduction to Algorithms, Srini Devadas and Erik Demaine, MIT 6.006, 2011.
- AlgoExpert.
Distributed Systems
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, Martin Kleppmann, O’Reilly Media, Inc., 2017.
- Distributed Systems, MIT 6.824, Robert Morris, 2020.
High Performance Computing
- High Performance Computing Course - Advanced Scientific Computing, Prof Ing Morris Riedel, University of Iceland.
Cloud Computing
- AWS Cloud Technical Essentials, AWS, Coursera.
- Microsoft Azure Fundamentals (AZ-900), Adam Marczak.
Testing
- Software Testing Fundamentals
- Unit Testing Principles, Practices, and Patterns, Vladimir Khorikov, 2020.
Containers
- Python on Docker Production Handbook, Itamar Turner-Trauring.
- Kubernetes Basics.
Refactoring
- Refactoring, Refactoring Guru.
Design Patterns
- Design Patterns, Refactoring Guru.