Programming with Francesco

A Live Coding Experience

Join Francesco's live coding sessions to master real-world programming techniques, enhance problem-solving skills, and apply advanced design principles through interactive demonstrations.


Half-Day Session

$100/hour (3.5 hours total)

3.5-hour session: $350 total, to be used within 30 days of purchase - live online stream.

Buy Session

Intensive 30-Day Package

$95/hour (14 hours total)

Four 3.5-hour sessions: $1,330 total, to be used within 30 days of purchase - live online stream.

Buy Package

Power-Pack 30-Day Package

$90/hour (28 hours total)

Eight 3.5-hour sessions: $2,520 total, to be used within 30 days of purchase - live online stream.

Buy Package

Real Projects, Real Skills, Live Sessions!


"But on a real project, how do you program software without relying on the IF-Strategy?"

"Programming with Francesco" offers a unique opportunity to watch and learn as Francesco works on real projects. This includes projects for his courses, like the Counter or Alien Invaders, and features for his company's projects, such as blog functionality, shopping cart, and accounting system.

This observational format provides deep insights into decision-making processes and programming strategies in live scenarios, giving participants valuable knowledge and skills.

What to Expect

  • Feature Introduction: Francesco introduces a new feature to be developed in each session.
  • Live Coding Sessions: Watch Francesco live as he works on coding projects, including writing collaboration diagrams, developing tests, and applying design principles and patterns.
  • Architectural Evolution: For each feature developed, Francesco presents the resulting architecture in a purely evolutionary design style.
  • Interactive Q&A: Participants have the opportunity to ask questions and interact during the live coding sessions.
  • Design Practice Application: See firsthand how effective software design practices eliminate the need for IF statements and the IF strategy.


Real-Time Insights

Gain effective problem-solving and decision-making skills in software development.

Practical Learning

Understand how to apply programming principles in real-world scenarios.

Technical Debt Management

Learn strategies to manage and reduce technical debt, and even how to avoid it altogether.

Complex System Management

Acquire knowledge on managing complex systems.

Engaging Experience

Engage with Francesco through live questions and interactive discussions.

Request Info

To learn more and register for "Programming with Francesco," please contact us. Spaces are limited to ensure a highly interactive environment.



Francesco Cirillo

Francesco’s journey in software spans over 30 years, influencing startups, corporates, and individual consultants.

A seasoned mentor, he has impacted countless professionals and teams. From his early days with Sun Microsystems to pioneering Agile Methods and creating XPLabs, Francesco's mark on the software industry is profound.

Notably, he's the creator of the groundbreaking Pomodoro Technique, a time management method embraced worldwide, as well as the visionary behind the Anti-IF Programming philosophy, challenging conventional coding practices.


Junaid Mohammed Raza

" We embarked on an enriching journey with an Electron Project written in Typescript. There were lots of preparation for this project. Our preparation spanned a spectrum of essential areas: delving into the intricacies of the JavaScript Object Model, establishing effective inter-process communication, navigating through different programming paradigms and their identification, how to seamlessly integrate into a framework that now bends to our control. This was facilitated by lots of refactoring and thoughtful design.
Focus management skills came to the forefront, learning how to to sift through non-essential elements in a professional context and instead concentrate on one’s objectives, thereby fostering expertise. This voyage also deepened my comprehension of technical debt, a lesson that will undoubtedly endure. I’ll try to write more in time to come. Working with, being coached and mentored by and being led by Francesco throughout this journey has been nothing short of incredible! "

Join the Mentorship Experience

Are you prepared to evolve your coding practices and dive deep into the world of Anti-IF programming?
Here's your chance to learn directly from its founder.

The Story Behind This Program

"Programming with Francesco" isn't just another mentoring program. It's a culmination of years of experience, insight, and passion. Join Francesco, delve into your projects, and experience a programming transformation that goes beyond code.

Francesco Cirillo

"Recently, I've mentored several teams and it always played out the same way: they diligently applied mainstream processes, tools, and practices - Agile, Jira, Continuous Delivery, you name it - yet deadlines kept slipping and 'never-ending user stories' became the norm. Even worse, the blame game was in full swing: the product team pointed fingers at the tech team, the tech team retaliated, and the management team blamed everyone.

It wasn't about the tools or processes they were using. It was the hidden monster - software complexity. Everyone overlooked the task of reducing the complexity of both the software system and the product's value system. As complexity spiraled, confusion and frustration set in among the product and software developers, leading to delusions: "Do we already have this feature?" the Product Developers would ask. "Our software is fine, change is our only problem," the developers would insist. All the while, the beast of complexity grew as they were mired in their Jira to-do lists, pointless remote meetings, and 'clean' silos driven code duplications.

They were so embroiled in the day-to-day grind that they lost sight of the big picture: dealing with change and fostering growth of their software and product value structure by curbing its complexity.

This was the spark for my programme. The goal for your team shouldn't be just to latch onto every new process, practice, or tool. It should be about continually reducing the complexity of your software system. And to achieve that, your team needs a self-tailored blend of process, tools, and practices that work for them, not just by the book. By doing this, you can adapt to changes and let your software grow sustainably, without fear, stress, waste, or delusions. And that is the beating heart behind my programme."


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.