
C++ Software Developer II - ModelBuilder, ArcGIS Pro
Automate your job search with Sonara.
Submit 10x as many applications with less effort than one manual application.1
Reclaim your time by letting our AI handle the grunt work of job searching.
We continuously scan millions of openings to find your top matches.

Overview
Job Description
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
Automate your job search with Sonara.
Submit 10x as many applications with less effort than one manual application.
