Senior Full-Stack Engineer (React + Python)
About the role:
You'll work on the internal compute-platform web application of a US robotics / autonomous company โ the system that runs safety simulations and large-scale compute workloads (training, batch inference, MapReduce-style jobs) across a cluster of roughly 50,000โ100,000 nodes.
The app is the task-management UI where engineers submit and track jobs: job status and queue time, debugging, and understanding jobs modeled as DAGs (directed acyclic graphs) โ which steps ran, which failed, what resources were consumed, why a job is slow, and how to optimize it (e.g. GPU utilization, switching between CPU/GPU nodes).
The application is ~10 years old; its first version was in Vue, and a React migration began ~18 months ago (the team is now building the next major version). The approach is incremental: a host shell with key pages implemented in React, iframing much of the older Vue app. Today it's ~90% frontend โ a React app calling many existing services โ and will grow its own dedicated Python backend over time, moving toward roughly two-thirds frontend / one-third backend in steady state.
This is a senior, autonomous role. Design/product support is limited to UI polish, so you'll exercise product judgment yourself โ walking through user flows as a user, and asking clarifying questions when a ticket isn't well-defined.
What you'll do:
- Build and rework user interfaces in React; migrate the remaining Vue components to React and build new React components.
- Reuse the team's shared component library / in-house UI toolkit.
- Grow a lightweight Python backend โ application-level joins, light workflow/processing, a DynamoDB store for things like user preferences โ while the app continues to call many existing services.
- Visualize complex job/DAG data clearly: status, failures, resource usage, and performance.
- Talk to users, clarify ambiguous requirements, and ship features end to end.
Must-have:
- Strong, hands-on React โ modern hooks, component architecture, state management, performance.
- Solid Python for backend development.
- General database experience.
- A product mindset: questions whether a ticket is well-defined, pushes back constructively, drives clarity instead of waiting for prescriptive specs.
- Ability to operate at a senior level โ autonomous, user-facing, proactive, comfortable owning features end to end.
Nice-to-have:
- Ability to read and understand Vue (to migrate existing components).
- Experience with complex data visualization / dashboards, ideally graph/DAG rendering.
- WebGL โ only for advanced graph visualization; genuinely optional (fine without it).
- Experience with a shared component library / design system.
- Experience with internal developer platforms, compute, or infrastructure tooling.
What success looks like:
In the first months you'll take ownership of meaningful parts of the app โ migrating Vue screens to React, shipping UI improvements users notice, and starting to shape the Python backend โ while reducing the hand-holding needed to move a feature from idea to production.