Neil Main, Developer in Prague, Czech Republic
Neil is available for hire
Hire Neil

Neil Main

Verified Expert  in Engineering

Database and Systems Developer

Location
Prague, Czech Republic
Toptal Member Since
August 26, 2020

Neil is an expert in systems design and has delivered many projects varied in complexity, scope, and market segments. He built the longest-running claims management and reporting/personnel system in the UK. His core skills include UI and database design, coding, installation, user training, system documentation, system support and integration, full-stack development to system installation and administration.

Portfolio

Self-employed
Object Pascal, Paradox, PHP, Windows, Unix, Bash Script, Java...
Insiel spa
XML, Oracle PL/SQL
Self-employed
SQL Server DBA, Oracle, C++, Microsoft 365, Windows, Unix, Visual Basic

Experience

Availability

Part-time

Preferred Environment

ASP.NET, VB, Windows, SUSE, SQL, PL/pgSQL, PostgreSQL, PL/SQL, Oracle, Visual Basic for Applications (VBA), C#, .NET, Microsoft Access, Lazarus, LibreOffice, Open Office, Office 2010, DBeaver, Visual Studio 2019

The most amazing...

...project I developed was a veterinary system fully integrated with the databases of insurance companies, clients, payment systems, and medication.

Work Experience

Developer

1991 - 2020
Self-employed
  • Developed a wide range of systems, ranging from a club membership system to a fully integrated manufacturing system for specialized PCB production. Involved all aspects of system development.
  • Completed system analysis, user interface design, coding, database design and implementation, installation, user training, system documentation, and system support and integration.
  • Delivered a claims management and reporting/personnel system for a UK national logistics company. It went live in august 1996 and is still actively used for critical analysis relating to the delivery of the organizations' business.
  • Involved in the full development of a small animal veterinary system, a retail management system incorporating POS, a mortgage application processing system, claims management, personnel system, and production control.
  • Designed a reporting module/framework to provide users the ability to create ad hoc data analysis reports based around predefined data criteria. The data criteria is under the control of the systems administrator thus providing flexibility within the system.
Technologies: Object Pascal, Paradox, PHP, Windows, Unix, Bash Script, Java, Visual Basic for Applications (VBA), SQL, C#, Microsoft Excel, Excel Macros, Data Queries, Reporting

Developer

2006 - 2009
Insiel spa
  • Tuned SQL to improve the overall performance of data extraction from Oracle databases.
  • Designed a database for the implementation of a new regional government system for the registration and management of services to a region's population.
  • Developed XML message generation procedures for the transfer of data from core Oracle systems to government departments.
Technologies: XML, Oracle PL/SQL

Trainer

1997 - 2002
Self-employed
  • Developed a range of courses for the technologies listed. Courses were delivered to different clients. Sub-contracted to IT training centers such as the Olivetti International Training Centre Haslemere UK and UNISYS Training Centre Milton Keynes UK.
  • Attending courses to further specialize and develop my skill set.
  • Involved in the development of specialized course material and delivery covering specific systems such as the national ticketing system, and the scheduling and tracking of employees for telecommunications maintenance work.
Technologies: SQL Server DBA, Oracle, C++, Microsoft 365, Windows, Unix, Visual Basic

Oracle Trigger Framework

The requirement for a 'trigger framework' (TF) arose out of developing a new database system to manage data associated with the population of a region for the local governing bodies. After designing the database structure, there was no clear definition of the triggers that were going to be required, and the design of the database lent itself that all tables requiring certain data to be managed on the insert, update, and deletion of a table's rows. Also, from prevision experience, the firing of triggers in a specific order would likely be a future requirement.

The TF builds the trigger code for each table based on configuration data that defines what actions will require implementation. When a trigger is fired, it passes control to the central TF package, which houses all the code developed for the framework. The framework reads the configuration data for a table that has fired the trigger and implements the associated instructions for that table. The framework is also designed to handle 'mutating' table errors, so it had the ability for a table to implement data actions upon itself. This was a core requirement due to the design of the database. The TF was fully implemented using PL/SQL.

Small Animal Veterinary System

The system handles all aspects of a veterinary practice associated with small animals such as cats, dogs, and rabbits. The initial system consisted of four main sections; clinical, client, financial, and appointment data. It was further enhanced to cover reminder notifications and a customized practice-based animal insurance scheme. The system was designed in the latter half of 1998 and went live in January 1999. It was used until December 2018. The system was operated over a LAN with nine terminals and a VPN for remote access.

It had two receipt/label printers for production drug labels and client receipts. Data was integrated with drug supplier's databases, and to insurance, which produced the updated files required, and uploaded to the practice's bank to set up and manage client direct debit payments.

The system was developed using MS Access and consisted of two databases; the core database and the client database. The core database held just the data and client database linked to it and all the screen forms, coding, and reporting. The system was fully menu-driven, with security controlling user access to the data settings.

Retail Management System Incorporating POS

This retail system with POS was required to manage a warehouse a number of shops with stock rooms and an e-shop element. It was developed around a central PostgreSQL database implemented over a VPN. The core system consisted of two parts; stock control and sales based around a POS system.

The stock control handled all functions relating to inventory control, so the stock could be tracked from placing a purchase order through to its final sale in one of the shops. The stock had to be fully coded, providing management reporting through a simple structured interface to enabling complex reports to be generated. The sales section had to be simple to operate, covering all aspects relating to sales activity for the operators. This meant that a barcoding touch screen was required, which had an influence on the POS screen layout. The POS had to link into a government system to register all sales transactions.

The POS system was developed using C#. Management reporting was developed in MS Access using ODBC to link into the PostgreSQL database. Using these two development environments, a fully operational system was developed in record time.
JUNE 1999 - PRESENT

Relational Databases

Open University

JANUARY 1999 - PRESENT

Object Oriented Programming

Open University

MAY 1981 - PRESENT

Electrical and Electronic Engineering

SCOTEC

Libraries/APIs

Lazarus

Tools

Microsoft Access, Microsoft Excel, Visual Studio 2019, Office 2010, Open Office, LibreOffice, PrestaShop

Languages

Visual Basic for Applications (VBA), SQL, C#, PL/pgSQL, VB, XML, Object Pascal, Java, Bash Script, PHP, Visual Basic, C++

Frameworks

.NET, ASP.NET

Storage

PL/SQL, PostgreSQL, Database Administration (DBA), DBeaver, SUSE, Oracle PL/SQL, Paradox, SQL Server DBA

Paradigms

ETL

Platforms

Oracle, Windows, Unix

Other

Relational Database Design, Data Queries, Reporting, Systems Analysis, Data Warehousing, Data Reporting, Data Warehouse Design, Excel Macros, BI Reporting, Microsoft 365

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