Technical
Test Driven Development Test Driven Development
Kick off your journey by understanding the fundamentals of Test Driven Development. We'll set the stage by discussing what TDD really is and why it is the key to building robust software.
Typical Challenges
Typical Challenges
Ambitions
Ambitions
Evolutionary Design
Evolutionary Design
Learn the art of Test-Driven Development by letting design patterns naturally emerge from your code, rather than forcing them prematurely. This approach helps prevent over-engineering by keeping your focus on solving actual, current problems while using continuous refactoring to steadily improve your code's structure and quality.
TDD approaches
TDD approaches
Explore various approaches to Test-Driven Development, from inside-out development that begins with core components and expands outward, to outside-in development that starts at the user interface and works inward. Learn to effectively use test doubles to simulate different parts of your application, giving you a comprehensive toolkit for any scenario.
Good testing habits
Good testing habits
Master the art of writing sustainable test code by starting with assertions that define your expectations before implementation. Learn to interpret test failures as valuable feedback, use the Rule of Three to avoid premature abstractions, and develop a keen sense for when and how to refactor your code effectively. These practices ensure your tests remain maintainable and provide lasting value to your codebase.
Hands-on Exercises
Hands-on Exercises
Put your TDD skills into practice by building real-world features like bike unlocking systems and rental tracking. Challenge yourself with authentic scenarios including edge cases such as inventory management and maintenance situations, while collaborating with peers to simulate the dynamics of actual development teams. This hands-on approach ensures you're ready to apply TDD effectively in professional environments.
Why Choose This Course?
Why Choose This Course?
- Interactive Storyline: Learn TDD by actively developing a life like application.
- Hands-On Exercises: Practical tasks that reinforce each concept.
- Live and offline: Learn at your own pace supported by live sessions in between.
- Extended: Six weeks immersion to make learnings stick.
- Cohort: Solve tricky challenges with your peers.
- Fun and Engaging: A light-hearted approach to serious coding skills.
- Expert Guidance: Continuous code reviews to keep you grounded.
Frequently asked questions
Frequently asked questions
Why is the course 6 weeks long?
It should take you about 6 weeks when working on the course after work hours and/or on weekends. This doesn't mean you cannot continue working on the materials though – you have a lifetime access to all the courses materials.
Online and self-paced?
Yes, we will have group live sessions with me and your cohort at least twice a week.
What do you mean when you say cohort?
The best results when learning happen when you learn with a community of practice. You will join a group of learners like you, the cohort, and work together on the concepts you are learning and towards the completion of the project.
How will we communicate with one another?
You will have access to your cohorts chat, live sessions, and email.
How do I know I'm doing well?
There will be challenges along the way. Each time you submit your challenge I will review your performance, code, and give you tips and guidance where needed.
What programming languages will we use?
The course will be given in different languages depending on the cohort. Check for the current available dates to see when a specific one starts.
Is there support if I get stuck?
Absolutely! You will have the support from your cohort, and when things get tricky I am available to help you navigate any bumps in the road.