Formula 1 covers a huge range of disciplines across a wide array of industry sectors, drawing the very best from our teams of technicians, engineers and media rights specialists and encouraging the creativity of experts in the fields of digital and traditional media, marketing and communications. From timekeeping, to software development, broadcast engineering and content creation, we are truly the 11th Formula 1 team.
We are recruiting for a Principal Software Developer in our Racing Systems team who would be based at our Media and Technology Centre in Biggin Hill. Do you have what it takes to be part of the world’s greatest sport and entertainment spectacle?
Main Duties and Responsibilities
* Proactively contribute to support and development of existing applications critical to the Timing and production of the F1 Championship and other support series.
* Proactively contribute to the development of new and innovate products as part of a small team.
* Mentor and/or lead a small group of software developers.
* Lead technical projects spanning multiple domains.
* Contribute to the design of modern software architecture in alignment with our mission.
* Develop an understanding of all systems and be willing to assist with bug fixing, development or testing across the entire environment.
* Ensure that development is rigorous and conforms to the process requirements of the business.
* Ensure code is of the highest quality including 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 F1 software environment as well as a defined area of specialisation (T-shaped).
* Must be able to provide onsite (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 timelines and deliver efforts on time.
Qualifications
* Degree in Computer Science (or related technical discipline) or equivalent commercial experience.
Experience
* Considerable (>5yrs) experience in a software development environment using .Net based development tools.
* Experience with developing / supporting distributed event-based architectures built around message buses and event streams e.g., Kafka / ActiveMq / RabbitMq / SQS.
* Experience with consuming and processing high frequency data in a real-time / near real-time environment.
* 2+ years of experience with Amazon AWS services like Lambda, SNS, SQS, DynamoDB.
* 2+ years working knowledge of Microsoft SQL Server (Currently 2016).
* You have experience with NoSQL Databases such as Mongo / DocumentDB.
Knowledge & Skills
* You have strong communication, analytical and problem-solving skills with the ability to evaluate, report and converse effectively.
* You have considerable Full-stack experience with .Net development using C#.
* You are well versed in Object Oriented programming concepts and patterns such as MVVM / DI / CQRS.
* You have experience working with asynchronous and multi-threaded environments such as TPL.
* You are well versed in Pub/Sub type mechanisms and their implementation using .Net.
* Fluent working knowledge of Linq and associated functional programming practices in the C# environment.
* You have experience with microservice architectures and containerization (Docker / Kubernetes).
* Proven experience of designing, developing and maintaining Relational Databases (ideally MSSQL).
* Experience writing and maintaining Unit, integration, E2E and regression tests and test suites.
* You have experience working with application metrics & monitoring with tools such as Prometheus / Grafana / Cloudwatch.
* You are familiar with code source control such as GIT.
* You have a good understanding of CI/CD practices.
* You understand AGILE development philosophies.
Division:
Technical
#J-18808-Ljbffr