Senior Software Developer
Esri
Summary
Join Esri's agile team and contribute to the development of next-generation ArcGIS Pro software focused on raster and imagery solutions. You will design and develop user interface components using C#, WPF, and C++, collaborating with team members and other departments. This role requires experience in asynchronous programming, object-oriented design, and building commercial software. The ideal candidate possesses strong communication and teamwork skills and a passion for creating intuitive user interfaces. Esri offers a competitive total rewards package, including comprehensive health benefits, retirement plans, paid time off, and opportunities for professional growth. The base salary range is estimated between $118,976 and $194,688 USD.
Requirements
- 5+ years of experience building commercial software using C#, WPF, and C++
- Experience in asynchronous programming using the Task Parallel Library
- Firm understanding of object-oriented design, data structures, and design patterns
- Ability to clearly describe and analyze a problem and to articulate a solution
- Good sense of designing intuitive user interfaces that allow users to solve problems faster and easier
- Ability to collaborate with software developers, product engineers, and documentation writers to release quality software
- Ability to work productively in a fast-paced and evolving agile environment
- Strong time management, prioritization, teamwork, and interpersonal communication skills
- Bachelorβs in computer science, engineering, mathematics, or related field
Responsibilities
- Develop user interface components for photogrammetry 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 engineering 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 timely software by working effectively with colleagues across software and product development
- Work in agile environment to deliver software of the highest quality
Preferred Qualifications
- Interest in being a full stack developer who can build full feature functionality
- 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 with C++11 and modern C++ style and idioms
- Experience working with large code bases
- Experience writing testable software
- Familiarity with ArcObjects (especially the Raster Object Model)
- GIS experience and knowledge of raster & imagery
- Experience with Agile software development using Scrum
Benefits
- 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
- Opportunities for personal and professional growth