Senior Software Engineer

2Fawcett 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
Application Performance Management
Unit Testing
C Sharp (Programming Language)
Network Sockets
Profiling
Software Quality
Code Review
Communications Protocols
Databases
Data Visualization
Software Design Patterns
Fault Tolerance
Internet Protocol
Windows Presentation Foundation
Modbus
Model View ViewModel
Nunit
Operational Data Store
Serial Communications
Software Engineering
Transmission Control Protocol (TCP)
Management of Software Versions
Trunk-based Development
Data Logging
Data Processing
Data Storage Technologies
Real Time Systems
Test Driven Development
Reliability of Systems
GIT
Xunit
Solid Principles
Information Technology
Real Time Data
Windows Services
Tools for Reporting

Job description

Software Development & Architecture

  • Design and maintain the architecture of a high-performance desktop application built using C# / .NET and WPF.
  • Develop applications following the MVVM architecture pattern, ensuring clean separation of concerns and maintainable code.
  • Deliver a highly responsive real-time interface, supporting sub-millisecond system responsiveness.
  • Build and integrate Windows Service components for background processing, monitoring, and service lifecycle management.
  • Develop real-time data visualisation and charting tools to display live system telemetry.
  • Implement structured logging, telemetry capture, and reporting tools to support compliance and operational analysis.
  • Manage secure local data storage for configuration and operational data using embedded database technologies.

Networking & Real-Time Systems

  • Design and develop high-throughput, low-latency network communication systems using UDP and TCP sockets.
  • Support simultaneous real-time communication with large numbers of networked industrial controllers.
  • Implement both multicast and unicast networking across modern IP networks.
  • Process and manage asynchronous real-time data streams while maintaining high application performance.
  • Develop resilient systems capable of failover operation and graceful degradation under challenging network conditions.

Performance & Quality

  • Optimise application performance through profiling and analysis of memory, CPU usage, and network behaviour.
  • Maintain efficient real-time data pipelines with strong attention to algorithmic performance and system reliability.
  • Participate in code reviews and collaborative development workflows.
  • Follow trunk-based development practices using Git and semantic versioning.
  • Apply SOLID principles, Clean Architecture, and recognised design patterns to maintain high code quality.

Requirements

Do you have experience in xUnit?, * Degree in Software Engineering, Computer Science, or a related discipline, or equivalent industry experience.

  • Strong professional experience developing desktop applications using C# and .NET.
  • Proven experience working with WPF applications using MVVM architecture.
  • Experience developing real-time or high-performance network applications using:
  • UDP/TCP sockets
  • Asynchronous I/O
  • Concurrent data processing
  • Strong understanding of SOLID principles, Clean Architecture, and modern software design patterns.
  • Experience profiling and optimising .NET applications for memory, CPU, and network performance.
  • Proficiency using Git within a trunk-based development workflow.
  • Experience with unit testing frameworks (xUnit, NUnit) and test-driven development practices.
  • Strong analytical and problem-solving skills with excellent communication abilities.

Desirable Experience

  • Knowledge of industrial communication protocols such as Modbus/TCP or serial communications.
  • Experience developing Windows Services.
  • Familiarity with embedded databases and encrypted storage solutions.
  • Experience with data visualisation frameworks or charting libraries.
  • Ability to read and interpret electrical or mechanical engineering drawings.

Benefits & conditions

Pulled from the full job description

  • Referral programme
  • Employee discount
  • Sick pay
  • Free parking
  • Company pension
  • On-site parking, * Competitive salary
  • Company pension scheme
  • Sick pay
  • Employee discount programme
  • Referral programme
  • On-site parking

#INDPS

Job Types: Full-time, Permanent

Pay: Up to £70,000.00 per year, * Company pension

  • Employee discount
  • Free parking
  • On-site parking

About the company

We are recruiting on behalf of a market leading manufacturing business seeking an experienced Senior Software Engineer to join their development team. This role focuses on the design, development, and ongoing evolution of a high-performance desktop control platform used for real-time monitoring, control, and reporting within industrial systems. The successful candidate will take ownership of the full desktop application lifecycle, from architecture and development through to testing, optimisation, and release. You will collaborate closely with embedded firmware, electrical, and mechanical engineering teams to deliver a responsive, reliable, and safety-aware operator interface used in demanding real-world environments.

Apply for this position