Javiera Laso

Lead Developer Consultant @ Thoughtworks

I am a biotech engineer who transition from the lab to the world of software. During my university years, I excelled in both fields becoming a teaching assistant in the IT engineering program while also pursuing my love for biotechnology. Post-graduation, I realized that working in lab environments with outdated software was limiting my potential to apply cutting-edge technology in biotech. So, I decided to take on a challenging journey to become a developer and bridge this gap. As a proud woman in tech my background enriches the landscape of software development. I am also an enthusiastic supporter of DDD as it can help us to bind the code with the business.

Presentations

In this hands-on session, participants will learn how to bridge the gap between technical strategy and execution using systems thinking principles.

Through some exercises, software architects will practice mapping business goals, constraints, and feedback loops, then translate them into a clear and adaptable technical roadmap.

This presentation focuses on helping architects/engineers to move from abstract vision to actionable outcomes, aligning architecture with value, sequencing initiatives, and communicating trade-offs effectively to stakeholders.

By the end of this session, participants will be able to:

Understand how systems thinking reveals dependencies and leverage points within technical ecosystems
Identify how business outcomes can be mapped to technical capabilities
Practice creating an adaptive roadmap using “Now / Next / Laterˮ framing
Learn to communicate trade-offs and priorities in a way that aligns with business goals Leave with a reusable framework and template for turning architectural strategy into delivery steps

In this architectural kata, you will step into the shoes of a software architect tasked with designing a modern healthcare management system for a rapidly growing provider, MedBest.

The challenge is to create a system that integrates patient records, appointment scheduling, billing, and telemedicine while ensuring robust security, compliance with regulations, scalability, and cost efficiency.

In the fast-paced world of software development, maintaining architectural integrity is a
continuous challenge. Over time, well-intended architectural decisions can erode, leading to unexpected drift and misalignment with original design principles.

This hands-on workshop will equip participants with practical techniques to enforce architecture decisions using tests. By leveraging architecturally-relevant testing, attendees will learn how to proactively guard their system's design, ensuring consistency, scalability, and security as the codebase evolves. Through interactive exercises and real-world examples, we will explore how testing can serve as a powerful tool for preserving architectural integrity throughout a project's lifecycle.

Key Takeaways
Participants will learn to:
Write architecture-driven tests that validate and enforce design constraints.
Identify architectural drift early and prevent unintended changes.
Maintain consistent, scalable, and secure architectures over time.
Collaborate effectively within teams to sustain architectural excellence.
Prerequisites
Basic Understanding of Software Architecture: Familiarity with architectural patterns and
principles
Experience with Automated Testing: Understanding of unit, integration, or system testing
concepts
Collaboration and Communication Skills: Willingness to engage in discussions and
teamwork
Experience working with Java
Optional
Familiarity with Static Analysis and Code Quality Tools: Knowledge of tools like ArchUnit,
SonarQube, or custom linters is beneficial but not required
Experience with Large-Scale Systems: Prior work on complex systems can enhance the

Key Takeaways:

Participants will learn to:
Write architecture-driven tests that validate and enforce design constraints.
Identify architectural drift early and prevent unintended changes.
Maintain consistent, scalable, and secure architectures over time.
Collaborate effectively within teams to sustain architectural excellence.

Prerequisites:

Basic Understanding of Software Architecture: Familiarity with architectural patterns and principles
Experience with Automated Testing: Understanding of unit, integration, or system testing concepts
Collaboration and Communication Skills: Willingness to engage in discussions and
teamwork
Experience working with Java

Optional
Familiarity with Static Analysis and Code Quality Tools: Knowledge of tools like ArchUnit,
SonarQube, or custom linters is beneficial but not required
Experience with Large-Scale Systems: Prior work on complex systems can enhance the

In this immersive, hands-on workshop, participants will learn how to combine the discipline of Test-Driven Development with the creative support of AI-powered pair programming.

Working in pairs, developers will build a Booking system from scratch using Java and VS Code, progressively applying the red-green-refactor cycle while integrating AI assistance for test authoring and design validation.

This workshop emphasizes practical workflow habits; starting from unit tests, iterating with context-driven prompts, and applying refactoring techniques, to help participants write more reliable, maintainable, and thoughtful code.

By the end of this workshop, participants will be able to:

Apply the TDD cycle Red → Green → Refactor) effectively while coding a real-world service
Collaborate with AI tools to generate, refine, and extend test cases responsibly
Pass contextual prompts to guide AI toward meaningful, domain-relevant test generation Recognize design and code smells that emerge in the refactor phase and correct them through iterative improvement
Balance speed and intent—leveraging AI to accelerate feedback without compromising software quality
Reflect on workflow improvements, communication with AI tools, and ethical implications of AI-assisted testing