Andrei Sorin lives in Toronto, Canada, where he has been working as an independent consultant in software development, support, and research for nearly forty years. He received a B.Sc. in Electrical Engineering (1970) and an M.Sc. in Computer Science (1971) from the Technion, Israel Institute of Technology, and a Ph.D. in Computer Science (1975) from the Imperial College, University of London, U.K. He has developed many types of software, from programming tools to business systems. His research interests include application development and maintenance concepts and the philosophy of software.