Coding Style

These are the books to read when you are starting out and want to improve your skills.

Clean Code

Code Complete

The Pragmatic Programer – 20th Anniversary Edition

Test Driven Development: By Example

Head First Design Patterns

Refactoring: Improving the Design of Existing Code

Advanced But Essential Reading

Design patterns : elements of reusable object-oriented software

Refactoring to Patterns

Continuous Delivery

Growing Object-Oriented Software, Guided by Tests

Testing

Agile Testing: A Practical Guide for Testers and Agile Teams

ATDD by Example: A Practical Guide to Acceptance Test-Driven Development

Growing Object-Oriented Software, Guided by Tests

xUnit Test Patterns: Refactoring Test Code

Designing Systems

Domain-Driven Design: Tackling Complexity in the Heart of Software

Patterns of Enterprise Application Architecture

Building Microservices: Designing Fine-Grained Systems

Service-Oriented Architecture: Analysis and Design for Services and Microservices

Service Design Patterns

Enterprise Integration Patterns

Legacy

Mythical Man-Month, The: Essays on Software Engineering, Anniversary Edition