Specification Essentials:
Considerable full-stack experience with .NET development using C# - (including .NET 6 / Core & Framework).
Well versed in object-oriented programming concepts and patterns such as MVVM / DI / CQRS.
Experience working with asynchronous and multi-threaded environments and libraries such as TPL.
Well versed in Pub/Sub type mechanisms and their implementation using .NET.
Experience with developing / supporting distributed event-based architectures built around message buses and event streams e.g., Kafka / ActiveMq / RabbitMq / SQS.
Fluent working knowledge of LINQ and associated functional programming practices in the C# environment.
Proven experience of designing, developing and maintaining relational databases (ideally MSSQL).
Experience writing and maintaining unit, integration, E2E and regression tests, and test suites.
Familiar with source control such as GIT and CI/CD practices.
Desirable:
Experience with consuming and processing high frequency data in a real-time / near real-time environment.
Experience with microservice architectures and containerization (Docker / Kubernetes).
Experience with NoSQL Databases such as Mongo / DocumentDB.
Reporting into the Software Development Manager, you will:
Experience with other programming languages and environments - ideally unmanaged such as C++ / C / Delphi.
Contribute to the development of new and innovative products as part of a small team.
Develop an understanding of all company systems and be willing to assist with bug fixing, development and testing.
Ensure that development is rigorous and conforms to the process requirements of the business.
Ensure code is of the highest quality including appropriate commenting, unit testing and documentation.
Participate in group activities such as demonstrations, design reviews, requirement exploration, system architecting, etc.
Develop a broad skill set covering all aspects of the company software environment as well as defined areas of specialisation.Must be able to provide on site (Biggin-Hill and Trackside) technical support for multiple race weekends during any given season.
Must be able to work flexible hours as needed to support project time lines and deliver efforts on time