Personal Details

Professional Profile

  • Highly motivated, proactive individual with excellent research ability and technical proficiency. Particularly suited to many research, design and development roles in dynamic, growing companies that require:

    • A senior software engineer with an experienced and thorough development style, practiced in continuous integration and test driven development.
    • A detailed understanding of the Software Development Lifecycle process, both formal and agile.
    • The ability to manage individual and team-based projects and deliver on time.

    In past employment I have exhibited a dedicated and hard-working approach to work, demonstrated an ability to both lead and listen where necessary. I regard myself as personable and social and can easily adapt to most working conditions.

Technical Skills

  • Very experienced
    Mobile Development
    • 3 years operating as an iOS/Android developer and consultant, working on 13 different apps during that time.
    • Lead iOS developer for Hunted Media
    • Detailed knowledge of the the iOS frameworks, in particular AVFoundation and Core Graphics.
    • In-depth knowledge of device programming and server development required for push notifications.
    • Organizer of the CocoaHeads Meetup (Mac + iOS developers) for the last 2 years in Brisbane (over 100 members). Presented at the meetup a number of times.
  • Very experienced
    Java Development
    • Over eight years developing server-side applications using Tomcat, JBoss, Spring and Hibernate.
    • Experience at each tier - database integration, business logic creation, and development of APIs and user interfaces.
    • Test-driven development style using JUnit, DBUnit with JMock or Mockito.
    • Integrated with various DB vendors - Sybase, MySQL and Intersystems Cache
    • Worked with a number of different IDEs - Eclipse and Netbeans
  • Moderate experience
    Web Development
    • Moderate knowledge of HTML5 , Javascript and CSS3 technologies.
    • Experience with PHP development and CMS technology (Wordpress, Joomla).
    • Server experience - apache configuration, Linux administration and scripting (Debian/Ubuntu).
  • Moderate experience
    Project Management Tools
    • Knowledge of a number of source control systems - Subversion, Git, CVS and Clearcase
    • Experience with build and testing tools such as ANT, Maven, JUnit and Selenium
    • Administered Release Management tools - Hudson and AntHill Pro.
    • Used a number of Project Tracking tools - JIRA, Redmine and Bugzilla.
  • Moderate experience
    Cloud Technology Knowledge in the following cloud based technologies:
    • Amazon EC2 + Rackspace
    • Content Delivery Networks like Amazon S3/Cloudfront
    • Music apis - EchoNest, Rovi, emusic
    • SMS Gateway solutions - Twilio, Clickatell and Textopoly

