Richard Sinden
Verified Expert in Engineering
Software Developer
Fair Oak, United Kingdom
Toptal member since November 8, 2022
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
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
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
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.
Technical Lead
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.
Principal Software Engineer
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.
Design Engineer
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.
Experience
Windows Desktop App for Testing Power Station Generator Cores
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
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
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
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
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
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
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.
Education
Bachelor's Degree in Computer Science
University of Southampton - Southampton, UK
Certifications
Microsoft Certified: Azure Fundamentals
Microsoft
Skills
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring