Summary

Marty has been a software consultant for a decade in Australia, working for many of the local big corporates. Reputed for his sense of calm in the face of turmoil, you can often see Marty in agile coaching or lead technical roles around town. His background is mostly in Java or Ruby based web applications. More recently, Marty is involved in management roles as well, as he grows Cogent as a director along with Steve, and consults with other companies to help evolve their software development teams.

Consultant & Director, Cogent Consulting.

October 2006 – Present.

nabCapital – Data Warehouse Group. Development Manager

April 2008 – Present.

The Data Warehouse Group at nabCapital began building a new data warehouse using DataStage in mid 2008. I joined the group as a development manager to introduce and drive agile development principles during the delivery process. The data warehousing community has very little familiarity with agile principles, and uses tools that don’t have very good support for automation or testing. As one small part of the processes I put in place, I established a continuous integration build for DataStage jobs, which we believe is the only set up of its kind in the world.

I was also responsible for management of staffing for development during the project. That included hiring and management of permanent staff, as well as liaising with consulting companies for additional staffing support as demand fluctuated.

Sensis – Affiliates and Yellow Pages Online. Developer.

June 2007 – April 2008.

The affiliates project at Sensis was a Ruby on Rails project that took a set of filter criteria and built a randomised advertisement badge for display on an affiliated web site. As a developer on the project, I was responsible for helping to deliver an application that administered the creation of the badges. I also helped around the detailed technical design and implementation for making the badges highly scalable.

As a technical leader on the Yellow Pages Online project, I helped to design and deliver technical solution around enhancing the Yellow Pages site with Web 2.0 functionality. I was heavily involved in design work around adding video support to advertisements, and drove the creation of a Ruby on Rails administration application to allow the sales team to add videos in. I also worked very closely with the operational staff to facilitate deployment of the Ruby on Rails application via Capistrano.

Civica. Authority Web Platform.

October 2006 – May 2007.

Working as a technical lead with Simon, we took a very large existing Java legacy project and applied enterprise design and development principles to it. That included establishment of continuous integration, factoring out batch processing, applying transaction management and building in support for portal-like behaviour in the front end.

Consultant, ThoughtWorks.

March 2003 – October 2006.

National Australia Bank – NABConnect. Technical Lead.

May 2005 – August 2006.

As a technical lead on the NABConnect project in the first phase of the project, I started out designing and developing features for identity management based features in the application. During the second phase, my role changed slightly to take on more leadership of other developers as the team grew. I facilitated retrospectives during this time and drove some technical improvements in the application. One major example of this was migrating the Maven based build to an Ant based build, which gave us significant performance improvements in developer productivity.

As a result of my work in that space, and some ongoing efforts amongst a small group of people to improve things technically, I eventually formed a “Quality and Productivity” team with another member of staff. We drove improvements in a wide range of activities on the project through feedback from the development team and from management on the project.

National Australia Bank – NABConnect Architectural Review. Architect.

February 2005.

I was invited to review the architecture for the Corporate and Business Internet Banking project at the NAB. My unique experience in both wholesale and retail banking at the NAB, along with further experience in the domain and WebSphere suite of products, was used to provide early feedback about one of the largest project to be undertaken at the bank.

As part of an independent panel of reviewers, I provided feedback on the technology, security, infrastructure, layering and the architectural approach used to realise the vision of an enormous project.

ANZ. Technical Lead.

October 2004 – December 2004.

I was the Technical Lead for a J2EE web-based application with aggressive timeframes. The team used modern tools like Hibernate, Spring and WebWork to create a lightweight architecture that facilitated fast turnaround of development. In combination with agile processes, these techniques allowed the team to consistently deliver new features onto a more stable WebSphere server every fortnight whilst maintaining an extremely high level of quality for the code base.

National Australia Bank – IBUK. Build Manager & Technical Lead.

July 2004 – October 2004.

