Esri

C++ Software Developer II - ModelBuilder, ArcGIS Pro

Redlands, CA Full Time

Overview

We are seeking a talented full stack developer with strong C++ skills that enjoys coding powerful and intuitive desktop software. Join us if you are looking for a fulfilling career in software development where you design and create both user-friendly frontends and robust backend functions and APIs. As a Software Developer on the ModelBuilder team, you will help us develop innovative new capabilities for analytical modeling. This is a great opportunity to join a fast-paced and agile team as we support the work of our large global customer base who are solving critical problems using spatial analysis and ModelBuilder in Esri’s Desktop GIS product, ArcGIS Pro. 

Responsibilities

  • Build the next generation workflow-based diagramming interface and user experiences for ArcGIS Pro that allows simple or complex sequences of tools to run efficiently
  • Follow design patterns, development methodologies, and deployment techniques using C++, C#, .NET, MVVM, and WPF
  • Find, analyze, and fix bugs and performance problems whenever they occur in the software
  • Build and ship quality software by working effectively in an agile, highly interactive, and creative team environment
  • Work closely with product specialists and software designers to create innovative new ModelBuilder capabilities
  • Become an expert in interaction patterns and use of the third-party diagramming library and supporting backend APIs and framework used by ModelBuilder
  • Contribute to and run unit tests to ensure high quality development free of regressions 

Requirements

  • 2+ years of experience in C++ with strong understanding of memory management, smart pointers, multithreading and concurrency, performance optimization and profiling and more
  • Strong proficiency in C# (.NET) including object-oriented design principles, asynchronous programming (async/await), parallel processing methods, dependency injection and application lifecycle management and more
  • Strong understanding of API design, component based and layered architectures, interoperability between native (C++) and managed (.NET) code and more
  • Ability to make informed tradeoffs between performance, maintainability, and extensibility
  • Proven experience diagnosing and resolving memory leaks, race conditions, deadlocks, bottlenecks in CPU and memory intensive applications and familiarity with profiling and diagnostics tools for both C++ and .NET and more
  • Experience designing modular, scalable, and maintainable systems
  • Ability to clearly analyze and describe problems, and propose solutions
  • Ability to collaborate in a team environment and work closely with software developers, product engineers, and others to build quality software in a constantly evolving agile environment
  • Bachelor's degree in computer science or a related field
  • GitHub link showcasing your projects and work

Recommended Qualifications

  • Master’s or PhD in computer science or a related field
  • Familiarity with Esri products or similar GIS or spatial software
  • Experience in areas of data analysis
  • Experience with development and release of commercial software products
  • Experience with Agile software development using Scrum
  • Experience writing testable (or test-driven) software 

#LI-AL1

#LI-Onsite

Total Rewards

Esri’s competitive total rewards strategy includes industry-leading health and welfare benefits: medical, dental, vision, basic and supplemental life insurance for employees (and their families), 401(k) and profit-sharing programs, minimum accrual of 80 hours of vacation leave, twelve paid holidays throughout the calendar year, and opportunities for personal and professional growth. Base salary is one component of our total rewards strategy. Compensation decisions and the base range for this role take into account many factors including but not limited to skill sets; experience and training; licensure and certifications; and other business and organizational needs.

A reasonable estimate of the base salary range is
$101,192$167,336 USD

The Company

At Esri, diversity is more than just a word on a map. When employees of different experiences, perspectives, backgrounds, and cultures come together, we are more innovative and ultimately a better place to work. We believe in having a diverse workforce that is unified under our mission of creating positive global change. We understand that diversity, equity, and inclusion is not a destination but an ongoing process. We are committed to the continuation of learning, growing, and changing our workplace so every employee can contribute to their life’s best work. Our commitment to these principles extends to the global communities we serve by creating positive change with GIS technology. For more information on Esri’s Racial Equity and Social Justice initiatives, please visit our website here.

If you don’t meet all of the preferred qualifications for this position, we encourage you to still apply!

Esri is an equal opportunity employer (EOE) and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability status, protected veteran status, or any other characteristic protected by law. If you need reasonable accommodation for any part of the employment process, please email askcareers@esri.com and let us know the nature of your request and your contact information. Please note that only those inquiries concerning a request for reasonable accommodation will be responded to from this e-mail address.

Esri Privacy Esri takes our responsibility to protect your privacy seriously. We are committed to respecting your privacy by providing transparency in how we acquire and use your information, giving you control of your information and preferences, and holding ourselves to the highest national and international standards, including CCPA and GDPR compliance.