← Back to all jobs
Horizon Assset Investments

Front-End Developer (Full-Time, Remote)

Horizon Assset Investments

38d ago

0DevAnywhere in the Worldweworkremotely
Front-End Programming

Job Description

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 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,