Anti-IF Programming Workshops

Growing Software: Beyond the IF Strategy

Upcoming Events

In this workshop series, we practice the art of building, changing and growing software with principles and techniques that diverge from the conventional IF Strategy. Our aim is to enable the development of functionalities without the need for refactoring solutions derived through IF and Switch statements-approaches that often result in complex and nested code structures. Throughout each workshop, Francesco Cirillo will develop a series of software features, illustrating how adopting principles, design patterns, and a selection of other techniques supports the organic growth of the software system, thus avoiding the emergence of 'Code Monsters.'

Leveraging languages such as Java, Python, JavaScript, TypeScript, among others, we emphasize that the essence of this workshop lies not in the programming language but in the design principles. It's worth noting that each workshop edition may cover a selection of topics outlined in the Topics for Discussion—focusing on those most relevant to the challenges at hand, rather than attempting to cover all topics comprehensively. This approach ensures a focus on practical application and adaptability, allowing participants to learn and grow with each new edition of the workshop.

Upcoming Events

Break the Chains of Conditionals!


Originated by Francesco Cirillo in 2007, the Anti-IF Programming approach has transformed how many perceive IFs and conditionals in software design. At the heart of software design lies a simple yet potentially dangerous tool: the conditional 'IF' statement. Undeniably foundational, its use to handle changes in a growth context, dubbed the "IF Strategy", can be a silent saboteur, complicating code and tangling logic. The IF Strategy can lead to debugging problems, never-delivered user stories, technical debt, entangled design, frictions in the team and other inefficiencies. In essence, the IF Strategy can escalate costs and delay software delivery times while degrading internal quality.

While some familiarity with programming concepts is beneficial, the workshop is designed to be comprehensive. If you're keen to learn, this workshop will provide valuable insights into advanced programming techniques.

Yes, all attendees will receive a digital booklet covering workshop content, sample code, exercises, and further reading recommendations.

Absolutely! The workshop emphasizes practical application, and there will be several exercises throughout the day to reinforce learning.

While the examples might be in a specific language, the principles of Anti-IF programming are universal and can be adapted to most modern programming languages.

We encourage continuous learning! You'll have access to an online forum for one month post-workshop where you can ask questions and interact with fellow attendees and the instructor.