Richard Sinden, Developer in Fair Oak, United Kingdom
Richard is available for hire
Hire Richard

Richard Sinden

Verified Expert  in Engineering

Bio

Richard is a software developer with over twenty years of experience whose main area of expertise is developing the Microsoft .NET platform. His specialty is Windows desktop applications and designing user-friendly UI/UX. He is also adept at working with the API, business, data access, and storage layers. Richard is comfortable working throughout the entire software development lifecycle, from requirements analysis and design to testing, deployment, and support.

Portfolio

Apeware
Windows Presentation Foundation (WPF), Telerik WPF, Telerik, Infragistics, C#...
Neural Technologies
Windows Presentation Foundation (WPF), Telerik WPF, Infragistics, C#, C#.NET...
Radio Tactics
C++, Microsoft Foundation Classes (MFC)...

Experience

  • Desktop App Development - 20 years
  • UI Design - 20 years
  • Requirements Analysis - 20 years
  • SQL - 17 years
  • C# - 15 years
  • Windows Presentation Foundation (WPF) - 14 years
  • Entity Framework - 8 years
  • ASP.NET Web API - 4 years

Availability

Part-time

Preferred Environment

Windows Desktop, Visual Studio, ASP.NET Web API, .NET, .NET Core, C#

The most amazing...

...thing I've developed is an application used in power stations around the globe to verify the integrity of their generator cores.

Work Experience

Director | Software Development Consultant

2012 - PRESENT
Apeware
  • Developed solutions for multiple clients in the telecom, engineering, and financial services industries.
  • Collaborated with clients to analyze requirements and design systems.
  • Assisted clients in releasing software for both internal users and external customers.
  • Delivered mentoring and support to get clients' in-house development teams up to speed to take over development projects once completed.
  • Offered ongoing support for clients' products after the initial project completion.
  • Configured development infrastructure for clients, including source repositories, continuous integration systems, automated testing, issue trackers, and automated error reporting.
Technologies: Windows Presentation Foundation (WPF), Telerik WPF, Telerik, Infragistics, C#, C#.NET, .NET 6, .NET, ASP.NET Web API, C++, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), SQL Server 2015, Model View ViewModel (MVVM), xUnit.net, Real-time Data, MySQL, SignalR, Swagger, CSLA, Entity Framework, Entity Framework Core, Oracle, Bluetooth, Touchscreens, Windows 10 Touchscreen, Localization, Requirements Analysis, Customer Support, Unit Testing, Test-driven Development (TDD), Desktop App Development, Software Development, Jira, Confluence, Azure DevOps, Bitbucket, Git, TeamCity, Software Design, Automated Testing, Software Testing, Microsoft SQL Server, Windows, Windows Desktop, Visual Studio, USB, Data Visualization, Windows Desktop Software, Barcode Reader, Barcode Library, XML, Touch Interactions, MahApps.Metro, Webcam SDK, Webcams, OAuth 2, Web API 2, ADO.NET, SOAP, Newtonsoft JSON, Oracle Data Access Components (ODAC), Plugins, Druid.io, Apache, Kudu, Big Data, JSON, Remote Desktop Protocol (RDP), Remote Desktop Services, Microsoft Lync, Skype for Business, PHP, C++/CLI, UX Design, .NET Core, TestRail, Raygun, Jenkins, ASP.NET Core, APIs, Troubleshooting, Root Cause Analysis, XAML, PostgreSQL, Syncfusion, Architecture, Blazor, Databases, Back-end, Azure, ODBC, OAuth, Security, CI/CD Pipelines, Code Review, Source Code Review, Apigee, REST, Azure Cosmos DB, Windows Services, Desktop, ANSI SQL, Technical Leadership, Software Architecture, Scrum, Construction, Debugging

Technical Lead

