Software Engineer

Hudson Shribman
Fareham, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Part-time (≤ 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior
Compensation
£ 169K

Job location

Fareham, United Kingdom

Tech stack

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

Job description

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., + 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.

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 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.

Apply for this position