Not currently scheduled for a next session. Please email us to express your interest.
One of the most important roles of senior engineers and architects is to define the boundaries between programs. This must be done thoughtfully, with a firm understanding of what is being abstracted, and foresight of evolving needs.
Unfortunately, these skills are typically learnt the hard way. This course is our attempt to rectify that, providing a tour of program interfaces, patterns and anti-patterns through the lens of a system that participants build themselves in and between classes.
We cover many specific API designs in detail, but the ultimate objective is broader: participants should leave with greater confidence that their own API designs will stand the test of time.
This course assumes 1-2 years of work experience as a software engineer with some exposure to a mix of program interfaces.