
ESRI, Inc.
About Us
Overview:
Join a creative engineering team focused on designing and developing the next generation of solutions working with raster and imagery in ArcGIS Pro. We work with professionals to provide tools that support complex real-life workflows in 2D and 3D for raster and image processing and analysis. This is a great opportunity to be part of a fast-paced agile team that works with the latest technologies and patterns, asynchronous programming, and MVVM to design and develop next-gen Esri software.
Responsibilities:
Design and develop raster and imagery focused solutions in ArcGIS Pro
Follow industry-standard design patterns and development methodologies using C#, WPF, and C++ to build software components
Collaborate on implementation designs with team members and across other teams
Design, develop, and build software components, frameworks, and SDKs for other teams and external developers consuming our API
Work with product engineers to diagnose and resolve root causes for incorrect software behavior and failures
Build and ship quality software by working effectively with members of other software development teams
Work in an agile environment to deliver software of the highest quality
Write and maintain unit test cases for C++ core libraries
Communicate requirements and dependencies of the component within the system
Requirements:
2+ years of C++ experience building commercial software
Experience in asynchronous programming
Firm understanding of object-oriented design, data structures, and design patterns
Understanding of scientific algorithm specifications
Ability to clearly describe and analyze a problem and articulate a solution
Excellent written and verbal communication skills
Ability to work effectively in a fast-paced and constantly evolving agile environment; strong time management, prioritization, teamwork, and interpersonal skills
Bachelor’s in computer science, engineering, mathematics, or related field (master's preferred)
Recommended Qualifications:
Experience designing intuitive user interfaces that allow users to solve problems faster and easier
Knowledge of MVVM application design pattern
Experience designing and developing UI/UX that simplify complex workflows, while keeping designs flexible for handling unknown scenarios
Experience in areas of data analysis, and data visualization – particularly in the realm of communicating analytical results as informative, interactive, charts, etc., would be advantageous
Experience with C++17 / C++20 and modern C++ style and idioms
Experience working with large code bases
Familiarity with ArcObjects (especially the Raster Object Model)
GIS experience, knowledge of raster and imagery, and knowledge of Esri products or similar GIS or spatial software
Prior experience with software development and release of commercial software products
Experience with Agile software development using Scrum
Experience with writing testable software
The Company:
Our passion for improving quality of life through geography is at the heart of everything we do. Esri’s geographic information system (GIS) technology inspires and enables governments, universities, and businesses worldwide to save money, lives, and our environment through a deeper understanding of the changing world around them.
Carefully managed growth and zero debt give Esri stability that is uncommon in today's volatile business world. Privately held, we offer exceptional benefits, competitive salaries, 401(k) and profit-sharing programs, opportunities for personal and professional growth, and much more.
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.
#LI-JO1
#IND1