I became involved on the UK Internet Banking project to assist in setting up continuous integration. This was a complex operation involving a large-scale WebSphere project being worked on by a team separated across continents and working on a legacy code base. They were also in the process of migrating from CVS to Clearcase. I was heavily involved in establishing new processes to facilitate this move.

Whilst in the process of achieving this goal, I demonstrated strong technical and leadership skills and eventually moved into a role as joint Technical Lead for the team in Melbourne for the remainder of my time on the project. I also spent some time facilitating process improvement activities for the J2EE room, such as running team meetings for the room to initiate discussions on improving tools and techniques.

Macquarie Bank – Quantum. Technical Lead & Iteration Manager.

March 2003 – May 2004.

I worked as Team Leader and Architect on an agile internet banking project for the Macquarie Bank. The project replaced an existing system as well as providing new business functionality. It was a Java based project, with JSP’s and Struts providing the web interface and connecting to more than half a dozen existing legacy systems via a variety of protocols.

During my time leading the team over more than twelve months, it grew in size from four developers to more than twelve developers. As management structure changes took place in the team to accommodate the growth, I took on the role of Iteration Manager (IM), where I became involved in short term planning and reporting, as well as continuing to manage the development team on a daily basis.

My responsibilities also extended to architectural tasks. I was actively involved in driving the software architecture and legacy system integration in my role as IM. In particular, I was responsible for the performance of the application and drove many improvements to responsiveness and scalability for the team.

Software Engineer, Object Consulting.

February 1998 – February 2003.

National Australia Bank – Middleware Team. Development Lead.

April 2002 – February 2003.

I initiated agile development as part of the middleware systems integration team to produce high-quality software for use in the wholesale banking environment. This team integrated legacy systems to support processing of trades upwards of hundreds of millions of dollars.

My role in the team was to provide architectural direction and build a strong development capability for a group of agile developers. Within a period of nine months this team grew to eight people, including Object staff, NAB staff and contractors. Over that time, they deployed many high-quality software components to production, including many core pieces of infrastructure used by the wider middleware group.

Much of the infrastructure, such as support for XML content-based routing over JMS and real-time process monitoring, was designed and built by me and my team. I also managed the team’s delivery of other software, such as integration with legacy systems via TIBCO or MQ Series.

Object Consulting – Agile Java Training. Trainer.

February 2002.

I extended an existing Java training course to include practices learnt as a result of my work in using Extreme Programming and other agile techniques on development projects. This included teaching fundamentals of test-first design and refactoring, along with creation of continuous builds for the software being built.

Telstra – Capitalise. Technical Lead.

October 2001 – December 2001.

I produced a software component architecture to drive the design of the Capitalise software, which would allow small to medium businesses to visually interpret their call data online via a web-based application, both geographically and by volume. This would be achieved by integrating with third party mapping and graphing software, as well as Telstra’s legacy systems.

This followed on with my role leading a team of developers using Extreme Programming to build the J2EE web-based application on top of WebSphere for Telstra. My influence in using agile development techniques created a highly productive development team.

Ansett Australia – Web Based Customer Services. Developer.

March 2000 – September 2001.

I worked as one of the senior members of a team at Ansett that provided several services to the general public via the Ansett web site (www.ansett.com.au). My role in the team was also to teach the Ansett permanent staff, who were part of the team, how to build large-scale web applications.

Such online applications included redeeming frequent flyer points for bookings, displaying flight schedules and providing members with feedback about current flight information (such as delays) over mediums like email and SMS.

Many Java services were built on this project that wrapped legacy systems and provided an interface via use of an ORB (OrbixWeb). These services were then made available in various forms on the Ansett web site through the creation of Java servlets on iPlanet Web Server.

Monash University.

1995 – 1998.
Bachelor of Computing (Hons).

  • Major in Software Development.
  • Gained first class honours for a thesis entitled “Distributed Garbage Collection in a CORBA Environment”.