Profile

An experienced senior software developer with over seven years of experience in designing and developing innovative solutions using Java. Excellent analytical, design and problem solving abilities. Extremely motivated and committed to delivering the highest standard of work.

Key Skills

Java, JEE
7 years
Design Patterns, OOAD, UML
7 years
Data modelling, Relational Database Design
7 years
Persistence techonologies (EJB3, Hibernate, JDBC, JDO, JPA)
7 years
Web frameworks (Spring MVC, Struts, Tapestry)
7 years
Test driven development (Junit, Mockito, EasyMock)
7 years
Spring (AOP, MVC, ORM, Security, Transactions, Web Flow, Web Services)
6 years
Agile, Continuous Integration, Pair Programming, Scrum
6 years

Experience

Senior Java Developer

Financial Times, London, England

March 2011 - Present

Currently Technical Lead for the search team within the Online Technology Group.

Java Developer

Financial Times, London, England

June 2010 - March 2011

The Online Technology Group within the FT are responsible for the development of the ft.com website and a number of internal application to support the editorial team in the production of it.

  • Took over the development of an application responsible for applying metadata to content which was integrated within the CMS (Methode). It was built upon OpenText Content Analytics and developed using Hibernate, JPA, and Spring.
  • Delivered a beta on time, went into production ahead of schedule, and subsequently released on a bi-weekly basis following each sprint.
  • Exposed text mining, dictionary and tagging services via RESTful services to internal consumers.
  • Actively involved in the recruitment of new developers.
  • Technologies: Ant, Anthill Pro, Apache, EasyMock, Eclipse, EJB3, Hibernate, Java, JAXB, JBoss RESTEasy, JEE, Jmeter, JPA, JSP, JSTL, Junit, Jython, Linux, Maven, Methode, Mockito, MySQL, Nstein TME, OpenText OTCA, REST, Servlets, Spring, Spring MVC, SVN, Tomcat, Web Services, XML, XSD, XSL, XStream

Career Break

August 2009 - May 2010

9 months spent travelling around the world

Senior Java Developer

Kokiri Software, London, England

February 2008 - August 2009

Kokiri Software worked with a number of small and start up companies helping them to develop proof of concepts, prototypes and additions to their existing applications.

  • Designed and developed an event search engine that made use of collaborative filtering to suggest events to users. Developed using Spring, JPA, EJB3 and Hibernate Search. Deployed using Amazon Web Services.
  • Re-implemented a socket-based connector to a third party system to be multi threaded and support concurrent requests. This removed a huge bottleneck from the client's application.
  • Involved in the design and development of a video based social network. The middle tier was exposed via RESTful services and included video encoding, social networking and user management.
  • Designed and developed a b2b web application, which integrated with existing systems using web services and was developed with Spring and Hibernate at the core.
  • Developed an adapter layer between the client's back end system and an API they wished to support. The adapter transformed XML requests made to the API and communicated with the back end server via a web service interface with JMS as the transport.
  • Technologies: Acegi, ActiveMQ, Amazon Web Services, Ant, AOP, Continuum, CXF, Eclipse, EJB3, Grinder, Hibernate, Hudson, Java, JEE, JMS, JPA, JSP, JSTL, Junit, Jython, Linux, Lucene, Maven, MySQL, PostgreSQL, Servlets, Spring, SVN, Tomcat, Websphere, Web Services, XML, XSL, XStream

Lead Server Developer

TabXML, London, England

November 2006 - March 2008

TabXML aimed to create a platform on which users could share, collaborate on and combine both structured and unstructured data.

  • Worked with the investor, CEO and CTO to define requirements.
  • Developed a distributed data storage and sharing platform, which was exposed through a RESTful API to a rich AJAX client.
  • Defined the product roadmap and planned releases in conjunction with the CTO.
  • Produced proposals for the direction of the product.
  • Shared responsibility for hiring developers into both the client and server teams.
  • Developed a web-based client to the platform using Spring MVC, JSP and JSTL.
  • Mentor to junior developers whom I trained in all relevant technologies.
  • Agile environment with test driven development, continuous integration and paired programming.
  • Technologies: Acegi, Continuum, Eclipse, Hibernate, Java, JDBC, JEE, JGroups, JMS, JSP, JSTL, Junit, Linux, Lucene, Maven, PostgreSQL, Servlets, Spring, SVN, Tomcat, Trac, Velocity, Web Services

Java Analyst Programmer

Student Loans Company, Glasgow, Scotland

October 2005 - November 2006

The Student Loans Company develops a number of public and b2b applications in house for students to apply for loans and for the administration of loans.

  • Responsible for the design, development and unit testing of both public and internal JEE applications.
  • Involved in full project life cycle of a new b2b portal application.
  • Developed an internationalised Tapestry application for students to apply for loans.
  • Provided introductory training sessions for new team members on a wide range of technologies.
  • Agile environment with test driven development and continuous integration.
  • Technologies: Cruise Control, Eclipse, Hibernate, Java, JDBC, JEE, JMS, JSP, JSTL, Junit, Maven, OC4J, Oracle, Servlets, Source Safe, Spring, Tapestry, Test Director, Web Services, XFire

Java Developer

IntroNet, Edinburgh, Scotland

October 2004 - October 2005

IntroNet developed recruitment software for clients such as IBM and LogicaCMG.

  • Principal developer on a number of projects including the development of a new internationalised recruitment portal which was used worldwide by IBM.
  • Introduced several new technologies such as Hibernate, Lucene and Spring to provide customisations to the company's white label solution.
  • Provided training to other developers on several technologies including Struts, Spring and JUnit.
  • Technologies: Ant, Bugzilla, Eclipse, CVS, EJB, Hibernate, Java, JBoss, JEE, JMS, JSP, JSTL, Junit, Linux, Lucene, Servlets, SiteMesh, Spring, Struts, SQL Server, Together, Velocity

Java Developer

Jario, Glasgow, Scotland

June 2004 - October 2004
  • Developed several new features for the company's document tracking product.
  • Technologies: Ant, Axis, CVS, Java, JBuilder, JDO, JEE, JSP, JSTL, Junit, MySQL, Servlets, Spring, Struts, Together, Tomcat

Java Developer

Jario, Glasgow, Scotland

June 2003 - October 2003
  • Designed and implemented a web based application for administering the company's document tracking product.
  • Technologies: Ant, CVS, Java, JBuilder, JDO, JEE, JSP, JSTL, Junit, MySQL, Servlets, Struts, Together, Tomcat

Qualifications

BSc in Computer Science with First Class Honours

University of Strathclyde

June 2004

Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4

Sun Microsystems

Sun Certified Developer for the Java 2 Platform

Sun Microsystems