2008 - 2013
Neural Technologies
  • Developed a new Windows-based multi-user three-tier application to provide an analyst front end for the company's fraud and risk management solution, using an Oracle database linked to a Unix-based back end, processing over 100 million records daily.
  • Directed the client software team of seven in the technical and man management capacity.
  • Worked on projects for large customers from telecom, financial, insurance, and media industries, including O2, Orange, T-Mobile, 3, Sprint, Bank of America, Allianz, and DirecTV.
  • Led the development of a prototype revenue assurance system which resulted in the company becoming the preferred supplier for Zain Group, a mobile telecom company with approximately 40 million customers.
  • Brought a large, previously outsourced, legacy application back in-house, which allowed the development to get back on track and improved the product quality.
  • Introduced web-based collaboration tools, allowing the development team to communicate designs more easily internally and with business stakeholders.
  • Improved release times and reduced the number of defects getting to the software quality assurance (SQA) team by modernizing the company's source control and setting up a continuous integration server running nightly to build and test cycles.
  • Managed providing third-line support for deployment engineers worldwide and assisting with installations at customer sites.
Technologies: Windows Presentation Foundation (WPF), Telerik WPF, Infragistics, C#, C#.NET, .NET, CSLA, Windows Communication Foundation (WCF), Microsoft Silverlight, Model View ViewModel (MVVM), Prism, Oracle Database, SQL, IIS, MSMQ, Wix# (WixSharp), Unity (IoC Container), SpecFlow, xUnit.net, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), C++, Desktop App Development, Software Development, TeamCity, CruiseControl, Subversion (SVN), Mercurial, Git, Requirements Analysis, Customer Support, Software Design, Automated Testing, Software Testing, Microsoft SQL Server, Unit Testing, Windows, Windows Desktop, Visual Studio, Windows Desktop Software, XML, ADO.NET, SOAP, Oracle Data Access Components (ODAC), Jira, Confluence, Bugzilla, APIs, Troubleshooting, Root Cause Analysis, XAML, PostgreSQL, Architecture, Leadership, Databases, Back-end, ODBC, Security, CI/CD Pipelines, Code Review, Source Code Review, Windows Services, Desktop, ANSI SQL, Technical Leadership, Software Architecture, Scrum, Windows Forms (WinForms), Win32, Debugging, Assembler x86, Wix Installer

Principal Software Engineer

2006 - 2008
Radio Tactics
  • Designed and developed several applications for enforcement officers' forensic examinations of mobile phone handsets, SIM cards, and memory cards.
  • Developed innovative touchscreen interfaces, which significantly improved usability for non-technical operators.
  • Oversaw the design and architecture of the company's products and mentored, assisted, and advised colleagues in technical aspects of their work.
  • Assisted police with forensic examinations of mobile phone handsets and SIM cards.
  • Created an application to program ID cards with the user's identity and print on the card with the user's photo and identifying barcode.
Technologies: C++, Microsoft Foundation Classes (MFC), Microsoft Foundation Class (MFC) Library, Touchscreens, GDI(+), Standard Template Library (STL), Boost, Desktop App Development, Software Development, .NET, Requirements Analysis, Customer Support, Software Design, Automated Testing, Software Testing, Unit Testing, Windows, Windows Desktop, Visual Studio, Windows Desktop Software, Eventum, Troubleshooting, Root Cause Analysis, Architecture, CI/CD Pipelines, Code Review, Source Code Review, Desktop, Technical Leadership, Software Architecture, Win32, Debugging, Assembler x86

Design Engineer

2000 - 2005
Telsis
  • Served as a product owner for the primary Windows-based configuration tool for Telsis' core network products.
  • Designed and implemented a system to collect hardware and software alerts from Telsis products into a centralized MS SQL Server database, providing access via a web-based front-end and Simple Network Management Protocol (SNMP) interface.
  • Created a voice voting software and competition platform for telecom networks. Demonstrated the product to Prince Andrew in his UK international business ambassador role.
  • Developed components for the company's Intelligent SMS Routing platform.
  • Built several tools to aid debugging, configuration, and streamline release procedures, widely used across the engineering department at Telsis.
  • Worked on an internal testing library for testing core products by managing dynamic link libraries (DLLs).
  • Developed an application to program EEPROMs and print labels for them.