Work Experience

  • August 2011 - Current

    Lead Developer

    Hunted Media, Brisbane, Australia - Full Time


    Hunted Media is the developer of highly popular music charting and discovery site, wearehunted.com. The site also has a companion products in its android, and spotify apps. While not working on the site, Hunted Media consults for a number of other companies.

    Working as a developer for Hunted Media, I have had the opportunity to work on a number of exciting and innovative projects.

    iOS

    • Hunted Radio - a music streaming based subscription app. This app also incorporated In-App Purchase subscriptions.
    • emusic Scenes - an interactive magazine for iPad with streaming radio.
    I also support and maintain the Hunted apps, Music Hunter and Pocket Hipster, and am currently working on an as yet unreleased universal iOS app for a client.

    Android

    • WeAreHunted Android - highly rated music app for android, streaming audio and integration with wearehunted.com
    • emusic Android - discovery and recommendation features, radio, store front with purchasing.

    Server

    • emusic Recommendation Service - built using Java, Mahout and Python. Using user purchase history and similarity techniques in Mahout to create user and album recommendations.
    • Analytics Service - Python, Kafka, Redis. Highly performant on minimal hardware.

  • Oct 2009 - July 2011

    Lead Developer and Chief Technology Officer

    messmo, Brisbane, Australia - Full Time


    messmo is predominantly a mobile development company with both customer and business facing product offerings. More details on messmo.com

    While operating as a software developer my technical achievements at messmo included:

    • Implementing server-side features and fixes (Java, Spring, MySQL). This would entail planning, tracking, test development and deployment of features and bugfixes.
    • Managing a team of four to deliver new features and fixes
    • Implementing dedicated message queuing technology to handle spikes in load and inter-service communication(Java, Spring, RabbitMQ).
    • Contracting to two external companies to advise on their mobile solutions. (Web-based and native iOS/Android).
    • Developing and publishing five iPhone and Android applications for messmo clients.

    When promoted to CTO I was still involved in development activities but my role became more company focussed. The level of responsibility I was afforded significantly increased. The following were some of the responsibilities:

    • Technical point of contact for messmo. This resulted in frequent technical conversations with new and existing clients from Australia, the US and UK.
    • Responsible for the design, development and delivery of a new product - pN. (www.messmo.com/pn)
    • Conducting the hiring process which resulted in the employment of two new local developers (Senior-level and Graduate-level), and two remote developers. Conducted over 30 phone interviews, and numerous face-to-face interviews.
    • Completing two AusIndustry Research and Development tax concession submissions for two product lines, resulting in significant savings for the company (15 cents on the dollar).
    • Migrating all non-essential services from dedicated hosting to cloud based hosting with a saving of 20K per annum.

  • Jan 2009 - Jul 2009

    Senior Configuration Management Engineer

    Bravura Solutions, Auckland, New Zealand - Contract


    Bravura Solutions is a leading global supplier of superannuation and pension, life insurance, investment and portfolio administration software. Bravura NZ, lead developers for Talisman and Sonata software solutions, predominately developed using Sybase Powerbuilder and Java.

    While at Bravura, I worked on the following projects:

    • Creating an automated build and release process for the developers. Even at an early stage, developers benefitted from the faster and more regular builds, turning over bugfixes in days instead of weeks. This was created using Ant, Groovy and Beanshell.
    • Migrating legacy source code from Microsoft Source Safe to Subversion. The move saved to company money, introduced more robust versioning and enabled near real time replication of the source code to a series of global sites. Co-existence between the Source Safe and Subversion was also required and delivered.
    • Contributed to the SQLB open source project spearheaded by Bravura, a JPA compliant ORM technology written in Java.

  • July 2005 - April 2008

    Senior Software Engineer

    Nortel, Galway, Ireland - Full Time


    Nortel Galway is solely responsible for the development of Nortel Contact Centre, a leading edge call centre enterprise solution that is globally recognised. I was involved with the design, implementation and testing for several major Contact Centre components for both existing and new releases.

    Having had previous experience working with Java, I was exposed to the cutting edge research and development of new components. These included:

    • Developer on a contact management framework, written in Java, that modeled the inner workings of call centre hardware; this allowed for the introduction of mixed media call centers (video, VOIP, email), freed customers from proprietary hardware and allowed them to extend their contact centre technology to the Web (SaaS).
    • Technical advisor and developer on a graphical tool, built using the RCP infrastructure in Eclipse, that enabled customers to create business workflows for their contact centre. This included a tool to roundtrip between the existing proprietary scripting language and the new visual format. This was made possible using XSLT and ANTLR.
    • Technical lead and lead developer on a complete overhaul of the Data Access Layer, that replaced SQL stored procedures, C and C++ components with a Java Data Access Layer using Hibernate and Spring.

    My other responsibilities included:

    • Research of new beneficial and appropriate technologies. I introduced the use of Spring and Hibernate to Nortel Galway, as well as RCP for tool creation.
    • Providing comprehensive documentation of all components I was involved with.
    • Mentoring to a number of graduate and mid-level developers, imparting my knowledge of software architecture and development.
    • Operating as the lab prime for my group’s sizable software testing area, totaling 30+ servers.
    • Inter-team contact for integration with other groups.

  • Sept 2002 - June 2005

    Teaching Assistant

    University of Limerick, Ireland - Part Time


    Assisted in teaching three different subjects to third and fourth year Computer Systems students. These subjects included:

    • Computer Graphics - Java/Swing/Gui Design/Java2D/Java3D/XML
    • Software Architecture - Java/OO Programming/Design Patterns/CORBA
    • Document Architecture - Javascript/XML/HTML/CSS

    I prepared and presented tutorials to students, corrected exam papers and also assisted them with their practical work.

Education

  • 2002 - 2005

    M.Sc Degree in Computer Science, University of Limerick

    Completed a research masters degree in the field of Software Architecture. I was part of a Science Foundation of Ireland funded group, B4Step, whose goal is to bridge the gap between 'Theory and Industry'. As part of my studies, I was the sole developer of a software visualisation tool that presented users with 3D visualisations of their OO software systems. This was implemented in Java.

  • 1998 - 2002

    B.Sc Degree in Computer Systems, University of Limerick

    Graduated from Computer Systems with a 2.1 Second Class Honours BSc degree (~5.9 GPA in Australia). The course has received an Institution of Engineers of Ireland (IEI) certification.

Other Experience

  • Independent iPhone App Developer

    My app, TimeSlider (www.timesliderapp.com), rated in the Top 100 Free Utilities.

  • Organizer of CocoaHeads Meetup Brisbane

    For the last 2 years I have organized the Brisbane CocoaHeads Meetup (iOS and Mac dev, http://www.meetup.com/CocoaHeads/). I have given a number of presentations including

    • cocos2d for iOS
    • Blocks in Objective-C
    • Open Source Libraries/Modules for iOS.
    • Push notifications for iOS. (a practical demonstration of how to get up and running with push notifications).
    • Web Apps for the iPhone. (a state of the art discussion on web frameworks for mobile development).
  • Sun Certified Java Programmer

    Received SCJP accreditation for J2SE 5.0 in 2008.

  • Training Courses

    During my career I have completed training courses in the following:

    • J2EE with EJB
    • Spring and Hibernate
    • Advanced Java Development
    • Intermediate Linux Usage
    • Intersystems Cache Database Development
  • Published Author

    Main contributor to the following published paper:
    Eoin McCarthy and Chris Exton, THORR: A Focus + Context Method for Visualising Large Software Systems.

  • Personal Improvement

    I am an avid follower of current technological trends and stay up to date using various programming blogs, forums, and my active subscriptions to Safari Bookshelf, the Apple iPhone Developer program and the Android Developer program.

REFERENCES

  • Available upon request.

Print CV Download CV