Software Engineer
Francesco has changed the way I work, and more.
Struggling to fully understand the value of design principles or development processes? Uncertain about how to effectively apply a practice that the team expects you to master at work? Do you want to learn software design in the best possible way?
The participants of our Software Design Explained Seminars will learn how to apply design principles, practices, patterns and processes and why or when to choose them.
Francesco will not only explain the most relevant design topics, he will also share with you his way of using them. You will develop awareness about software design, and you will be instantly able to enhance your software development productivity.
By the end of each of our seminars, you'll be more aware of your software design skills. You'll be able to apply a design practice, to choose among similar design patterns and to understand the real meaning of a process. You'll always be stimulated to see design principles and practices from a different perspective and increase your awareness.
Year 2020:
In this series of live online seminars on Software Design topics, Francesco will share his thirty-plus years of experience with you.
The aim of these seminars is to develop your software design skills.
In this series of seminars Francesco will share everything he has learned in years of software development, mentoring and consulting. Not only will you have an explanation of what they are and how to apply design concepts and practices, but also how they were born and why to use them.
Having all this at your disposal, who want to learn and improve has the opportunity to train and develop their software design skills in a flexible and adaptable way.
Software design is fascinating, it's about how our mind handles complexity.
Software design - and its principles and practices - has evolved over time. Software design was initially born to manage the complexity of algorithms. Over time it has been applied to deal with the complexity of application domain. It has evolved to manage requirement change. Software design techniques will continue to change and adapt to new contexts and new challenges.
In order to favour the adaptability of our software design conceptual tools, this series of seminars constantly proposes to look at design principles, practices, patterns and processes from different perspectives. You will learn to extract the sense of those software design tools and techniques so that you can master their application and adapt them when necessary.
The seminars will mainly focus on two different topics:
1. How to develop awareness in order to make effective design decisions.
Often developers are in doubt about design decisions. In our seminars Francesco will present his point of view about design techniques and tools and about how he makes choices among alternative design solutions.
You will learn how to make effective design decisions even under stressful conditions. You'll learn how to manage change and growth without applying dangerous IFs. It will become easy for you to choose between design patterns. You will learn how to grow software by injecting new objects and when needed, combinations of design patterns.
2. Understanding the essence of software design principles and practices
Often developers have doubts about what it means to be Agile or about the effectiveness of practices such as TDD and emergent design or about how to write User Stories.
These doubts are justified. Too many books and articles have given a structural description of these practices without communicating their meaning.
In some seminars, Francesco will expose the essence of principles and practices. How and why they were born. The meaning they have for him.
Once the meaning of a principle or the essence of a practice will be clear to you, it will be easy to apply them effectively and consistently. It will also be easy to adapt them to make the development of your software more effective.
Here’s some of the seminars which are part of this series
Ideal for newbies and experienced developers, who often think that after so many years of development they do not need improvements, without realizing that they carry with them vices and rigidity that often compromise the effectiveness of their design solutions.
Francesco has worked at the forefront of the software industry for more than 30 years.
In a career spanning startups, corporations and freelance consulting, he has mentored thousands of professionals, developers, managers and software teams.
In the 1990s he worked as a Senior Consultant and Mentor for Sun Microsystem, expert in Software Architectures and Software Development Processes and Java and Object-Oriented Evangelist.
Francesco is one of the pioneers of agile methods. He started working on XP and TDD in 1999. He was chosen by Kent Beck as reviewer of the second edition of the book Extreme Programming Explained.
He created the Anti IF Campaign in 2007 to raise awareness in the international community of developers to apply good design principles.
He has been running the Software Design School since 2019.
Francesco created the Pomodoro® Technique, a renowned time-management tool used by millions of people all over the world, while a university student looking for a way to get more done in less time.
Software Engineer
Francesco has changed the way I work, and more.
Senior software developer (Contractor) at Nutralete
Since attending this program with Francesco Cirillo, and learning his approach to software design, I have realized that my previous understanding of the topic was not as effective as I once thought. By understanding his approach, I have been able to significantly improve my own software design, benefiting both my team and myself. Despite the fact that my course was focused solely on software design, it has helped me become an all-around better software developer.
Agile Coach at inspearit Italy
Having experienced Francesco’s work and methodology in the past, I wanted to study with him again and try his mentoring program. Amazingly, I was able to regain immediate momentum, motivation, and obtain astonishing results, even though working remotely. This was also due in part to the organization of the sessions, which were always efficient and productive. One of the best investments I have ever made in myself. Thank you!
Software Developer at i-data.tek
Being mentored by Francesco wasn’t just your average course, following a pre-designed program involving lessons, topics, and tests which leave you with a lot of ideas but no concrete method to apply them in your daily work. Instead it was like a journey, beginning with my strengths and weaknesses, and following my actual needs in order to find my own path to becoming a better developer. In this course, Francesco guides you along the way gently; giving advice, and warning you of possible roadblocks you may encounter, while at the same time letting you explore on your own. This made the lesson much more difficult than your standard course, as it relied mainly on my own efforts and abilities, but the outcome was definitely much more productive and worthwhile than anything else I have yet experienced.
Software Engineer, Oracle
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!
MORE RECOMMENDATIONS FOR YOU