Technologies: C++, Microsoft Foundation Class (MFC) Library, Microsoft Foundation Classes (MFC), GSM, SS7, Python, VB, C, SQL Server 2000, Active Server Pages (ASP), SNMP, Desktop App Development, Software Development, .NET, Requirements Analysis, Customer Support, Software Design, Automated Testing, Software Testing, Microsoft SQL Server, Unit Testing, Windows, Windows Desktop, Visual Studio, Windows Desktop Software, Bugzilla, EEPROM, Troubleshooting, Root Cause Analysis, Architecture, Databases, Back-end, ODBC, Code Review, Source Code Review, Windows Services, Desktop, Win32, Debugging, Assembler x86, Visual Basic

Windows Desktop App for Testing Power Station Generator Cores

Developed a Windows desktop application based on Windows Presentation Foundation (WPF) to test turbine stator cores of power stations. It recorded and charted large quantities of real-time serial comms data. Data was received from the testing equipment at 50/60Hz, which had to be immediately displayed to the user as the tests progressed.

Other elements of the project included:
• Additional highly-configurable charting and data displays to allow test management and analysis
• Test management and control interface
• High-performance requirements of all chart and data displays
• Complex calculations performed on electrical measurements to assess the state of the generators
• Backwards compatibility with old analysis files from previous Microsoft Foundation Class (MFC) app
• Integrated translations of UI to French, German, Spanish, Russian, and Chinese languages
• Extensive unit testing
• Use of many Telerik controls, such as 2D and 3D charts, heatmap, ribbon, docking controls
• Working with Telerik source code to recommend changes to their controls and significant enhancement of the performance of their heatmap to handle required data quantities of several million data points

Industrial Windows Tablet-based Application for Measuring Oil Pipes

The client wanted to replace their paper-based system for recording details of measurements and checks on oil pipes before they were shipped to oil rigs.

Working with an engineering services company, I developed the software for a Windows tablet-based inspection application and an office-based PC application. They worked on bringing the various hardware elements together.

The office staff could set up inspection jobs in a standard desktop application. However, the pipe inspection shed was a somewhat hostile environment for technology, so it was necessary to use a ruggedized tablet for this part of the job.

Together with a Bluetooth-connected laser distance measuring device, it allowed them to measure and record pipe details accurately. Adding a barcode scanner to the tablet application and barcodes printed on the pipes meant that the measurements were always recorded against the correct pipe.

The application was developed using WPF MVVM for both the touchscreen tablet and the back-office application, with business-layer code shared between the two. Data was stored in XML files and transferred between the PC and tablet via a USB stick due to unreliable network connections in the inspection shed.

ASP.NET Web API and REST API for Fraud and Risk Management System

An enhancement to the client's fraud and risk management system to add a REST API to allow the creation of web-based clients to supplement the existing desktop one. This connected to a back-end system that processed 10s-100s of millions of records per day and queried tables containing billions of records.

The API consisted of more than 120 endpoints. It was developed using ASP.NET Web API and built on top of their existing business layer, which I was also responsible for developing in a previous project to share as much code as possible with the desktop application.

Security was implemented using ASP.NET Identity and JWT bearer tokens, and clients could subscribe to live updates using a system based on the SignalR library.

The API was designed to be self-documenting using Swashbuckle and Swagger.

Configurable Dashboard Component for WPF Windows Desktop App

Developed a user-configurable dashboard component to significantly improve data visualization in a WPF-based Windows desktop application to enhance client's Revenue Assurance product.

The dashboard components and layout were completely configurable, including the ability to handle a per-customer variable schema in the back-end Oracle SQL database and options to perform data aggregation in the server or client-side database.

The interactive dashboards allowed configurable drill-down from data points into linked datasets or other application parts.

The visualization controls were created using the Telerik WPF controls library, and the data access and aggregation were handled through Entity Framework.

Initially worked with the client to look at off-the-shelf dashboarding and reporting solutions. After some analysis, it was decided that a custom solution would be the best way to go due to the requirements for a customizable schema and interoperability with the rest of their existing WPF application. It proved to be a very successful choice, and the dashboards are now widely used in their product.

Windows Desktop Configuration Tool for a Revenue Assurance Product

Created a tool for the client to enhance their revenue assurance product. Previously, their deployment engineers used Microsoft Excel scripts to write configuration values into a table structure and then export this configuration into configuration tables in an Oracle database, which was time-consuming, and their customers were asking for the ability to edit the configuration once deployed.

