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
- Develop and maintain the front-end applications of our trading platform.
- Collaborate with back-end developers and the project manager to ensure smooth integration across systems.
- Design and implement multi-page layouts, menus, and workflows that balance usability with efficiency.
- Contribute to the design and user experience of the trading platform, performance & risk manager, and backtesting engine.
- Implement and optimize charting and data visualization features, leveraging libraries such as TradingView or D3.js to support a wide variety of chart types (tables, multi-line chart packs, etc.).
- Continuously refine the UI/UX to ensure clarity, speed, and intuitive navigation for end users.
Qualifications
- Strong communication skills and the ability to collaborate effectively with developers, project managers, and business stakeholders.
- A keen eye for design, simplicity, and efficiency, with the ability to translate complex requirements into clean, user-friendly interfaces.
- Knowledge of financial systems or trading concepts is preferred.
Core stack (mandatory)
- React 18 + Next.js (App Router), TypeScript, TailwindCSS.
- Strong command of state management for high-frequency data (e.g., Zustand, Redux Toolkit, useSyncExternalStore).
Real-time data & performance
- Hands-on with WebSockets / SSE and reconnection/backoff strategies; handling authenticated socket connections and topic resubscriptions.
- Experience implementing backpressure, buffering, coalescing, and windowing to prevent UI thrash under thousands of updates/minute.
- Data virtualization (react-virtualized, react-window) for large tables (orders, positions, trades).
- Familiar with Web Workers / OffscreenCanvas and message passing to keep the main thread responsive.
- Awareness of latency budgets and frame-time profiling using React DevTools and browser performance tools.
Charting & visualization
- Practical experience with professional charting libs (e.g., TradingView Charting Library, Lightweight Charts, Highcharts, D3).
- Real-time overlays: best bid/ask, order book depth, last OHLCV, order/position annotations.
- Multi-pane layouts (price, volume, indicators) with synchronized crosshairs and time scales.
Architecture & data access
- Client-side caching and invalidation (e.g., TanStack Query / React Query).
- Schema-driven UI for instruments and venues.
- Use of Error Boundaries, Suspense, and progressive hydration/streaming for large Next.js pages.
Auth, security, and roles
- Strong understanding of OIDC/JWT flows, token refresh/rotation, and WebSocket authentication.
- Role-based feature gating (read-only vs trading permissions).
Testing, quality, and reliability
- Unit tests for critical transforms/parsers (e.g., Playwright/Vitest for E2E/interaction flows)
- Experience with feature flags, staged rollouts, and monitoring with Sentry/OpenTelemetry.
Nice-to-haves
- Experience with desktop-class layouts (drag-to-dock panels, resizable grids).
- Exposure to WASM for heavy computations (e.g., indicator calculations).
- Familiarity with FIX/crypto venue nuances (tick sizes, lot sizes, trading sessions).
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.