I have 15+ years of experience in the IT industry in a variety of roles across the SDLC. I have worked as a software engineer, solution architect, business consultant, project manager, academic, CTO, technology consultant, and IT Director.

I have strong skills in developing IT strategy, building and managing strong well-balanced teams, managing complex projects (plan-schedule-execute), managing budgets/project finances and working with people across organisational units. I also have experience in agile methodologies, managing outsourced projects (including projects with teams across multiple countries). For my PhD. degree I developed new methods to help improve software maintenance and evolution practices.

Over the last 7 years (2003 - 2010), I have had a fairly unorthodox career. I have been an academic at Swinburne University of Technology with a focus on teaching, research and consulting. I also worked on a range of commercial projects with varying time commitments. This was possible because academia offers an immense degree of flexibility.

Listed below is my experience in Industry Projects,Teaching, and Open Source Projects.

Printable format of the bio -- Resume (PDF)

Industry Experience

Director, Technology and Strategy at Thought Green [Current / part-time]

In this role, I develop and/or review solution architecture. The core responsibility is to ensure that the set the technologies and tools selected match the projects constraints and can be delivered within the resource and budget available. The project portfolio is very diverse but the focus is on medium-large scale software systems (in terms of user volume).

Software Architect/Management Consultant at Thomson Reuters [2008-2009]

I continued as a consultant at Thomson Reuters after the acquisition of cvMail (where I was the IT Director). In this role I collaborated in the development of the short-term and long-term technology strategy, provided advise on software architecture, project management, and hiring of new staff. I also lead the technology review of another division within the organisation and developed a short-term roadmap. Another key contribution during my time was the development of the business case, high-level requirements, interaction model and the solution architecture for the next generation product line (development was in .NET)

Director, IT at cvMail [2006 - 2008]

I started work with cvMail as a technology consultant, moving on to help in solution architecture and eventually joined them as their IT Director. The key accomplishments in this role were (i) successful merger with Thomson Reuters, (ii) leading the development of the next generation of the flag-ship product line, (iii) Reorganised the software development methods around agile practices, (iv) Improved the product operations and support practices by automating routine tasks and introduced metrics for tracking and improving the processes, and (v) Helped refocus a project that was outsourced.

Technology Consultant at Cambridge Technology Enterprises [2008 / short-term contract]

I helped improve the solution architecture (focus was on performance and user interaction consistency). I also work with the development manager assisting in refining the software development methods used in the construction of a large J2EE based web application. The new development model introduced a number of agile practices.

I was responsible for general contract negotiations, staffing, and IT budget and staffing in this role. I was assisted by full-time development manager and technical leads allowing me to work part-time.

Founder and CTO at Thinking Objects [2002 - 2004]

Apart from the standard technical role (strategy, development, and architecture) I was also responsible for some aspects of running the business including negotiating business deals, working with lawyers to finalise the contracts and managing project financials. I sold the company in late 2004 to focus on pursuing a PhD.

Senior Business Consultant for United Nations (Shanghai) [2002 /short-term contract]

I provided management consulting and training for staff in local governments. The project was funded by United Nations Education program and involved working with people from a number of different cities in China.

Senior Business Consultant (Asia-Pacific) at WebGain Inc. [2000 - 2002]

The primary focus of my role was to help clients make effective use of ORM (TopLink Object Relational Mapping Toolkit) and J2EE Development tools from Webgain. I was based in US and traveled into many countries (Canada, Japan, Singapore, Malaysia) working with the sales team during the final negotiations and collaborated on developing the client-specific training programs. I also helped the clients define/refine the workflow of the developers to ensure the new tools were used effectively. A secondary aspect in this role was to provide regular feedback from clients to the product managers and software architects to tune the features in pipeline for next release.

I had line-management and budget responsibilities in this role.

Senior Software Engineer at Amcor [1999 - 2000]

The project involved building a J2EE based web application that allowed clients to design and place a work order for packages (e.g. corrugated boxes, food containers and cans) that Amcor produced.

This project involved developing a solution that involved:

  • Building algorithms that determined the least amount of raw material to build a package,
  • Identifying strategies and then developing software to determine the most efficient way to ship the packages, and
  • Finding simple, yet effective test strategies to verify correctness of the solution.

Lead Designer/Developer - Sorento Communications Australia [1999]

The designed and developed one of the first push-technology clients (early-generation RSS feed readers) in Australia.

Software Engineer/Lead Developer at Telstra [1999 - 1999]

I worked on two key projects. The first one was a B2B e-Commerce solution, the second was Telstra Message Bank.

Software Engineer at IBM Australia [ 1995-1996]

I worked on software that monitored and controlled the PC and Server manufacturing processes. I developed a natural language query interface for the reporting engine -- this system allowed managers to obtain much more information about the current status of the process without learning SQL.

Teaching Experience

I have a wide-range of experience and have been instrumental in creating and delivering a range of subjects in my role as an academic at Swinburne University of Technology. Many of the units were developed to be part of the post-graduate program. As can be seen from the list below, my key skill is in developing new subjects.

  1. Intelligent Agents* [Developed in 2002]
  2. Operating Systems* [Developed in 2003]
  3. Project Management [Collaborated to develop 50% of the material in 2003]
  4. IT in the Business Context [Collaborated to develop 30% of the material in 2003]
  5. XML Technologies* [Developed in 2003]
  6. Agile Development Project* [Developed in 2005]
  7. Network Computing* [Developed in 2006]
  8. Computer Logic Essentials* [Developed in 2007]
  9. Software Development Practices* [Developed in 2007]
  10. Software Deployment and Evolution* [Developed in 2009]
  11. Software Development Project* [Developed in 2009]
  12. Software Development for Mobile Devices* [Developed in 2011]
  13. Business Modelling with UML* (Short course)
  14. Software Systems Modelling with UML* (Short course)
  15. Testing Object-Oriented Software Systems* (Short Course)
  16. Developing J2EE Software Systems* (Short Course)
  17. Software Project Practices and Management
  18. Data Structures and Algorithms
  19. Software Development in Java
  20. Programming in Java
  21. Programming in C#
  22. Data Communications
  23. Formal Methods (with Z Notation)
  24. Software Engineering
  25. Object-Oriented Programming with C++

10 of the above subjects (marked with a star) were new units that I fully developed. The other units were extensions on top of material developed by my colleagues to reflect my teaching style.

University Administration

  • Deputy Program Coordinator (Master of IT program)
  • Industry Advisory Board - Computer Science and Software Engineering
  • Overseas Student Recruitment and Marketing
  • Member of Academic Board (elected for 2 years starting in 2010)
  • CSSE representative in the Teaching and Learning Committee (2007 and 2008)
  • Faculty Progress Review Panel Member
  • Bachelor of Science (PSD) Panel Member
  • Faculty Representative at the International Student Support Network

Open Source Projects

I have initiated/contributed on a number of open-source projects over the years. The following are some of the more interesting ones:

  • Mutations - Java Software Evolution Analyzer (Current)
  • JSeat - Java Software Evolution Analysis Toolkit (2008)
  • cyVis - Cyclomatic Complexity Visualizer (2004)
  • JMetric - Java Metric Analyzer (1999 - 2001)
  • GMetric - Graphical Metric Extractor for .NET (2005 -- discontinued)

In early 2000s I made some contributions to the Linux project and Mozilla browser as an over enthusiastic tester.