Experience building interactive tools or visualization interfaces (web or desktop).
Coursework or experience in mapping, spatial systems, or network modeling, including topics such as:
mapping, spatial systems, or network modeling
Graph representations of road or guideway networks
Path connectivity and topology modeling
Basic optimization concepts (e.g., linear or mixed-integer programming) as applied to routing or resource allocation
Familiarity with spatial data and mapping concepts (e.g., coordinate systems, graph-based maps, GeoJSON, GIS tools, or interactive map frameworks) is a plus.
spatial data and mapping concepts
Strong grasp of algorithms, data structures, and computational complexity, with comfort reasoning about performance tradeoffs in large-scale systems.
Software engineering fundamentals:
Comfort working in a Linux environment
Experience with version control (git) and collaborative development workflows
Ability to write clear, maintainable, and tested code
Ability to communicate technical ideas clearly, both in writing and discussion, and to collaborate effectively with teammates across disciplines.
Responsibilities
Lead development of an interactive dispatch mapping tool that allows users to place, size, and configure stations, junctions, and depots; connect them by drawing paths; and export the resulting network so it can be ingested directly by an existing scenario simulator.
Lead development of an interactive dispatch mapping tool
Design intuitive editing workflows and UI interactions (e.g., drag-and-drop placement, resize handles, path drawing, property panels, and validation feedback) to enable engineers and operators to quickly build, modify, and verify dispatch maps without manual file editing.
Design intuitive editing workflows
Integrate simulation outputs, demand matrices, routing data, and performance metrics into the mapping tool to enable rapid “what-if” analysis and scenario exploration.
Integrate simulation outputs,
Contribute production-quality code to the Dispatch codebase in C++, Typescript, and/or Python, including unit tests, integration tests, and clear documentation.
Contribute production-quality code
Collaborate with teammates to translate high-level operational or commercial questions (e.g., “How many vehicles do we need for this project?” or “What if charging is slower?”) into well-posed optimization or simulation studies.
Collaborate with teammates
Participate in code reviews and design discussions, giving and receiving feedback to improve both code quality and overall system design.
Participate in code reviews and design discussions