At a Glance
- Tasks: Build cutting-edge systems for quant researchers using functional programming.
- Company: Top-tier quantitative research firm with advanced trading platforms.
- Benefits: Competitive salary, remote work options, and opportunities for professional growth.
- Why this job: Join a team that values functional design and makes a real impact in tech.
- Qualifications: 4+ years in software engineering with a focus on functional programming.
- Other info: Exciting opportunity to work on large-scale distributed systems.
The predicted salary is between 36000 - 60000 £ per year.
Overview
You must have experience in Functional programming, using one of the following: F#, Haskell, Rust, Lisp, Erlang, OCaml, Caml along with Python. You will not be considered if you haven't.
Experience: 4 years, varying levels of experience being considered.
Hires: 3+
We’re working with a top-tier quantitative research and systematic trading firm operating one of the most advanced trading platforms in the world. Their systems are fully automated, globally distributed, and run at extreme scale - executing millions of trades per day. Platform resilience, uptime, and operational efficiency are mission-critical.
As a Functional Software Engineer within the Research & Quant Foundations (RQF) group, you’ll sit at the core of the platform, building systems that enable quant researchers to move faster across a vast compute estate. The focus is on abstracting complexity, improving developer experience, and ensuring large-scale research workloads run smoothly and reliably. This is a high-bar engineering role for people who care deeply about functional design, correctness, and software quality.
What you’ll be working on:
- A core scheduling platform written in F#, responsible for distributing very large workloads across massive compute farms
- Python and .NET SDKs that form the primary day-to-day interface used by researchers
- A TypeScript/React UI backed by an F# ASP.NET service, Postgres, and Kubernetes, providing real-time visibility into workload execution
- Tooling and frameworks that enable researchers to build and deploy research platforms and express computations over streaming data
- Foundational systems designed for performance, safety, expressiveness, and long-term maintainability
The codebase is approximately 75% F#, with the remaining 25% primarily Python and Rust. Day-to-day work includes high-end, production-grade Python, but the engineering culture is strongly rooted in functional programming principles.
What they’re looking for:
- Strong interest and experience in functional programming
- 4+ years of software engineering experience in high-bar environments
- Excellent programming ability with a deep focus on code quality and design
- Experience with one or more of: F#, Haskell, Rust, Lisp, Erlang, OCaml, Caml, or similar
- Professional Python experience beyond scripting or notebooks
- An engineer who genuinely cares about developer experience
- Exposure to compiler work or language tooling is a strong plus
- MSc or PhD in Computer Science (or equivalent depth of technical background) is highly desirable
This team hires exceptionally well and is scaling deliberately, with three new hires planned. If you’re excited by functional programming, large-scale distributed systems, and building foundational tooling that world-class researchers rely on every day, this is a standout opportunity.
Functional Software Engineer employer: Arcus Search
Contact Detail:
Arcus Search Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Functional Software Engineer
✨Tip Number 1
Network like a pro! Reach out to folks in the industry, especially those who work at firms you're interested in. A friendly chat can open doors and give you insights that job descriptions just can't.
✨Tip Number 2
Show off your skills! If you've got a GitHub or personal project showcasing your functional programming prowess, make sure to highlight it. Real-world examples of your work can speak volumes more than a CV.
✨Tip Number 3
Prepare for technical interviews by practicing coding challenges and system design questions. We recommend using platforms that focus on functional programming to get you in the right mindset for this role.
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, we love seeing candidates who are proactive about their job search!
We think you need these skills to ace Functional Software Engineer
Some tips for your application 🫡
Show Off Your Functional Skills: Make sure to highlight your experience with functional programming languages like F#, Haskell, or Rust. We want to see how you've used these skills in real-world projects, so don’t hold back!
Quality Over Quantity: When detailing your experience, focus on the quality of your work rather than just listing jobs. We care about your coding ability and how you approach software design, so share specific examples that showcase your best work.
Tailor Your Application: Don’t send a generic application! Tailor your CV and cover letter to reflect the job description. Mention your passion for functional programming and how it aligns with our mission at StudySmarter.
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way for us to receive your application and ensures you’re considered for this exciting opportunity in our team!
How to prepare for a job interview at Arcus Search
✨Know Your Functional Programming Inside Out
Make sure you brush up on your knowledge of functional programming languages like F#, Haskell, or Rust. Be prepared to discuss specific projects where you've applied these languages and how they contributed to the success of your work.
✨Showcase Your Problem-Solving Skills
During the interview, expect to tackle some technical challenges. Practice coding problems that require a functional approach, and be ready to explain your thought process clearly. This will demonstrate your ability to think critically and solve complex issues.
✨Highlight Your Experience with Large-Scale Systems
Since the role involves working on systems that execute millions of trades daily, share examples from your past experiences where you’ve dealt with high-performance, distributed systems. Discuss any challenges you faced and how you overcame them.
✨Emphasise Developer Experience and Code Quality
This team values code quality and developer experience highly. Be prepared to talk about how you ensure high standards in your code, such as through testing, code reviews, or using specific tools. Show that you care about creating a positive environment for fellow developers.