GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes

Yoav Abrahami, Chief Architect at Wix

Yoav Abrahami

Biography: Yoav Abrahami

Yoav Abrahami is the Chief Architect at, working with developers and operations on building wix future products as well as accelerating and improving development processes. Prior to joining, Yoav was an Architect at Amdocs Cramer OSS division. Yoav has a MS in Physics and BS in Computer Science from Tel Aviv University.

Presentation: War Stories, Part 1

Track: War Stories / Time: Monday 10:35 - 11:35 / Location: Room 102 / 103

It is not enough to succeed. Others must fail.

Have you ever had a bug nagging you for half a year? Have you ever been relieved after half a year of on and off debugging when you finally solved a bug? Did you ever reflect on why it took you so long to solve a bug?

In this presentation speakers will reveal how they solved their worst bug. You will experience old and new technical details that you've never heard about. You will get inspired to learn more.

10-15 min. enlightning talks 

War Story 1: Selenium race condition
Speaker: Yoav Abrahami

War Story 2: Cache miss
Speaker: Itai Hochman

War Story 3: Localisation: "Epic Fejl"
Speaker: Graham Lee   

Presentation: Going CI/CD, the experience

Track: DevOps/continuous delivery / Time: Monday 12:05 - 13:05 / Location: KeynoteRoom

We will go over the motivations for R&D to move to a CI/CD/TDD model, how the model was implemented and the impact on Wix R&D. We will cover the tools used (developed in-house and 3rd party), change in methodologies, what we have learned during the transformation and the unexpected change in working with product and the rest of the company.

Workshop: Hands-On TDD

Track: Training: Development in real Life / Time: Friday 09:00 - 16:00 / Location: Room 104

TDD is well known as a technique for high quality coding and as an enabler for Continuous Delivery. It relays on developers knowing how to code "good" tests. However, what makes a good test? what should we avoid when coding tests?

In this tutorial we will define what makes a good test and what we should avoid when coding tests. We will examine a number of tests and look at how those tests can be improved. We will learn to use tools such as mocking, Hamcrest, and Probing. We will explore solutions for different integration testing challenges, including stabbing services, using in-memory SQL engine, embedded MySQL engine, data migrations and embedded Jetty server.

The tutorial will be done in Java, but is relevant for almost every programming language.

Bring a laptop with your development environment, as we are going to write code in the tutorial.