Back to Discovery
H

Front-End Developer (Full-Time, Remote)

Horizon Assset Investments
Remote
about 18 hours ago

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

To apply: https://weworkremotely.com/remote-jobs/horizon-assset-investments-front-end-developer-full-time-remote