Reading List

It is really important to always have a growth mindset and look to continuously improve yourself and learn more. Here are some of the books, sites, channels, podcasts and articles I have collected over the years which I have gained true value from, hopefully they will give you value as well.

Basic Software Engineering

The Pragmatic Programmer

Refactoring: Improving the Design of Existing Code

Domain-Driven Design: Tackling complexity in the heart of software

Patterns of Enterprise Application Architecture

Clean Architecture

Refactoring to Patterns

youtube@ModernSoftwareEngineeringYT

Mythical Man Month

Testing

Acceptance Test Driven Development – How to guide

Is your test suite too brittle? Maybe its too DRY

When to Mock?

Unit Testing Book Infographic

Test Contravariance

Unit Testing Anti-patterns, full list

The swiss cheese model for quality engineering

Dont do End-To-End Testing

Obscure Test at xUnitPatterns.com

Continuous Delivery

My CI/CD is my release captain

Description of the minimums

What is continuous delivery?

Observability

Domain-Oriented Observability

Monitoring and Observability

Google SRE Books (3 of them)

Code

A compound name is a code smell

CUPID for joyful coding

https://blog.thecodewhisperer.com/

Architecture

Domain Orientated Microservice architecture

The Scale Cube

You probably dont need microservices

Scaling the Practice of Architecture, Conversationally

The Transformation Architect

Event Granularity: Modelling events in event driven applications

Health checks and graceful degradation

Hexagonal Architecture/Ports and Adapters

Hexagonal Architecture

Design Accelerator: Ports and Adapters Architecture Part 1

Design Accelerator: Ports and Adapters Architecture Part 2

Design Accelerator: Ports and Adapters Architecture Part 3

Algorithms and Data Structures

Algorithms and Data Structures full course

Codewars

LeetCode

System Design

System Design Fight Club

Designing data-intensive applications

Thinking in Systems: A Primer

Implementing Domain-driven Design

Software Architect’s Handbook

ByteByteGo

14 Case Studies: Master System Design in a Month

Agile

Scrum Guide

User Story mapping

Product

Transformed

Outcomes over outputs

Lennys podcast

A vision for product teams

The Lean Startup

Continuous Discovery Habits

Leadership

Will larsen Blog

An Elegant Puzzle

The Managers Path

The Coaching Habit

Radical Candor

Start with Why

Team Topologies

Turn the ship around

Leading change

The five dysfunctions of a team

The culture code

The culture map

Dare to lead

Timeless Talks

Simple made easy

Hammock driven development

TDD, where did it all go wrong?

The myth of the genius programmer