Robert Hook

Personal

My personal interests are as varied as my professional ones, and it is these that have bought me to the UK in search of new horizons. I am keenly interested in medieval and renaissance history and culture. This has led me to be studying historical swordplay, being involved in re-enactment, and learning to play early music with a variety of woodwind instruments. I’m a keen woodworker, have tried my hand at constructing reproduction shoes and clothes, and dabbled in swing dancing. You are more likely to find me in a museum or gallery than a football stadium, and even more likely to find me with my nose buried in a book.

Mixed in with more personal rambles, you’ll find technical rambles on my somewhat intermittent blog.

Introduction

I am Australian software engineer with over 24 years experience in a broad range of industries, and with a very broad skill set. My passion is creating robust, high performance software with a desire to create the right solution first time, every time. I am particularly excited by and interested in the problems involved in building complex, high availability, high performance server-side software using J2EE technologies, and love to see that backing interesting and user-friendly Web applications.

Expertise

Technical Skills

Languages
Java, SQL, Javascript, Unix Shell scripting, C, Basic, MUMPS, Pascal, Fortran, Ingres ABF
Frameworks
J2EE, JSF, Struts, Spring, Hibernate
Web
Apache, HTML/XHTML, CSS, JSP, XML, XSLT, XML Schema, XSL, Servlets, Web Services
Application Servers
JBoss, Glassfish, Tomcat, Orion
Operating Systems
HP-UX, Solaris, Linux (RHEL, Ubuntu), MacOS, Windows, MS-DOS, Xenix
Databases
Oracle, Postgres, Ingres, MySql, xBase
Distributed
Java sockets (TCP, UDP), JMS, SOAP, REST, JAX-WS, Axis
Tools
Netbeans, Eclipse, IntelliJ, JBuilder, Xcode, Maven, Ant
Methodologies
Agile, Test Driven Development, Kanban, Waterfall, OOD

Experience

Software Engineer, Transaction Network Services, May 2010 - November 2011

Worked in the Continuous Engineering team to enhance, maintain and support a range of cutting edge and legacy J2EE products for the Payment Industry. The role required sophisticated and rapid problem solving, prioritisation and resolution skills, and a pragmatic approach to providing solutions that satisfy both the end customer and the enterprise, coupled with exceptional Java coding development skills. A significant component of this role was overview and maintenance of software standards for new products, and continuous improvement of the security, reliability and maintainability of legacy systems.

The products in place were all internet facing and oriented around secure communication of transaction data, backed up by strict adherence to and compliance with PCI-DSS. All products were written in Java leveraging the powers of Spring for resource injection and a variety of other modern technologies including JMS, JPA and JAAS. The development environment was Agile, with a very strong emphasis on automated unit, integration and regression testing coupled with a traditional staged release environment. Use was made of Kanban for managing maintenance activity.

Both Eclipse and IntelliJ were used for development, with builds brokered by a mixture of Ant and Maven. All development and maintenance activity was performed against a Subversion repository, and deployed onto system and integration test hosts via a continuous integration environment based around Hudson. In house documentation was written and published via a Confluence CMS instance, and Robert was a significant and avid contributor to this documentation.

During my time at TNS, I participated in PCI-DSS mandated security training, and am well abreast of current issues and solutions related to web-facing systems, and in particular to security, confidentiality and auditing of financial systems.

Successes at TNS include:

Software Engineer, Salmat/HPA, 2003 - May 2010

Responsible for the design and development of products oriented around fast, high-availability, complex J2EE Web Services and Web Applications to support the organisation’s business process outsourcing activity. These products were characterised by the need to support very large data sets and high transaction rates.

The bulk of the products were developed as a set of loosely connected J2EE web services running within a full J2EE environment (JBoss, Tomcat and Orion) and communicating via SOAP. Those services backed by a database used a mixture of Hibernate and JDBC for persistence against Oracle, Postgres and MySql databases. A number of the products made extensive use of XML for data interchange, and XSLT for presentation.

Successes at Salmat/HPA include:

My dedication to quality and robustness, and a marked willingness to work whatever hours were necessary to fulfil corporate objectives and requirements, saw me lauded on several occasions through the national Employee Recognition program.

Database Administrator / Programmer, Qld Police Service, 1998 - 2003

Primarily dedicated to the creation of tools to support very large scale data conversion and cleansing activities. In addition responsible for design and implementation of Database Administration tools and processes, and database design in support of other development activity. I also designed and managed the corporate wide rollout of Ingres II 2.0 to replace a mix of older RDBMS.

Tools were created in a mixture of C, C++, Unix Shell Scripting and Ingres ABF, using XP and other Agile methodologies. The nature of the enterprise led to the overall development methodology being a traditional Waterfall, however through leading small project teams, I was able to begin introducing some aspects of Agile. The tools and processes developed needed to support very large data sets and extremely tight security requirements, and to meet very aggressive performance requirements.

Database Administrator / Programmer, Qld Department of Natural Resources, 1995 - 1998

Responsible for database design and analysis against very large Ingres installations, and creation of tools and procedures for performing maintenance, analysis and data conversion/cleansing against those large data sets. Worked on the IVAS, IVASe and LGIP projects, to design and create a suitable tool set in a mixture of C, C++, Ingres ABF and Unix Shell Scripting.

Senior Analyst/Programmer, Database Administrator, Pine Rivers Shire Council, 1989 - 1995

Responsible for design and maintenance of broad range of local government administration and financial systems, initially using MUMPS, but in later years working in C and Ingres ABF. I was responsible for creating and promoting standards and processes for the use of Ingres within the organisation.

Programmer / Technical Support, Shannon Robertson Systems, 1988 - 1989

Development and support of MS-DOS based small business systems and support systems for the agricultural industry, including debtors/creditors systems, feedlot management products, and stock breeding/stock book programs designed to integrate with the ABRI Breedplan project.

Secondary School Teacher, Mathematics and Science, Qld Department of Education, 1987 - 1987

Having taught secondary Mathematics and Science in a remote outback town, I acquired excellent communication, negotiation and time management skills. I maintain a professional interest in educational and didactic techniques, policies and trends.

Education

References

Available on request, or visit my profile on LinkedIn. Note also that a previous version of this CV provides considerable more detail on some of my past work.

Personal

My personal interests are as varied as my professional ones, and it is these that have bought me to the UK in search of new horizons. I am keenly interested in medieval and renaissance history and culture. This has led me to be studying historical swordplay, being involved in re-enactment, and learning to play early music with a variety of woodwind instruments. I’m a keen woodworker, have tried my hand at constructing reproduction shoes and clothes, and dabbled in swing dancing. You are more likely to find me in a museum or gallery than a football stadium, and even more likely to find me with my nose buried in a book.

Mixed in with more personal rambles, you’ll find technical rambles on my somewhat intermittent blog.