Worked with the client to produce a tool that provided a much more user-friendly way to visualize and write the configuration, which could be used by the deployment engineers and delivered to customers to allow them to configure the product themselves.

The tool was developed as a WPF MVVM app, using Prism, Unity, Telerik WPF controls, and Entity Framework with the Oracle ManagedDataAccess library to provide access to the database.

Plugins to Integrate Big Data Sources Into Fraud and Risk Management Product

The client wanted to broaden its offering of data storage options for its customers with some big data storage technologies.

I created a plugin architecture and plugins for Apache Kudu and Druid data sources to integrate these with their existing system and enable additional data sources to be quickly added and tested.

WPF Control Integration of Microsoft Lync into Call Centre Software

Integrated Microsoft Lync (now Skype for Business) into the client's existing call center agent software by incorporating a WPF control, connected to the Lync software development kit (SDK), into their existing C++ and MFC application framework.

There were additional requirements to extend the client's MySQL database schema and PHP management dashboard to integrate with the new services. This project also ensured that it would be centrally hosted using Microsoft's Remote Desktop Services.

Worked onsite, during final stages, with the client and their customers and call center agents to deploy and acceptance test the initial deployments of the new system.
1999 - 2002

Bachelor's Degree in Computer Science

University of Southampton - Southampton, UK

NOVEMBER 2022 - PRESENT

Microsoft Certified: Azure Fundamentals

Microsoft

Libraries/APIs

Infragistics, Microsoft Foundation Class (MFC) Library, Entity Framework, REST APIs, Web API 2, ODBC, Microsoft Foundation Classes (MFC), Wix# (WixSharp), GDI(+), Standard Template Library (STL), SignalR, Rollbar, Apigee, Windows Forms (WinForms)

Tools

Prism, xUnit.net, Visual Studio, MahApps.Metro, Oracle Data Access Components (ODAC), Jira, Confluence, Bitbucket, Git, TeamCity, Subversion (SVN), TestRail, Wix Installer, Microsoft Silverlight, Webcam SDK, Kudu, Microsoft Lync, Skype for Business, Mercurial, Jenkins, Bugzilla, Syncfusion, Apache

Languages

C#, C#.NET, XAML, SQL, C++, XML, Python, VB, C, Active Server Pages (ASP), Java, PHP, C++/CLI, Assembler x86, Visual Basic, BASIC

Frameworks

Windows Presentation Foundation (WPF), .NET, ASP.NET Web API, CSLA, SpecFlow, Swagger, Entity Framework Core, ADO.NET, Newtonsoft JSON, ASP.NET Core, Boost, OAuth 2, .NET Core, Blazor

Paradigms

Desktop App Development, Model View ViewModel (MVVM), Requirements Analysis, UI Design, Unit Testing, Software Testing, Automated Testing, REST, Scrum, Test-driven Development (TDD), UX Design, Azure DevOps

Platforms

Telerik WPF, Telerik, Windows Desktop, Windows, Desktop, Oracle Database, Win32, Oracle, Azure, Azure PaaS, Azure IaaS

Storage

Databases, ANSI SQL, PostgreSQL, SQL Server 2000, MySQL, JSON, Microsoft SQL Server, Azure Cosmos DB, Druid.io

Other

Software Development, Unity (IoC Container), Software Design, Back-end, Code Review, Source Code Review, Windows Services, Debugging, Computer Science, Windows Communication Foundation (WCF), IIS, MSMQ, SQL Server 2015, Windows 10 Touchscreen, Localization, Customer Support, Data Visualization, APIs, Troubleshooting, Root Cause Analysis, Architecture, Security, CI/CD Pipelines, Technical Leadership, Software Architecture, Touchscreens, GSM, SS7, SNMP, .NET 6, Real-time Data, Bluetooth, USB, Windows Desktop Software, Barcode Reader, Barcode Library, Touch Interactions, Webcams, SOAP, Plugins, Big Data, Remote Desktop Protocol (RDP), Remote Desktop Services, CruiseControl, Raygun, Eventum, EEPROM, Leadership, OAuth, Construction

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