Headquarters: Remote
URL: https://www.horizonassetinvestments.com/
Front-End Developer (Full-Time, Remote)
We are seeking a Front-End Developer to design and build the user-facing components of our high-performance trading platform. You will play a key role in creating intuitive, data-rich interfaces that enable traders and analysts to work efficiently and effectively.
You will collaborate closely with the Back-End Development Team and the Project Manager to deliver seamless, integrated systems. A key factor is the front end developer’s ability to deeply discuss approaches, trade-offs, limitations, and pros/cons with the development team, rather than reliance on any specific pattern or library.
Key Responsibilities
Qualifications
Core stack (mandatory)
Real-time data & performance
Charting & visualization
Architecture & data access
Auth, security, and roles
Testing, quality, and reliability
Nice-to-haves
Screening Questions
Keep answers **4–8 sentences** each. Bullet points allowed if clear.
1) **UI migration (hrzk → Next.js):**
Pick ONE area from the provided `hrzk.html` (e.g., Orders+Trades, Positions table, Equity/Drawdown).
Explain how you’d migrate it to **React 18 + Next.js (App Router) + TypeScript + Tailwind**.
Include folder structure and what you’d make **client vs server components**.
(We care about your trade-offs, not “the one true way”.)
2) **Real-time data ingestion:**
Describe how you’d handle **WebSockets/SSE** for high-frequency updates:
reconnect/backoff, authenticated sockets, and topic resubscriptions.
What failures do you expect in production?
3) **Backpressure + UI thrash prevention:**
Assume **thousands of updates/minute** for orders/positions/trades.
Explain how you’d implement buffering/coalescing/windowing so the UI stays responsive.
Mention how you’d combine this with **state management** (e.g., Zustand/RTK/useSyncExternalStore) and **virtualization** (react-window / react-virtualized).
What would you measure to prove it works?
4) **Charting approach:**
We need fast, readable, data-rich charts (equity/drawdown, doughnut/bars, etc.).
Pick a chart type from `hrzk.html` and explain:
- which charting library you’d choose (TradingView Lightweight Charts / Highcharts / D3 / etc.)
- update frequency strategy
- performance risks + mitigations
5) **Auth + role gating:**
Explain how you’d handle JWT/OIDC token refresh and **WebSocket authentication**, then implement role-based gating (read-only vs trading).
Use an example like “Cancel All Orders” or “Stop/Start Execution”: when do you hide vs disable vs show a warning?
6) **Remote ownership + teamwork:**
Give one example where you took ownership remotely on an ambiguous task.
Then describe how you’d work with a small dev team: how you ask clarifying questions, communicate risk early, and avoid shipping “local optimum” code that breaks other parts of the system.
What to expect (our interview process):
Our hiring process is mostly async and focused on real work.
You’ll start with a CV submission and a short, structured application.
Shortlisted candidates complete an async technical screen.
Finalists complete a paid, time‑boxed work sample aligned to the role.
End‑to‑end, the process typically runs 4–6 weeks.
FAQs
· Do I need to respond to the questions?
Yes, please respond to the questions ideally in an open format via a cover letter. This is mandatory for vetting.
· Do I need to attend live interviews?
Most stages are async to reduce scheduling friction. Live calls are minimal.
· Do I need to be on camera for the sample work?
No — screen + voice is sufficient.
· What tools can I use to submit recordings?
Any common screen‑recording or file‑sharing tool is fine, as long as the video is easy to view.
· Is the final task paid?
Yes. Final shortlisted candidates complete a paid, time‑boxed work sample.