Over the years Adam has worked on a large number of projects in various areas of the software industry. Only a few of these are included in the CV, so this page gives more detail on the projects Adam has worked on over the years.
The projects range from small, one man chunks of work to large enterprise redevelopment programmes, involving many developers and user groups. In most cases the work has included more than just raw code development, usually the work has covered the full software lifecycle, from initial requirements discussions, through to in-life support and occasionally even decommissioning.
Adam worked for Hansard as a senior software engineer between 2007 and 2017. This role all aspects of software development on a number of core projects and applications, used by both internal teams and client/customer groups.
Adam's projects at Hansard were mainly online applications based on Java, Spring, Hibernate and various Apache libraries, on Tomcat and Glassfish, using Oracle databases. These projects included:
Online card payment system: Adam was lead application developer on this project to provide clients and brokers with facilities to make online card payments and track the history of those payments. Adam was involved in the full lifecycle of the project, from early requirements meetings to supporting and improving the live system.
This system replaced manual handling of a range of payments that clients and brokers made via post, fax and phone. Within a year of the system going live it was being used for over 80% of these transactions. At the same time the system provided new and enhanced reports on the payment processes allowing all authorized users to see transactions in progress as well as transaction histories.
The success of this project led to a number of follow-up phases to increase the number of transaction types that could be handled online, improve the financial information provided to various user groups and also increase the security and regulatory compliance thresholds across the company.
Fund information and reporting: Adam was lead developer on this project, an online application providing interactive charting and searchable fund information. This was a core part of Hansard's online presence, providing all the available information on investment funds, with facilities to generate speculative portfolios, produce fund brochures and construct investment reports for existing portfolios.
The app integrated internal and 3rd party sources, presenting their data in various formats (charts, online views, PDF/Excel downloads), in 12 languages, across multiple device types and website themes. A key feature was the ability to generate customised reports and fund views, allowing broker and advisors to construct personal portfolios and create financial reports for each of their clients.
The application was widely praised by brokers and clients from its initial release. An early beta test user found the reporting features could generate investment brochures for their full client list in a few hours, rather than the usual week taken beforehand. Other users also gave glowing feedback on the app, some preferring it to similar financial tools provided by Yahoo, Google and other investment companies.
Due to the positive reception, the app was quickly included in bid work as the company expanded into new markets and countries, as a demonstration of the quality of Hansard's online apps and reporting facilities.
Adam was instrumental in introducing agile practices for this project, demonstrating to the project manager and business teams how these practices could improve on their current project practices. The success of this project meant agile practices became more widely used and accepted in later projects.
Within Hansard, the app replaced older fund reporting tools and formed a key part of the information systems used throughout the business. A number of its features and design patterns were also adopted by other apps, along with some components and APIs developed during the project.
Investment illustrations application: Online charting and report generation app, illustrating the performance of complex investment scenarios. The app used actuarial data, complex financial calculations and user configurable finance scenarios to produce strictly verifiable charts and reports of potential investment decisions.
Adam was one of a two-man development working to improve and extend the application as new requirements, financial products and calculation logic were introduced.
Used by brokers, advisors and internal staff as an important part of their financial planning. Adam worked with actuaries and other financial teams to understand the products and requirements as they evolved and update the application's business logic and user interfaces to match those requirements.
Online survey and feedback: As part of a move to renew and improve the company's online presence, the board wanted feedback from all current users of the online systems. This was to be implemented as a survey popup, presented in multiple views, with a smooth user experience. The resulting answers were presented to staff via a set of online views.
Adam was the sole developer on this small, but commercially important, project; working with senior management to ensure the user interface was pleasing and integrated smoothly with the UI of other apps.
Through careful interface design, the survey avoided the annoyances of most popups and surveys, providing a feature about which users spoke positively - requesting it to be extended for longer term use. As a side effect of this, some of the interface techniques were written up and used as a wider part of the renewal project.
Application configuration manager: Each of the many apps managed by the development team had a range of configuration options. Managing this config was time consuming and risky in terms of synchronizing changes across apps and environments.
Adam built a prototype system providing a simple, Spring compatible, API to use cached, database backed configuration data. An online app allowed any config data to be updated quickly and reliably, also allowing it to be checked against expected values.
This API was trialled across a few apps before starting to update most apps to use it over time. The webapp interface was considered to be a great improvement on the existing manual editing approach. The API also worked with the new automated deployment process the company was trialling.
Document search engine: This provided a search facility for all the standard financial, sales and general information documents available to brokers and internal staff. The engine included document upload, automated re-indexing, thumbnailing and pruning of old documents.
The app was built on Apache Solr/Lucene, with some extensions and customisations to handle the additional requirements for various document types.
Adam was the sole developer on this project, working with marketing and financial services teams to provide an app which met their needs, quickly and with minimal maintenance overhead from their teams.
Document Library mini-site: An automated, template-driven website providing a set of navigation pages, allowing staff, brokers and others to access a wide range of documents and forms, in over 15 languages, covering all topics related to the company's processes and products.
This was a small project with Adam as the sole developer, working with various business groups to provide a system they could easily use, to maintain their published documents and forms. Although a technically simple project, its positive impact on the teams was widely mentioned.
Geographic activity mapping app: This online app used Google Maps to provide staff and brokers with a geographic view of how clients and others used the company's online services.
The app provided an easily accessible means to build an overall picture of user activity. Along with location data, additional activity data from other apps could be displayed to give a wider view of how users used Hansard's online services.
This was another small project, with Adam as the lead developer. This included some quite technically complex work in developing a geographic and graphical user interface for multiple browser types.
PDF form manipulation and management: Adam was the lead developer on this internal web app managing PDF forms with data fields to be automatically filled and the resulting documents archived for regulatory reasons.
Multiple PDF manipulation libraries were used to handle the various PDF versions constructions. Input documents were validated, their form fields identified and suitable data located/calculated. Then the forms were filled, the final PDFs watermarked, locked, archived and printed (singly or in batches).
This app was part of the internal regulatory processes and formed a crucial part of every new policy issued and every policy statement. The requirements for the app were tightly constrained, so Adam worked closely with the business teams to ensure the final app met requirements, while also adding additional features to help their PDF forms handling.
Automated document generation and management system. Adam's first project at Hansard was maintaining and improving a business critical system automatically generating, collating and archiving all the correspondence from Hansard to its external contacts (clients, brokers, advisors, etc).
This EJB and XSLT based system generated hundreds (sometimes thousands) of documents daily, for physical printing, email, archival and published to the company's online apps. This included legal and regulatory documents in up to 12 languages, customised for each policy and recipient.
Adam's role was maintaining and updating both the document generation processes and the core application encoding the company business logic. Adam's improvements included streamlining document handling processes, improving the stability and reliability of printing and simplifying the build and release processes for the system. Together, these changes reduced the workload across all teams, while also improving its reliability.
Adam started working as a freelance software consultant in late 2006, when he was recommended to a biotech startup company to help validate and improve their diagnosis process. Since then he has been working on various projects at a growing number of smaller organisations.
This work included:
Analysis and testing of a medical diagnosis application. This included testing the software, validating the algorithms against the core genetics white paper, documenting the application in detail.
Following this test and validation work, Adam has also worked on improving the diagnosis process and application.
Adam joined Energis late in 2002 as a senior developer, working in Leeds as part of the Design & Development team. In addition to his project work Adam also helped to introduce and increase knowledge of Java and Java development technologies within Energis.
Adam's work at Energis has included:
Adam joined Roundpeg early in 2000 as a media application developer, working in Cambridge and San Francisco. He became the UK Technical Team Leader when the UK branch began expanding and taking on larger projects.
As a result of the reduced market for custom enterprise software projects in early 2002, Adam moved into the Roundpoint arm of the company to work on integrating Roundpoint software with various content management systems to produce subscription based mobile services for PDAs, phones and other internet devices.
While working in the UK and USA, Adams project work included:
Adam joined CCL as a Software Engineer in the Software Technology Group in October 1997, to work on various new software ideas which took advantage of current technology trends. He also worked in the Distributed Systems Group doing OO consultancy and design. Projects Adam has been involved with include:
In addition to his full-time work, Adam has also worked on a number of small projects and technical consulting roles for other companies and individuals, including:
Adam Completed his MSc (distinction) in Data Engineering in 1997, after 6 months research into multi-agent co-operative manufacturing systems using lightweight Java Agents and message based communication protocols. His work was used as part of a distributed manufacturing consortium project into massively distributed agent systems.
During his MSc various client/server database projects were completed based on RDBMS, NoSQL and GIS database technologies, along side a number of knowledge based systems, based on advanced database query techniques and OO methodologies.
Before this Adam was a software engineer on realtime embedded software projects for Racal Radar Defence Systems. This involved C/C++, Ada and a variety of assembly languages to develop user interfaces to distributed radar systems.
In the early 90's Adam did a BSc in Maths and Computer Science, including learning (and forgetting) too much maths and computation theory, with a final year project to prove and demonstrate some matrix optimsation algorithms.
last edited: May 2018