Andy Inman, Developer in Derby, United Kingdom
Andy is available for hire
Hire Andy

Andy Inman

Verified Expert  in Engineering

Software Developer

Location
Derby, United Kingdom
Toptal Member Since
December 3, 2014

An energetic, creative, and versatile individual with extensive experience gained through over 20 years in software and IT services, Andy has worked in a range of roles encompassing software development, team, business and product management, technical sales, and consulting. Since around 2005, he has specialized in web technologies (applications, modules, APIs) built on the Drupal platform. Originally from London, Andy now lives in Derby, UK.

Portfolio

Netgenius.co.uk
jQuery, NGINX, PHP, MySQL, Apache, Linux, LAMP, Drupal
Gemini Affinitas, Ltd.
C, Microsoft SQL Server, ODBC, Windows, Microsoft
Medikey.com
CGI, IIS, Windows

Experience

Availability

Part-time

Preferred Environment

Lando, Pantheon, Git, Linux

The most amazing...

...system I've created is a Windows-based customer-service/CRM issue-tracking system, used and loved by over 200 companies in the UK and other parts of Europe.

Work Experience

Drupal Solutions Consultant/Architect/Senior Developer

2004 - PRESENT
Netgenius.co.uk
  • Provided consulting, application design, and development services in Drupal 5, 6, 7, and 8 to various clients.
  • Architected and developed a web-based financial analysis and reporting application, and several smaller applications (PHP and Drupal).
  • Designed and developed SOAP and REST interfaces, language, translation, and localization subsystems.
  • Worked as a team member and team leader in software development distributed teams.
  • Gained expertise in using the Pantheon and Acquia platforms for Drupal, and the related version control (git) workflow.
  • Provided ongoing support, updates, and system maintenance services.
  • Contributed various open-source projects to the drupal.org community.
Technologies: jQuery, NGINX, PHP, MySQL, Apache, Linux, LAMP, Drupal

CEO/CTO

1990 - 2004
Gemini Affinitas, Ltd.
  • Built and managed a successful company (20 employees).
  • Created a unique and highly regarded software product for CRM, client support, and customer service management.
  • Provided technical and management consulting to clients in the UK and Europe.
  • Recruited, trained, and managed an excellent team responsible for development, sales, and support.
  • Architected several bespoke solutions, including an online banking system for a specialized London bank.
Technologies: C, Microsoft SQL Server, ODBC, Windows, Microsoft

Consultant Systems Architect

1999 - 2003
Medikey.com
  • Co-architected a unique medical records storage and retrieval system.
  • Made major contributions to the company, successfully obtaining two US patents.
  • Designed and implemented further system features for data integrity and security.
  • Managed the small development team.
  • Defined a technical strategy for the potential product.
Technologies: CGI, IIS, Windows

InterFAX Prices

https://www.interfax.net/prices
InterFAX serves tens of thousands of users, sending and receiving over 60 million pages a year.

The "Prices" page is provided by one of several custom Drupal modules I developed for them. It displays price information dependent on factors such as chosen source and destination countries, selected package, and chosen currency.

On the surface it looks simple enough, but behind the scenes there is quite a lot going on.

All text strings displayed are configurable and translatable by their own staff via a web-based UI.

The module has to deal with multi-language, multi-country and multi-currency issues—for example, VAT (sales-tax) rates and whether prices should be shown inclusive or exclusive of VAT are country-dependent factors.

Initial country selection is determined by the visitor's IP address, with language detected from browser language configuration. Arabic (RTL) language is also handled, which required some custom changes to the slider widget, as the jQueryUI slider does not support RTL as a standard.

Ajax is used to update the displayed information when the user changes a selection such as country.

Source data is retrieved via SOAP and the InterFAX API, cached locally for enhanced performance.

Code Server Module for Drupal

https://www.drupal.org/project/codeserver
Code Server is a framework that enables the invocation of PHP functions on a Drupal site from code executing on another Drupal site. I developed it as an alternative to the JSON-RPC module to provide support for Drupal 8 and 9 during a specific project.

