C++ Software Development Engineer II - Graph Algorithms
Core
Design and implement high-performance graph algorithms for transportation routing and optimization problems used in mobile, desktop, server, and cloud-based APIs.
Role type
C++ Software Development Engineer II (Graph Algorithms)
Builds
Routing algorithms and solvers for ArcGIS Network Analyst
Domain
GIS, logistics, and transportation networks
Deliverable
production ML models
Required skills
C++11 and modern C++ idioms, graph algorithm design and implementation, data structures, computational complexity analysis, bug diagnosis and fixing, technical specification writing
Preferred skills
code profiling and performance optimization, GIS and logistics domain knowledge
Technologies
C++
Responsibilities
Design and implement algorithms and solvers in C++ for transportation routing problems; Optimize existing and new C++ code to reduce memory consumption and increase performance; Analyze computational complexity of algorithms; Work with product engineers to diagnose root causes for incorrect software behavior; Fix bugs in the existing C++ codebase; Write comprehensive technical specifications and design documents
Seniority
Mid-level, hands-on IC