高级软件开发工程师 - C#/WPF 用于 UI/UX 开发
Sr. Software Developer - C#/WPF for UI/UX Development
**职位简介**
这是一个加入快节奏敏捷团队的绝佳机会,团队使用最新技术和模式,包括异步编程和MVVM,设计和开发下一代Esri软件。我们专注于为ArcGIS Pro中的栅格和影像工作流设计和开发解决方案。我们的工具支持2D和3D中的复杂现实工作流程,用于栅格/影像处理和分析。如果您对用户交互和用户界面开发充满热情,那么请加入Esri的创意工程团队,打造独一无二的产品!
**职责**
- 为ArcGIS Pro中的影像和栅格支持开发用户界面组件
- 使用C#、WPF和C++遵循行业标准的设计模式和开发方法来构建软件组件
- 与团队成员和其他团队协作进行实现设计
- 为其他工程团队和使用我们API的外部开发者设计、开发和构建软件组件、框架和SDK
- 与产品工程师合作诊断并解决软件行为错误和故障的根本原因
- 通过与软件和产品开发团队的同事有效合作,及时构建和交付软件
- 在敏捷环境中工作,交付高质量的软件
**要求**
- 5年以上使用C#、WPF和C++构建商业软件的经验
- 使用任务并行库进行异步编程的经验
- 对面向对象设计、数据结构和设计模式有扎实的理解
- 能够清晰地描述和分析问题,并阐述解决方案
- 具备设计直观用户界面的能力,使用户更快更轻松地解决问题
- 能够与软件开发人员、产品工程师和文档编写者协作,发布高质量的软件
- 能够在快节奏且不断变化的敏捷环境中高效工作
- 强大的时间管理、优先级排序、团队合作和人际沟通能力
- 计算机科学、工程、数学或相关领域的学士学位
**推荐资格**
- 对成为能够构建完整功能的全栈开发人员感兴趣
- 了解MVVM应用设计模式
- 具有设计和开发简化复杂工作流的UI/UX经验,同时保持设计的灵活性以应对未知场景
- 具有C++11和现代C++风格及习惯用法的经验
- 具有使用Kubernetes、React、Python、Stripe等技术的经验
查看英文原文
**Overview**
This is a great opportunity to join 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. We are focused on designing and developing solutions for working with raster and imagery in ArcGIS Pro. Our tools support complex real-life workflows in 2D & 3D for raster / image processing and analysis. If you are excited about user interaction and user interface development, then join our creative engineering team at Esri to build something unique!
**Responsibilities**
- Develop user interface components for Imagery and Raster Support 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
**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 degree in computer science, engineering, mathematics, or related field
**Recommended 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
#LI-TA1
#LI-Remote
**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
$123,136—$202,488 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](https://www.esri.com/en-us/racial-equity/overview#engage-communities).
**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](mailto: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](https://www.esri.com/en-us/privacy/overview) 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.