Skip to main content

Software Engineering and Architecture

Designing Maintainable Software

Software Engineering

Covers the basics of software engineering, with a focus on the software development lifecycle. Includes topics such as requirements gathering, system design, testing, and industry best practices.

Designing Robust Software

A deep dive into designing and building maintainable software systems. Covers topics such as the managing complexity, properties of good software design, and common software architecture patterns.