Keith has spent his life working in the Information Technology field. During his career he has witnessed the shift from mainframes to client-server in the 80’s, the adoption of relational databases in the late 80’s and the evolution of the internet into what it is today in the 90’s. His initial training was acquired while he was studying for his B.A.SC. and M.Eng. degrees from the University of Toronto. He subsequently worked in industry from the mid 1980’s through to 2000. During this time he held a number of roles including working as an independent consultant, as an employee in industry and as an employee in consulting firms. His clients included Microsoft, Goldman Sachs, Bank of America, various Federal and Provincial governments, American General Life Insurance, Tribune Media Services, Motorola and Canadian Airlines.
In 2000 Keith returned to school at the University of British Columbia where he completed a Ph.D. in Interdisciplinary Studies. His topic spanned the fields of Software Engineering and Information Systems and was completed in 2006. Since graduating with his Ph.D. Keith has divided his time between teaching at the university undergraduate and graduate level, resuming his consulting career, working for small and medium sized firms at the C-level (CTO, CIO and CISO) and representing Canada on the ISO working group developing standards for Systems and Software Engineering process standards.
The bulk of his current practice deals with software development process standards and with information security.