We are looking for a Senior Software Engineer with strong F# expertise to build and maintain reliable backend systems using F# and .NET. You will work on business-critical services involving pricing, transactions, workflows, and integrations, while collaborating with engineers using TypeScript, Java, and Python. The role also involves applying agentic AI tooling to a functional .NET codebase.
Roles and Responsibilities :
- Design and build backend services and APIs in F# on .NET, with a domain-driven, type-first approach.
- Model complex business domains using algebraic data types, discriminated unions and railway-oriented error handling.
- Write and maintain high-quality tests unit, property-based (FsCheck) and integration.
- Work with relational and event-sourced data stores; design schemas, migrations and data access that hold up over time.
- Integrate with C#/.NET codebases and third-party services, and make interop boundaries clean.
- Own performance, observability and reliability for the services you build profiling, tracing, structured logging and alerting.
- Contribute to CI/CD, containerisation and cloud deployment of your services.
- Bring agentic AI tooling into the workflow code generation, refactoring and review and figure out what works for functional codebases.
- Review code, write design documents, and mentor engineers new to functional programming.
- Work directly with client engineering teams and explain your design decisions to them.
Must-Have Qualifications:
- 5+ years of professional software engineering experience, with substantial hands-on F# in production.
- Strong functional programming fundamentals immutability, higher-order functions, composition, purity, and knowing when to break the rules pragmatically.
- Solid .NET platform knowledge (.NET 6/8+, ASP.NET Core, async and task-based concurrency, dependency management, NuGet).
- Comfortable in C# as well as F#, and able to work across mixed-language solutions.
- Experience designing and consuming REST or gRPC APIs in production.
- Strong SQL and relational database design; experience with an ORM or type provider approach.
- Testing discipline you write tests as a matter of course, including property-based tests where they earn their keep.
- Git, CI/CD, Docker and cloud deployment experience (Azure, AWS or GCP).
- Clear written and spoken English; comfortable in client-facing technical discussions.
Good to Have:
- Domain-driven design and event sourcing / CQRS experience.
- F# ecosystem depth Giraffe, Saturn, Falco, Fable, SAFE Stack, Paket, FAKE, FsToolkit.ErrorHandling.
- Experience with other functional languages: OCaml, Haskell, Scala, Elixir or Clojure.
- Message-driven architecture (RabbitMQ, Azure Service Bus, Kafka).
- Kubernetes and infrastructure-as-code.
- Experience in a regulated or high-stakes domain fintech, travel, insurance, healthcare.
- Open-source contributions to the F#/.NET ecosystem, or conference and community involvement.
- Experience using AI coding agents seriously in a professional codebase.
Did you find something suspicious?
Posted by
Posted in
Backend Development
Functional Area
Backend Development
Job Code
1663157