He consults and writes in many areas of Software Engineering and specializes in Object-Oriented Analysis, Design and Programming. He has developed and taught courses on these subjects in Japan, Europe, Canada and the United States. He has contributed articles for C++ User's Journal, Software Development, and Journal of Object-Oriented Programming (JOOP).