Senior Software Engineer
Senior Software Engineer £up to 70k Base + Benefits
Ref: ABJ6501 Midlands Onsite: Perm
An exciting opportunity has arisen for a Senior Software Engineer to design, develop, test, and maintain a high-performance industrial control desktop application. This C#/.NET/WPF platform provides real-time monitoring, control, and reporting for complex systems. As a Senior Software Engineer, you will own the full application lifecycle from architecture through to release, working closely with cross-disciplinary engineering teams to deliver a robust, responsive interface.
Key Responsibilities
- Design and maintain the software architecture of the 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 visualization and charting (ScottPlot WPF) for live telemetry at 4Hz+ sample rates, with consistent UI styling using Material Design Themes.
- Develop batched I/O logging, structured telemetry, and compliance/certification reporting.
- Manage encrypted local storage using SQLite and SQLite Cipher for configuration, calibration, and operational data.
- Networking & Communication
- Develop and optimize high-throughput, low-latency networking for simultaneous real-time communication with multiple industrial controllers.
- Implement multicast and unicast packet handling across IPv4 and IPv6 networks, including asynchronous simultaneous dataframe processing.
- Design and maintain failover and degraded-mode behavior to ensure system resilience under adverse conditions.
- Design and maintain real-time data pipelines with a focus on algorithmic efficiency, fault tolerance, and graceful degradation.
- Perform profiling and optimization using Visual Studio 2026, memory and CPU profiling tools, and 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.
Skills & Experience Required
- 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 I/O, multicast/unicast, and concurrent data processing.
- Understanding of SOLID principles, Clean Architecture, Dependency Injection, and common design patterns (Factory, Observer, Strategy, Decorator).
- Experience with performance profiling and optimization 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 (e.g., Modbus/TCP, serial interfaces) is highly desirable.
- Familiarity with Windows Service development, SQLite/encrypted storage, and installer technologies is a plus.
- Strong problem-solving skills, collaborative mindset, and clear technical communication. Ability to read and interpret technical drawings is a plus.
Stable, established engineering business with strong technical reputation - Base + Benefits.
To Apply: Contact Alison Basson on (phone number removed) / (phone number removed)
Email: | Ref: ABJ6501