Advanced Katas
You have reached the highest level. You have completed the learning phases and we move on to the more complex katas. Remember that in the link of..
If you have a lot of experience implementing TDD, your learning plan should focus on deepening your understanding of advanced principles, exploring new tools and techniques, and applying TDD in more complex contexts.
Here we present a plan with challenges to expand your knowledge and skills in TDD:
Even when you have a lot of experience, it is important to review the theoretical foundations to feed your knowledge.
Among the concepts you can explore to increase the challenge of your practice is the relationship of TDD and software architecture. Understand how TDD influences architectural decisions and how it can guide the design of complex systems.
TDD Harms Architecture, un artículo de Robert C. Martin (Uncle Bob), ofrece una perspectiva crítica sobre cómo TDD puede influir en la arquitectura del software. Asimismo, el libro Clean Architecture, también de Rober C. Martin, es una guía útil para aprender cómo integrar TDD con principios de arquitectura limpia para diseñar software de alta calidad.
Another important relationship is TDD in distributed systems. Explore strategies for applying TDD to the development of microservices and distributed systems. A book that can help you is Building Event-Driven Microservices, by Adam Bellemare, in which you can learn how data is generated and propagated in your projects.
As always, for knowledge to be useful, you need practice. Here are some options to test your knowledge.
Bank kata: Create a system to manage the bank accounts with complex requirements. Sandro Mancuso's Outside-In TDD series can be useful to solve this kata.
Corporate Hotel Booking: Develop a reservation system for corporate hotels that meets the requirements of three different types of users.
Roman Numerals: This exercise will allow you to refine the process for making decisions on how to add tests.
Learn to use advanced testing tools and frameworks specific to your preferred language or development environment. This may include more sophisticated mock frameworks, code coverage tools, and specialized continuous integration systems.
Use advanced tutorials from tools such as Mockito (for Java), Sinon.js (for JavaScript), or PyTest and Mock (for Python). Here is a playlist focused on testing with examples and reflections on how to implement new complex practices in your projects.
Participating in events and communities that encourage exchanges will help you find new perspectives for your developments.
One of the most important annual events is the Global day Coderetreat, an entire day dedicated to collaborative software development, with the aim of improving technical skills and sharing good times in community.
One of the best ways to learn is to teach. Offer mentoring to less experienced TDD developers. This exposes you to new challenges and allows you to apply your skills in a variety of contexts.
Also, seek out training at your level that allows you to learn from other industry experts.
Feedback and reflection: After each kata or project, take some time to reflect on what you learned and how you can improve. Self-assessment is key to continued growth.
Learning journal: Keep a journal of your progress in TDD. Write down the challenges you faced, how you overcame them, and lessons learned.
This learning plan is designed to challenge you and push your boundaries in TDD. The goal is not only to improve your technical skills, but also to contribute to raising the level of software development in the industry.
You have reached the highest level. You have completed the learning phases and we move on to the more complex katas. Remember that in the link of..
Our recommendation is that you first go through Object-Oriented Programming katas so that you can move on to more complex testing concepts. If so, we..
Once basic concepts such as conditionals, loops, and simple structures have been introduced and reinforced, and TDD has been strictly practiced, it's..
Join our newsletter for expert tips and inspirational case studies
Join our newsletter for expert tips and inspirational case studies