Esri
Tech / AI / Software
C++SoftwareDevelopmentEngineerII-GraphAlgorithms
Neural analysis suggests this role is
optimal for Mid candidates.
“C++ Software Development Engineer II - Graph Algorithms at Esri. Skills: C++, graph algorithms, optimization. Design and implement algorithms and solvers in C++ for transportation routing problems. Optimize existing and new C++ code to reduce memory consumption and to increase performance and scalability”
What You'll Achieve.
optimize their delivery fleet; provide driving directions; identify locations to site stores based on travel patterns; reduce memory consumption; increase performance and scalability
Industry & Context.
Analyze computational complexity of algorithms; diagnose root causes for incorrect software behavior and failures; Ability to clearly describe and analyze a problem and to articulate a solution
What They're Looking For.
Must Have
1+ years of experience designing and implementing transportation network graph algorithms, Experience with C++11 and modern C++ style and idioms, Experience designing, analyzing, and implementing graph algorithms, Familiarity with basic data structures, Ability to clearly describe and analyze a problem and to articulate a solution, Excellent written and verbal communication skills, time management, prioritization, teamwork, and interpersonal skills, Master degree or Ph. D. in computer science, engineering, or a related field
Nice to Have
Experience in code profiling and performance optimization, Knowledge of GIS, logistics, and transportation networks
What You'll Do.
Design and implement algorithms and solvers in C++ for transportation routing problems
Optimize existing and new C++ code to reduce memory consumption and to increase performance and scalability
Analyze computational complexity of algorithms
Work with product engineers to diagnose root causes for incorrect software behavior and failures
Fix bugs in the existing C++ codebase
Write comprehensive technical specifications and design documents
Participate throughout the software development life cycle
How You'll Work.
Team & Collaboration
Work with product engineers
Communication Scope
Excellent written and verbal communication skills; Ability to clearly describe and analyze a problem and to articulate a solution
Full Job Description
Overview Do you ever want to navigate the best way to get to a taco stand; know how many taco stands are within 10 minutes of your current location; or wonder how you can optimize traveling to all of them to savor the ultimate taco? If you love tacos and love graph algorithms and optimization, we’ve got the ideal job for you! Join the ArcGIS Network Analyst team and build state-of-the-art routing algorithms used by companies all over the world to optimize their delivery fleet, provide driving directions, identify locations to site stores based on travel patterns, and much more. Our work touches millions of users and has a far-reaching impact. You will work on a team focused on designing and implementing high-performance graph algorithms exposed in mobile, desktop, server, and cloud-based APIs and solutions within ArcGIS. This is a challenging and gratifying opportunity to apply your coding skills and passion for excellence to craft solutions for real-world transportation problems. Esri has a Relocation Assistance Program and can provide support with relocating to the Redlands, CA area for this position. Responsibilities Design and implement algorithms and solvers in C++ for transportation routing problems Optimize existing and new C++ code to reduce memory consumption and to increase performance and scalability Analyze computational complexity of algorithms Work with product engineers to diagnose root causes for incorrect software behavior and failures Fix bugs in the existing C++ codebase Write comprehensive technical specifications and design documents Participate throughout the software development life cycle Requirements 1+ years of experience designing and implementing transportation network graph algorithms Experience with C++11 and modern C++ style and idioms Experience designing, analyzing, and implementing graph algorithms Familiarity with basic data structures Ability to clearly describe and analyze a problem and to articulate a solution Excellent written
Applying for this C++ Software Development Engineer II - Graph Algorithms role?
Most applicants get filtered before a human reads their resume. See if yours makes the cut.
ANONYMOUS · UNFILTERED
What do employees actually say about Esri?
Real rants from real employees. Read before you apply.