Anti-IF Workshop
Live Online with Francesco Cirillo
December 16 - 17 - 18, 2024
Monday to Wednesday
07:30 AM EST - 11:00 PM EST (New York)
01:30 PM CEST - 05:00 PM CEST (Berlin)
04:30 PM GST - 08:00 PM GST (Dubai)
3 Days | 10.5 Hours Total | 3.5 Hours per Day
First 2 New Clients: $240 per participant
Next 3 New Clients: $255 per participant
Standard: $525 per participant
Small Team (2-4 participants): $315 per participant
Medium Team (more than 4 participants): $262.50 per participant
acme-bank.csv Date,Description,Amount,Balance 2024-01-01,Opening Balance,,1000.00 2024-01-03,Coffee Shop,-5.00,995.00 2024-01-05,Salary,2000.00,2995.00 2024-01-10,Groceries,-150.00,2845.00 2024-01-15,Utility Bill,-100.00,2745.00 2024-01-20,Rent,-800.00,1945.00 2024-01-25,Transfer from Savings,500.00,2445.00
pioneer-savings.csv Transaction ID,Date,Account Number,Type,Description,Amount,Currency 1,2024-01-01,12345678,Credit,Opening Balance,1000.00,USD 2,2024-01-03,12345678,Debit,Coffee Shop,-5.00,USD 3,2024-01-05,12345678,Credit,Salary,2000.00,USD 4,2024-01-10,12345678,Debit,Groceries,-150.00,USD 5,2024-01-15,12345678,Debit,Utility Bill,-100.00,USD 6,2024-01-20,12345678,Debit,Rent,-800.00,USD 7,2024-01-25,12345678,Credit,Transfer from Savings,500.00,USD
This workshop will show you how to handle complexities effectively, leading to more adaptable and efficient software design.
Join us to revolutionize your approach to programming and data handling!
Francesco will personally answer your questions, offering detailed explanations and tailored support.
Receive access to the workshop recording for one month, allowing you to review the content at your convenience.
Conducted on Zoom, ensuring easy access from anywhere and effective, interactive participation.
Obtain a certificate at the end of the workshop, validating your participation and the skills acquired. Enroll today to transform your understanding of TDD and elevate your programming skills!
Dive deeper into the concepts taught in our workshop with this detailed guide. Packed with explanations and insights, it's the perfect companion for anyone serious about mastering TDD with the Diamond Kata. (Note: This ebook is sold separately and is not included in the workshop.)
Available from December 16, 2024
Visual learners will appreciate this diagrams-rich ebook that complements the textual explanations with clear, informative visuals. Enhance your understanding of complex concepts through engaging diagrams. (Note: This ebook is sold separately and is not included in the workshop.)
Available from December 16, 2024
Prefer learning at your own pace? Our streaming video course covers similar topics to the workshop but allows you to revisit the content anytime. (Note: Access to this video course is sold separately and is not included in the workshop.)
Available from December 16, 2024
Implement what you've learned by accessing all the source code used in our workshop and courses. Explore, modify, and test the code at your own pace. (Note: GitHub repository access is sold separately and is not included in the workshop.)
Available from December 16, 2024
UNDERSTANDING OBJECTS AND POLYMORPHISM
By using polymorphism, you can avoid multiple if or switch statements and instead rely on overridden methods to achieve the same logic.
USE DESIGN PATTERNS
Design patterns, like State, Strategy, and Command patterns, can help encapsulate variations in behavior, thereby reducing the need for conditional logic.
KEEP METHODS/PURPOSE SMALL
Methods should ideally have a single responsibility. When methods start having multiple responsibilities, it increases the likelihood of numerous if statements.
CONFIGURATION OVER CONDITIONALS
Sometimes, system behavior can be controlled using configurations of objects rather than hard-coded if statements.
USE TABLE-DRIVE METHODS AND LAMBDA FUNCTIONS
Leverage data structures and higher-order functions to streamline decisions, making code more flexible and easier to modify without numerous conditionals.
RULE ENGINES
For very complex decision-making logic, rule engines might be a better fit than having layers of nested if conditions.
REACTIVE PROGRAMMING
Harness the power of data flows and change propagation. Reactive programming allows for dynamic reactions to data changes, reducing the need for explicit conditional flow controls.
Minimize reliance on conditionals, making code clearer and easier to understand.
Master patterns and techniques that result in sturdier and more maintainable software architectures.
Learn to create code structures that are easily adaptable and configurable without rewriting core logic.
Engage in real-world examples and exercises, ensuring you can apply what you've learned immediately.
Gain post-workshop access to resources and an online community for further questions and continuous growth.
If you've ever found yourself saying "it can't be done" in response to a request for change, or if you've reacted with "why didn't they tell us earlier?" If you're a CTO who believes your software is in good health, yet you find yourself asking your clients to limit their requests for new features... perhaps you should have signed up earlier... but maybe there's still time.
No, you will not receive a diploma for merely participating in this workshop. Why? Because you haven't yet demonstrated your ability to transcend the IF Strategy with a more effective approach. We challenge you: send us an article detailing how you eliminated a problematic "if" from your codebase, a move that spared you an entire weekend of additional work. Or better, show us how you built your feature without using the IF Strategy and favored the immediate delivery of an unpredictable change request. Achieve this, and you will ascend to the esteemed rank of Conditional Commander. Join the Ranks.
So far, we have planned 3 editions of the Anti-IF Workshop. The first edition will take place in May, followed by the second in July, and the third in October. Each edition is uniquely designed around a set of challenging software features to be developed. This offers participants a live opportunity to interact with Francesco and immerse themselves in solving real-world software design challenges.
For those unable to attend the live workshops, there's an alternative way to benefit from Francesco's expertise. We offer a digital course option, where you can purchase video courses related to each workshop edition. In these courses, Francesco meticulously demonstrates how he approached and solved each design challenge, providing valuable insights and techniques that you can apply to your own software development projects.
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.
"If your question is about how to write valuable software, this program is for you!! Through one-on-one lessons with Francesco you will learn how to fit the right techniques and tools in the exact phases of the software development cycle. You will fix and apply these ideas in real cases. And, last but not least, in an enjoyable way!"
"What did I like the most? In this workshop the theory part matches up with the practical part. You don't only hear WHAT TO DO but also HOW TO DO IT, and you start practicing it right away in the labs! That's really what the Workshop is about: real-life practice aimed at consolidating theoretical notions. This approach helps in understanding problems"