C++ Software Engineer - VRP

Esri   •  

Redlands, CA

Industry: Technology

  •  

Not Specified years

Posted 46 days ago

OVERVIEW

Do you know how to optimize package deliveries by distributing them among a fleet of vehicles, then ordering the deliveries to minimize operating costs? If you know the vehicle routing problem (VRP) and are eager to tackle messy real-world constraints, we’ve got the ideal job for you! Join the ArcGIS Network Analyst team and build and enhance VRP algorithms used by companies all over the world to optimize their delivery fleet, schedule inspections and service calls, route school buses, and much more. Our work touches millions of users and has far-reaching impact. You will work on a team focused on designing and implementing high-performance optimization 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 talent and passion for excellence to craft solutions for real-world vehicle routing problems.

RESPONSIBILITIES

  • Design and implement new capabilities in C++ for the vehicle routing problem (VRP) solver
  • Perform computational experiments and use results to guide tuning of algorithm parameters
  • 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

  • Knowledge of vehicle routing problem models and solution methodologies, including the use of heuristics and meta-heuristics
  • Broad knowledge of C++, with a good understanding of object-oriented techniques and class design, and familiarity with the standard library
  • Familiarity with basic data structures
  • Ability to clearly describe and analyze a problem and to articulate a solution
  • Excellent written and verbal communication skills
  • Strong time management, prioritization, teamwork, and interpersonal skills
  • Master’s or Ph.D. in computer science, mathematics, operations research, engineering, or a related field, depending on position level

RECOMMENDED QUALIFICATIONS

  • 2+ years of experience in commercial software engineering
  • Experience with C++11 and modern C++ style and idioms
  • Experience in code profiling and performance optimization
  • Knowledge of GIS, logistics, and transportation networks