He graduated at University of Melbourne in 1983 with Bachelor of Science and Bachelor of Commerce degrees. He received his PhD degree from Swinburne University of Technology in 2007. Prior to being a researcher, he spent over 2 decades working in the software industry. He designed and developed software systems for central banks, commercial banks, stockbrokers, telecoms, software houses and many companies. His research interests are software architecture design reasoning, software development processes, software architecture and knowledge engineering.