2 weeks left to apply
Job Description
Job descriptionRole & responsibilities Youll build a cross-platform desktop trading terminal (Windows/macOS/Linux) using C++17/20 + Qt/QtQuick (QML), tightly integrated with a C++ backend for real-time market data, order management, charting, and risk controls. Think MetaTrader-grade UX with exchange/broker connectivity and sub-millisecond UI responsiveness. What Youll Do Design and develop desktop UI in Qt Widgets/QtQuick (QML): order tickets, DOM/Depth, positions, PnL, watchlists, alerts, and multi-chart workspaces. Implement MVVM/MVC patterns with QAbstractItemModel, models/proxies, and high-frequency view updates. Build real-time charting (ticks, candles, indicators), multi-timeframe aggregation, and drawing tools. Integrate market data feeds (TCP/UDP/WebSocket) and order routing (REST/FIX/native broker APIs) with robust reconnect, back-pressure, and throttling. Engineer low-latency C++ backend modules: symbol/quote cache, order book, OMS, risk checks, persistence, and pub/sub to the UI layer. Own performance: lock-contention reduction, zero-copy/move semantics, memory profiling, and frame-time budgets for smooth 60?120 FPS rendering. Ensure security & reliability: input validation, secrets handling, crash-safe state recovery, and telemetry/diagnostics. Write unit/integration tests, contribute to CI/CD, and participate in code reviews and release hardening. Collaborate with product/quant/DevOps on features, rollouts, and production support. Must-Have Skills 5+ years professional C++ (C++17/20) with strong STL, concurrency (std::thread, atomics, lock-free where sensible), and networking. Qt (5/6), QtQuick/QML, signals/slots, QAbstractItemModel, models/proxies, QPainter/Scene Graph, and interop between C++ and QML. Building cross-platform apps (Windows/macOS/Linux) and installers; CMake (preferred) or qmake. Real-time UI experience: rendering large, streaming datasets without jank; profiling with tools like Perf, Instruments, VTune. Market systems experience: order lifecycle, market/limit/stop orders, partial fills, TIF, positions, PnL, margin, and basic risk controls. Networking protocols: TCP/UDP, WebSocket; familiarity with FIX (order flow, sessions, heartbeats, resend, recovery). Solid debugging skills (asan/ubsan/valgrind), and writing maintainable, testable code. Nice-to-Haves Custom charting engines, multi-chart layouts, and indicator frameworks. High-throughput messaging (ZeroMQ/Redis/Kafka), shared memory, or ring-buffers. Time-series storage (kdb+/ClickHouse/Influx/Postgres) and snapshot+incremental book handling. GPU-accelerated rendering (OpenGL/Metal/Vulkan via Qt). Experience with algo/HFT constraints, micro-burst handling, and clock sync (NTP/PTP). Secure secrets/key management, code-signing, and updater frameworks. Python/JS bridges for scripting strategies or plugins. Responsibilities in the First 90 Days Ship a production-ready watchlist + ticker tape + L1/L2 view wired to live feeds. Deliver order ticket + OMS flow (place/modify/cancel), with optimistic UI and robust error handling. Implement multi-pane charting with historical backfill + live streaming and at least 5 core indicators. Establish telemetry & profiling dashboards and performance budgets (latency, FPS, GC/mem). Tooling & Stack Languages: C++17/20, QML Frameworks: Qt 6.x (preferred), QtQuick, Quick Controls 2 Build/CI: CMake, Conan/vcpkg, GitHub/GitLab CI, unit tests (Catch2/GoogleTest) Protocols: FIX 4.2/4.4/5.0, REST, WebSocket OS: Windows/macOS/Linux Qualifications BTech/BE/BS in CS/EE (or equivalent) with strong systems and UI fundamentals. Demonstrated delivery of at least one real-time Qt/QML desktop app (portfolio or repo welcomed).
Required Skills
Additional Information
- Company Name
- 9x Technology L.L.C
- Industry
- N/A
- Department
- N/A
- Role Category
- Data Scientist
- Job Role
- Mid-Senior level
- Education
- No Restriction
- Job Types
- On Site
- Gender
- No Restriction
- Notice Period
- Less Than 30 Days
- Year of Experience
- 1 - Any Yrs
- Job Posted On
- 3 weeks ago
- Application Ends
- 2 weeks left to apply