Desktop Software Engineer

Essential Recruitment
Dunstall, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
£ 70K

Job location

Dunstall, United Kingdom

Tech stack

.NET
Microsoft Windows
Software Applications
Unit Testing
C Sharp (Programming Language)
Cipher
Network Sockets
Code Coverage
Code Review
Communications Protocols
Dependency Injection
Software Design Patterns
Fault Tolerance
IPv4
IPv6
Network Packet
Microsoft Visual Studio
Windows Installer
Windows Presentation Foundation
Modbus
Multicasting
Network Programming
Nunit
Operational Data Store
Material Design
RS-232
Service Development Studio
Software Engineering
SQLite
Transmission Control Protocol (TCP)
Wireshark
Management of Software Versions
Trunk-based Development
Data Logging
Data Processing
DotTrace
GIT
Solid Principles
Information Technology
Real Time Data

Job description

  • Design and maintain the software architecture of the VCS desktop application built in C# 14 / .NET 10 and WPF using the MWM pattern (XAML), targeting real-time system responsiveness (<1ms).
  • Develop and integrate Windows Service components for background processing, system monitoring and service lifecycle management.
  • Build real-time data visualisation and charting (ScottPlot WPF) for live instrumentation telemetry at 4Hz+ sample rates, using Material Design Themes for consistent UI styling.
  • Develop batched 1/0 logging, structured logging/telemetry and compliance/certification report generation.
  • Manage encrypted local storage using SQLite and SQLite Cipher for configuration, calibration and operational data.
  • Networking & Communication
  • Develop and optimise high-throughput, low-latency UDP/TCP networking for simultaneous real-time communication with up to 240 loadbank controllers.
  • Implement multicast and unicast packet handling across IPv4 and IPv6 networks, including asynchronous simultaneous dataframe processing.
  • Design and maintain failover and degraded-mode behaviour to ensure system resilience under adverse network conditions.
  • Design and maintain real-time data pipelines with a focus on algorithmic complexity optimisation, fault tolerance and graceful degradation.
  • Perform profiling and optimisation using Visual Studio 2026, dotMemory (memory profiling), dotTrace (CPU/event profiling) and Wireshark (network packet inspection).
  • Participate in code reviews and PR workflows following trunk-based development with semantic versioning.
  • Apply SOLID principles, Clean Architecture and established design patterns (MWM, Factory, Observer, Strategy, Decorator, Dependency Injection) throughout the codebase.

Requirements

  • Degree in Software Engineering, Computer Science, or equivalent professional experience.
  • Strong professional experience developing desktop applications in C# / .NET (6+), including WPF with MWM architecture.
  • Demonstrable expertise in real-time or high-throughput network programming: UDP/TCP sockets, asynchronous 1/0, multicast/unicast, concurrent data processing.
  • Understanding of SOLID principles, Clean Architecture, Dependency Injection and common design patterns (Factory, Observer, Strategy, Decorator).
  • Experience with performance profiling and optimisation of .NET applications (memory, CPU, network).
  • Proficiency with Git in a trunk-based development workflow using semantic versioning.
  • Experience with unit testing frameworks (xUnit/NUnit), TDD practices and code coverage tooling.
  • Knowledge of industrial communication protocols (Modbus/TCP, serial RS232/422/485) is highly desirable.
  • Familiarity with Windows Service development, SQLite, encrypted storage and Windows Installer technologies is a plus.
  • Strong problem-solving skills, collaborative mindset and clear technical communication.
  • Ability to read and interpret electrical/mechanical drawings is a plus.

Apply for this position