I am looking for two Senior C# Software Engineers for a cryptocurrency trading platform and analytics tools.
The business is coming out of the "start-up" phase and into scale up and are looking for people to work a remote basis. You would be working for a cryptocurrency trading platform and analytics tools. The role focuses on building high quality, high uptime, .NET Core based message processing, transformation and data processing applications. This is not a ‘onchain’ project.
We expect candidates to possess a deep and thorough understanding of the .NET CLR. You will be expected to understand where and how objects are allocated, when to use the stack vs heap. How to monitor and reduce allocations in high traffic code. You will have experience in diagnosing GC heap dumps through dotnet-monitor and WinDBG/dotMemory. You will know why to use HttpClientFactory, and how to customize its behaviour/handlers. You will understand Task scheduling, how and why to specify a specific or custom scheduler. You will understand how to debug/step-through Nuget dependencies, construct build pipelines, take control of code quality.
The candidates will understand how to take external APIs & WebSocket streams, and how to transform/fit them into a common abstraction, and the methods/pitfalls of different methods. They will understand how to make operations (both internal and external) idempotent, and why this is critical in a trading/risk management environment. They will understand the difference between asynchrony and concurrency. They will have excellent attention to detail with creating suitable yet pragmatic tests, whether unit, property, or integration.
The candidates will have a general knowledge of Perpetual Futures, Trading or Cryptocurrency in general.
The role offers:
* Permanent work from home.
* Flexible working around some core hours.
Role Responsibilities:
* Develop, maintain and support distributed C# applications.
* Design and implement high fidelity data storage and analytics with Postgres.
* Ensure software is built with observability, testability, and security as highest priorities.
* Work with the Technical Architect to plan, design and implement changes.
* Participate in code reviews, focusing on maintainability and ease of future change.
* Perform team leadership to a small team of developers on the same project.
* Mentor senior and junior developers.
* Assist the CTO in growing and maturing the development team and processes.
* Offer suggestions emerging from domain knowledge gained to improve our products.
Required Skills & Experience:
* Deep knowledge of C# .NET (DI, Host, APIs, Span, Allocations, GC)
* Understanding where and how memory is allocated (GC behavior, stackalloc).
* Knowledge of binary serialization protocols/methods (Span).
* Hands-on experience with Queues/Message Processing (SQS, Kafka, Service Bus)
* Understand how to deal with DLQ, poison messages, etc.
* Experience with SQL based databases, including query/storage tuning (Postgres, MSSQL).
* Ability to read, understand and action changes from execution plans.
* Knowledge of perpetual futures at a basic level
* Isolated vs Cross, Single vs Hedge position modes
* Experience with Actor/State Machine model (framework optional, Orleans/Coyote)
* Ability to extract, understand and diagnose proc/heap dumps.
* Experience of containers and associated subjects (Docker, SRV, Networking)
* Experience with front-end platforms (Angular/React, Blazor)
* Ability to understand and port networking protocols from other languages, or documentation.
* Strong ability to solve problems, consider edge cases, and 2nd/3rd order effects of changes on systems.
* Excellent inter-team communication skills.
* Excellent C-suite communication skills.
* Produce detailed and informative documentation.
* Produce internal reports of development progress, monitor and influence team performance.
* Ability to lead development teams of 4-8 individuals.
* Familiar and knowledgeable of CI/CD best practices.
* Experience with IaaC such as AWS CDK / Terraform
* Experience with OpenTelemetry and monitoring best practices.
* Exposure to cryptocurrency culture
* Experience with containerized systems, and it’s various hosting/isolation models.
* Experience with AWS Cloud
* Understanding web-scraping techniques, proxies, YARP.
£80-100k and fully remote.
Seniority level
Mid-Senior level
Employment type
Full-time
Job function
Information Technology
Industries
IT System Custom Software Development
#J-18808-Ljbffr