Description:What you’ll do
Write and maintain C# applications across the full trade lifecycle — pre-trade, execution, post-trade, and reporting
Author and optimize SQL Server queries, stored procedures, and schemas serving both operational and analytical workloads
Work directly with sales traders, execution traders, researchers, back-office staff, and desk heads — you are the technical contact, not a ticket-taker behind a queue
Diagnose production issues in time-sensitive environments where the wrong answer costs the desk real money
Extend and modernize an established codebase while keeping the business running
Required
Bachelor’s degree in Computer Science, Mathematics, Engineering, or a closely related field from an accredited four-year university, with a strong academic record. Transcripts may be requested.
Demonstrable fluency in C# and .NET — not coursework exposure, but code you have written yourself and can discuss in depth
Working knowledge of SQL (any dialect; SQL Server preferred), including joins, aggregation, indexing, and the basics of query planning
Broad knowledge of the technology space generally, and the ability to integrate new concepts quickly into your workflow
Exceptional written and verbal English communication. You will be emailing and speaking directly with senior stakeholders on day one.
Authorization to work in the United States as a citizen or permanent resident. We are not able to sponsor work visas.
Based in the US and available during East Coast market hours
Include in the body of the email:
A few sentences on why this role — two is fine, four maximum.
Your response to the application task below, pasted directly into the email body.
Applications missing the noted items will not be reviewed. We reply to every complete application.
Application task
1. SQL.
Given this table:
Trades (
TradeId INT,
TraderId INT,
CUSIP CHAR(9),
Side CHAR(1), — ‘B’ or ‘S’
Qty DECIMAL(18,2),
Price DECIMAL(18,6),
TradeTs DATETIME2
)
Write a single query that returns, for each TraderId, the CUSIP on which they traded the most notional yesterday (Qty × Price, summed across buys and sells), with ties broken by most recent trade. Paste your query and briefly explain your approach.
2. C#. Write a small C# class TradeAggregator that ingests a stream of Trade objects and exposes a method GetTopCusipByTrader(int traderId) returning the same answer as in #1. Assume trades arrive continuously and the method is called frequently. Paste your code and briefly describe your data-structure choices.
Apply: Email juniordev@afigg.xy with the subject line: Junior Developer — [Your Last Name]
To apply for this job email your details to juniordev@afigg.xyz

