{"id":64936,"date":"2026-04-29T09:12:31","date_gmt":"2026-04-29T05:12:31","guid":{"rendered":"https:\/\/hir1.com\/job\/horizon-assset-investments-front-end-developer-full-time-remote\/"},"modified":"2026-04-29T09:12:37","modified_gmt":"2026-04-29T05:12:37","slug":"horizon-assset-investments-front-end-developer-full-time-remote","status":"publish","type":"job_listing","link":"https:\/\/hir1.com\/ar\/job\/horizon-assset-investments-front-end-developer-full-time-remote\/","title":{"rendered":"Horizon Assset Investments: Front-End Developer (Full-Time, Remote)"},"content":{"rendered":"<p>Remote Jobs<\/p>\n<p>Region: Anywhere in the World<\/p>\n<p>State: London<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/we-work-remotely.imgix.net\/logos\/0171\/4987\/logo.gif?ixlib=rails-4.0.0&#038;w=50&#038;h=50&#038;dpr=2&#038;fit=fill&#038;auto=compress\" \/><\/p>\n<p>\n  <strong>Headquarters:<\/strong> Remote<br \/>\n    <br \/><strong>URL:<\/strong> <a href=\"https:\/\/www.horizonassetinvestments.com\/\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/www.horizonassetinvestments.com\/<\/a>\n<\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Front-End Developer (Full-Time, Remote)<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><span>&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">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.<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">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\u2019s ability to deeply discuss approaches, trade-offs, limitations, and pros\/cons with the development team, rather than reliance on any specific pattern or library.<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\"><\/span><\/p>\n<p class=\"MsoNormal\"><strong><span>&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">\u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Develop and maintain the front-end applications of our trading platform.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Collaborate with back-end developers and the project manager to ensure smooth integration across systems.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Design and implement multi-page layouts, menus, and workflows that balance usability with efficiency.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Contribute to the design and user experience of the trading platform, performance &amp; risk manager, and backtesting engine.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">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.).<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Continuously refine the UI\/UX to ensure clarity, speed, and intuitive navigation for end users.<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span lang=\"EN-US\"><\/span><\/p>\n<p class=\"MsoNormal\"><strong><span>&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Qualifications<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Strong communication skills and the ability to collaborate effectively with developers, project managers, and business stakeholders.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">A keen eye for design, simplicity, and efficiency, with the ability to translate complex requirements into clean, user-friendly interfaces.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Knowledge of financial systems or trading concepts is preferred.<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Core stack (mandatory)<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">React 18 + Next.js (App Router), TypeScript, TailwindCSS.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Strong command of state management for high-frequency data (e.g., Zustand, Redux Toolkit, useSyncExternalStore).<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Real-time data &amp; performance<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Hands-on with WebSockets \/ SSE and reconnection\/backoff strategies; handling authenticated socket connections and topic resubscriptions.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Experience implementing backpressure, buffering, coalescing, and windowing to prevent UI thrash under thousands of updates\/minute.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Data virtualization (react-virtualized, react-window) for large tables (orders, positions, trades).<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Familiar with Web Workers \/ OffscreenCanvas and message passing to keep the main thread responsive.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Awareness of latency budgets and frame-time profiling using React DevTools and browser performance tools.<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Charting &amp; visualization<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Practical experience with professional charting libs (e.g., TradingView Charting Library, Lightweight Charts, Highcharts, D3).<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Real-time overlays: best bid\/ask, order book depth, last OHLCV, order\/position annotations.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Multi-pane layouts (price, volume, indicators) with synchronized crosshairs and time scales.<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Architecture &amp; data access<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Client-side caching and invalidation (e.g., TanStack Query \/ React Query).<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Schema-driven UI for instruments and venues.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Use of Error Boundaries, Suspense, and progressive hydration\/streaming for large Next.js pages.<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Auth, security, and roles<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Strong understanding of OIDC\/JWT flows, token refresh\/rotation, and WebSocket authentication.<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Role-based feature gating (read-only vs trading permissions).<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Testing, quality, and reliability<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Unit tests for critical transforms\/parsers (e.g., Playwright\/Vitest for E2E\/interaction flows)<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Experience with feature flags, staged rollouts, and monitoring with Sentry\/OpenTelemetry.<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><strong><span lang=\"EN-US\">Nice-to-haves<\/span><\/strong><\/p>\n<ul>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Experience with desktop-class layouts (drag-to-dock panels, resizable grids).<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Exposure to WASM for heavy computations (e.g., indicator calculations).<\/span><\/li>\n<li class=\"MsoNormal\"><span lang=\"EN-US\">Familiarity with FIX\/crypto venue nuances (tick sizes, lot sizes, trading sessions).<\/span><\/li>\n<\/ul>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Screening Questions<br \/>Keep answers **4\u20138 sentences** each. Bullet points allowed if clear.<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">1) **UI migration (hrzk \u2192 Next.js):**<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Pick ONE area from the provided `hrzk.html` (e.g., Orders+Trades, Positions table, Equity\/Drawdown).<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Explain how you\u2019d migrate it to **React 18 + Next.js (App Router) + TypeScript + Tailwind**.<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Include folder structure and what you\u2019d make **client vs server components**.<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">(We care about your trade-offs, not \u201cthe one true way\u201d.)<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">2) **Real-time data ingestion:**<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Describe how you\u2019d handle **WebSockets\/SSE** for high-frequency updates:<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">reconnect\/backoff, authenticated sockets, and topic resubscriptions.<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">What failures do you expect in production?<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">3) **Backpressure + UI thrash prevention:**<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Assume **thousands of updates\/minute** for orders\/positions\/trades.<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Explain how you\u2019d implement buffering\/coalescing\/windowing so the UI stays responsive.<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Mention how you\u2019d combine this with **state management** (e.g., Zustand\/RTK\/useSyncExternalStore) and **virtualization** (react-window \/ react-virtualized).<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">What would you measure to prove it works?<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">4) **Charting approach:**<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">We need fast, readable, data-rich charts (equity\/drawdown, doughnut\/bars, etc.).<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Pick a chart type from `hrzk.html` and explain:<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&#8211; which charting library you\u2019d choose (TradingView Lightweight Charts \/ Highcharts \/ D3 \/ etc.)<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&#8211; update frequency strategy<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&#8211; performance risks + mitigations<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">5) **Auth + role gating:**<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Explain how you\u2019d handle JWT\/OIDC token refresh and **WebSocket authentication**, then implement role-based gating (read-only vs trading).<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Use an example like \u201cCancel All Orders\u201d or \u201cStop\/Start Execution\u201d: when do you hide vs disable vs show a warning?<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">6) **Remote ownership + teamwork:**<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Give one example where you took ownership remotely on an ambiguous task.<span>&nbsp; <\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">Then describe how you\u2019d work with a small dev team: how you ask clarifying questions, communicate risk early, and avoid shipping \u201clocal optimum\u201d code that breaks other parts of the system.<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-US\">What to expect (our interview process):<\/span><\/p>\n<p class=\"MsoNormal\"><strong><span>&nbsp;<\/span><\/strong><\/p>\n<p class=\"MsoNormal\"><span>Our hiring process is mostly async and focused on real work.<br \/>You\u2019ll start with a CV submission and a short, structured application.<br \/>Shortlisted candidates complete an async technical screen.<br \/>Finalists complete a paid, time\u2011boxed work sample aligned to the role.<br \/>End\u2011to\u2011end, the process typically runs 4\u20136 weeks.<\/span><\/p>\n<p class=\"MsoNormal\"><span>&nbsp;<\/span><\/p>\n<p class=\"MsoNormal\"><span>\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629<\/span><\/p>\n<p class=\"MsoListParagraphCxSpFirst\"><span><span>\u00b7<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span>Do I need to respond to the questions?<\/span><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\"><span>Yes, please respond to the questions ideally in an open format via a cover letter. This is mandatory for vetting.<\/span><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\"><span><span>\u00b7<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span>Do I need to attend live interviews?<br \/>Most stages are async to reduce scheduling friction. Live calls are minimal.<\/span><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\"><span><span>\u00b7<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span>Do I need to be on camera for the sample work?<br \/>No \u2014 screen + voice is sufficient.<\/span><\/p>\n<p class=\"MsoListParagraphCxSpMiddle\"><span><span>\u00b7<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span>What tools can I use to submit recordings?<br \/>Any common screen\u2011recording or file\u2011sharing tool is fine, as long as the video is easy to view.<\/span><\/p>\n<p class=\"MsoListParagraphCxSpLast\"><span><span>\u00b7<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span>Is the final task paid?<br \/>Yes. Final shortlisted candidates complete a paid, time\u2011boxed work sample.<\/span><\/p>\n<p><strong>To apply:<\/strong> <a href=\"https:\/\/weworkremotely.com\/remote-jobs\/horizon-assset-investments-front-end-developer-full-time-remote\" rel=\"nofollow noopener\" target=\"_blank\">https:\/\/weworkremotely.com\/remote-jobs\/horizon-assset-investments-front-end-developer-full-time-remote<\/a><\/p>\n<p>React, Tailwind CSS, and TypeScript<\/p>\n<p>&nbsp;<\/p>","protected":false},"author":100,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","job_listing_type":[1174],"job_listing_category":[1269],"job_listing_location":[],"job_listing_tag":[],"class_list":["post-64936","job_listing","type-job_listing","status-publish","hentry","job_listing_type-remote","job_listing_category-front-end-programming"],"metas":{"_job_featured_image":"","_job_featured":"","_job_filled":"","_job_urgent":"","_job_category":{"1269":"Front-End Programming"},"_job_type":{"1174":"Remote"},"_job_tag":[],"_job_expiry_date":"","_job_gender":"","_job_apply_type":"external","_job_phone":"","_job_apply_url":"https:\/\/weworkremotely.com\/remote-jobs\/horizon-assset-investments-front-end-developer-full-time-remote","_job_apply_email":"","_job_salary_type":"","_job_salary":"","_job_experience":"","_job_career_level":"","_job_qualification":"","_job_video_url":"","_job_photos":"","_job_application_deadline_date":"","_job_address":"","_job_location":[],"_job_map_location":{"address":"","latitude":"","longitude":""},"_job_logo":"https:\/\/hir1.com\/wp-content\/uploads\/wp-job-board-pro-uploads\/_employer_featured_image\/2026\/01\/Icon-Hir1-150x150.png","_job_employer_name":"HR","_job_employer_url":"https:\/\/hir1.com\/ar\/employer\/hr\/"},"cmb2":{"_job_careerjet_job_fields":{"_job_careerjet_detail_url":"","_job_careerjet_company_name":""}},"_links":{"self":[{"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/job_listing\/64936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/job_listing"}],"about":[{"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/types\/job_listing"}],"author":[{"embeddable":true,"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/users\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/comments?post=64936"}],"wp:attachment":[{"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/media?parent=64936"}],"wp:term":[{"taxonomy":"job_listing_type","embeddable":true,"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/job_listing_type?post=64936"},{"taxonomy":"job_listing_category","embeddable":true,"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/job_listing_category?post=64936"},{"taxonomy":"job_listing_location","embeddable":true,"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/job_listing_location?post=64936"},{"taxonomy":"job_listing_tag","embeddable":true,"href":"https:\/\/hir1.com\/ar\/wp-json\/wp\/v2\/job_listing_tag?post=64936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}