The framework facilitates data synchronization—including content, users, and configuration—between two or more sites, regression testing, data migration, and more.

Nutritional Benchmarking System

A project for a major UK retail organization (food supermarkets). The system holds a database of several thousand food products, updated by uploading a spreadsheet or CSV file. External suppliers input nutritional data for their own products via the web UI, and comparative data for competitive products. Reports are generated which indicate how the nutritional values of own-brand products compare with competitive products.

EyeRecommend

http://www.eyerecommend.ca
EyeRecommend is a Canadian network of independent optometrists. During 2013, I architected and developed their "Benchmarking" application. It allows each of their member clinics to compare a variety of key business indicators to aggregate data obtained from other members. For example, it can compare an individual clinic's net profit to the median or 75th percentile of all their other clinics in Canada, just those in the same local area, or just those of similar size.

This was a full cycle project. The client came to me with a set of business requirements and an outline of functional specifications. I developed the full solution, including remote installation on their server. Zero significant bugs were reported.

The system provides web-based data entry and generation of in-page and PDF reports and graphs. The Drupal technology leveraged includes Entity API, Field API, Forms API, and Cache API. In addition, it features a PDF generation library and Google Charts.

The system is available via their website at www.eyerecommend.ca, but is not publicly visible.

Consultant | Developer (Drupal, PHP)

https://www.adaptive.co.uk
Part-time (100 hours/month) as a technical consultant with Adaptive Web who is a UK-based Drupal specialist. A senior member of the technical team, wide-ranging responsibilities include development, mentoring, client support, DevOps, site maintenance, and security updates.

Example of a specific task: Security related - provide a solution to prevent the upload of file attachments to a Webform submission if the file type form file extension does not match actual content. This because, with a vanilla Drupal/Webform installation, a .php or .exe file renamed to .jpg would usually be accepted for upload, potentially a security vulnerability. I provided the solution by writing a custom module that leveraged Webform's API to hook into form submission processing, scan the uploaded file to determine whether its content matched the file type implied by the file extension, and reject any suspicious file.

Software Engineer (PHP/Drupal)

https://www.freebirdconnect.com
Part-time (20 hours/week) fully-remote member of Freebird's development team, enhancing and maintaining their Drupal-based SaaS solution for QSRs. The system is built on Drupal 7 as a large suite of custom modules. It is hosted by Acquia, and my day to day work involved developing on a local (Lando) environment, pushing code through their version control (git) process, configuring and testing on the Acquia staging environment prior to deployment to multiple live sites.

Drupal Consultant / Developer - EyeRecommend

https://www.eyerecommend.ca/
Ongoing project-based client. In 2004 I bid for and won a project to design and develop their Benchmarking system - a financial analysis and reporting system built on Drupal 7. It consisted of some 10,000 lines of code implemented as a suite of Drupal custom modules. Since the original development, we have added various enhancements and are currently planning the migration to Drupal 8. My primary contact there is the marketing director - they have no in-house development resources; my role requires understanding their business requirements and designing, developing, and delivering appropriate and fully tested solutions.

Languages

C, PHP, HTML, HTML5, JavaScript, CSS, PHP 7, SQL, Bash Script, Assembler, C++

Libraries/APIs

Drupal API, ODBC, jQuery

Platforms

Drupal, Drupal 7, Drupal 6, Pantheon, LAMP, Linux, Microsoft, Windows, Acquia, Amazon Web Services (AWS), Drupal 8

Other

Web Development, ARM, APIs, API Integration, IIS, CGI, Mentorship, SSH, Remote Work, Code Architecture, Business Analysis, Financial Data, Solution Design, Custom Solutions, Support & Maintenance, System Migration, SMTP, Migration

Tools

Lando, Apache, NGINX, Git, GitLab, Jira, Shell

Frameworks

Laravel

Paradigms

DevOps

Storage

Microsoft SQL Server, MySQL, Memcached, Redis, MongoDB

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring