This document is an essay that discusses common patterns that hinder the effectiveness of Test Driven Development (TDD). It outlines the challenges practitioners face when adopting a test-first approach, emphasizing the importance of writing tests for code. The authors, Matheus Marabesi and Emmanuel Valverde, share insights gained from their experiences and feedback from other practitioners in the field. The essay highlights various anti-patterns that can slow down development and inhibit the adoption of TDD, providing examples and suggestions for overcoming these obstacles. The document also addresses the cultural and organizational challenges that can arise when implementing TDD practices, noting that many teams may not be set up for testing or lack a strong testing culture. The content aims to serve as a resource for practitioners seeking to improve their TDD practices by identifying and avoiding common pitfalls.