Software Engineering Design Patterns: Elements of Reusable Object-Oriented Software By Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides
UX Design Designing for the Digital Age: How to Create Human-Centered Products and Services By Kim Goodwin
Software Engineering Domain-Driven Design: Tackling Complexity in the Heart of Software By Eric Evans