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 antipatterns through a series of case studies and exercises.
We cover many specific API designs in detail, but the ultimate objective is broader: students 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.
This course is next scheduled to run Tuesdays and Fridays 6pm-9pm and Sundays 2pm-5pm for three weeks starting Tuesday, 7 March 2017. The total price is $1,800.