Not been updated since 2012

Not currently looking for a job.


Java JSP/Servlets

This is my core skill as I work with the language on a daily basis, primarily in the web domain and have done so professionally since starting at Oyster early in 2000.



Recently completed work on Honda UK's first Groovy/Grails application, we produced a bespoke content management system that will allow our dealers to manage their websites.

I also use groovy as a general purpose scripting language.


SQL/Database design

Database design was one of my favourite topics at University and in fact I considered becoming a DBA. My final year project was on what I mistakenly thought at the time would be the future; Object Oriented Databases.



Spring and Hibernate - At Honda we use both extensively, all but our oldest applications use Hibernate to persist data, and Spring is used everywhere for at least dependency injection, where it has been retrofitted to the older applications, and as the core framework for all green field development.

Struts - My first experience (in 2002) with Struts was on a project where we used it produce the Orange internal content management system. I have since used it for the Intranet/CMS at COI, and while maintaining some of the legacy applications in Honda.



One of the main deliverables of the Intranet project was the production of a Content Management System (CMS). The CMS to allowed an author with no HTML knowledge to publish documents produced in Microsoft Word onto the Intranet. The author has no restrictions and can include images, tables, headings and links at will.

Once the author is finished they press a 'Save to Intranet' button in the Word application, they are prompted to enter some meta data (the publish and un-publish dates, the type of document and the section that the document should be published to etc.). At which point, some VBA code converts the entire document (images and all) into XML and saved it to the Intranet server, in preview mode.

On the Intranet the author can review the document (in its HTML representation), re-open it in Word and make further changes. Once satisfied they submit the document for publishing. The system would check the publish date in the meta data and if appropriate publish the document to the appropriate section.


Source control

At Honda we use Subversion as our source control system. Once I have checked out of subversion, I then use Git locally for my personal branching and merging.

At Oyster we used Visual Sourcesafe, which had the drawback of files only being editable by a single developer at a time, with read only access to everyone else.

In all my other projects I have used CVS which does not have that drawback, but has its own issues (its non atomic commits being the most problematic).



At COI, I have developed the Intranet, which integrates four different systems, into one web application.

One of the most utilised sections off the Intranet allows the users to update their details, the clients they work for, their location, and their immediate manager etcetera.

The data input into this simple interface is then synchronised with eDirectory via LDAP and FJMS (a financial package) via SQL. The site then updates the information to an external cross-governmental contact directory.

The web application then allows users to search for anyone based on any of the criteria held, e.g. the external clients they work for, what room they work in, their manager, or any combination of these.


Design patterns

I first learnt about design patterns by chance when reading over another developers shoulder on the underground, in fact the book he was reading was called "The Pragmatic Programmer" a book I highly recommend.



While at SIEMENS as the only developer with OO experience in my unit, I was tasked with producing the software that integrated every Warner Brothers till in Europe, with our SAP implementation (a £10 million project) - I received 115% in my annual evaluation report as a result of my successful efforts.

© Henock Zewde 2012