The Pomodoro Technique

The Anti-IF® Software Design Course With Francesco Cirillo // Online Learning // Sep 22nd 2018 at 7pm CEST - Test

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.

Alessandro Ruzzon

Learn with Francesco Cirillo — the creator of the Anti-IF Campaign — in this 4 session Online Course.

Learn how to make the construction of your software system effective and enjoyable.

In this Course you will develop real world software features.

Francesco will show you concepts, tools and practices to grow software in an effective way one feature at a time.

Participants will become aware of the process through which a continuous series of small programming decisions - such as the seemingly simple decision to put an IF - can achieve the emergence of effective design structures.

You will re-invent practices such as Refactoring, Testing and TDD to understand how to grow software incrementally, maintaining maximum quality and delivering the highest possible number of functionalities.

Assignments

At the end of each session the trainer will set a series of assignments to be completed for the next session.

Your solutions will be analysed and commented by your trainer and discussed with the other participants at the beginning of the next session.

Why sign up for this course? Read this blog post by Francesco: “The New Anti-IF Software Design Online Course”

About the course

This is an official course taught online by Francesco Cirillo. You will attend four Anti-IF Software Design sessions lasting 3 hours each.

By the end of the course you will be able to:

  • Get rid of bad IFs by learning to grow software in an emergent way - You will be able to distinguish dangerous IFs, those that can cause a system to degenerate into a Code Monster - from physiological IFs. You will also learn how to transform those dangerous IFs in good code in an emergent way by implementing new requirements.
  • See and recognize the flow of design dependencies and be able to organize them in a conscious way without fear and without rushing.
  • Identify effective solutions without running the risk of over design - A dangerous IF can be eliminated in many different ways. Not all of them are able to reduce complexity.
  • Learn to recognize patterns and combinations of patterns in an emergent way instead of imposing them.
  • Grow software incrementally while maintaining maximum quality and delivering the highest possible number of functionalities.
  • Direct your own independent improvement using self-observation techniques.

Why is this course so special?

  • Each course session focuses on different topics and cases. Therefore, even if you have already taken the Workshop, you can take it again and still be able to work on new cases and learn new topics, always with a focus on real-world issues.
  • The course is extremely hands-on, with 70% of it dedicated to Coding and Review Sessions. You will learn by working on the code.
  • The course considers real cases - The exercises are taken from real system code.
  • The course deals with real-world software development issues: from video games to parser development, exception handling, mobile app development, construction of complex sales reports.
  • You will learn new powerful decision making tools that will enable you to identify the next best steps to take, especially when faced with difficult design choices.

Objectives:

  • Participants will become aware of the process through which a continuous series of small programming decisions - such as the seemingly simple decision to put an IF - can achieve the emergence of effective design structures.
  • The objective of the course isn't to follow "this" or "that" particular practice, but to become more aware of why such practices are used in the first place.
  • Another objective of the course is to learn techniques and criteria for self-observation in order to be able to direct your own independent improvement, allowing you to achieve ongoing progress.

Each Anti-IF Software Design session focuses on different topics and cases. Therefore if you have already taken the Course, you can take it again and still be able to work on new cases and learn new topics, always with a focus on real-world issues.

Languages. The Anti-IF Software Design Course is open to OO and functional languages. One of the objectives of the Course is to facilitate contamination. The sharing of diverse perspectives promotes the emergence of creative and effective solutions.

Check out the detailed programme for the Anti-IF Software Design Course.

  • INFO
    REQUEST INFORMATION
  • DETAILED PROGRAMME
  • LENGTH
    4 weekly online sessions (3 hours per session) + 3 weekly assignments
  • WHEN
    Sep 22nd, 29th, Oct 6th, 13th 2018
  • TIME
    7pm - 9pm
    CESTCentral European Summer Time
    1pm - 3pm
    EDTEastern Daylight Time
    10am - 12pm
    PDTPacific Daylight Time
    7pm - 9pm
    CATCentral Africa Time
  • EASY TO ATTEND FROM
    Europe
    America
    Africa
  • WHERE
    Online
  • COURSE SIZE
    Min 4, max 8 people
  • LANGUAGE
    English
  • At the end of this course, when you've submitted your assignments, you will get a Certificate of Attendance.

    Do you want to go a step further along the road to becoming a Certified Anti-IF Software Design Practitioner? Apply for a Certificate of Practice.

Testimonials

Stefano Cappugi

Chief Technical Architect at StaffRoster

I really liked the course and I think that it will truly help me improve the quality of my work.

Alessandro Ruzzon

Hybris Software Engineer at Netconomy Software & Consulting GmbH

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.