Overview
Want more jobs like this?
Get Software Engineer jobs in Redlands, CA delivered to your inbox every week.
Responsibilities
- Build C++ software components that follow industry-standard design patterns, development methodologies, and deployment models
- Work closely with product engineers to implement requirements and create application architectures and API to meet product goals
- Create solutions for spatial data access and management of large datasets that are stored in a spatial database or file system
- Design and develop stable software that includes automated test validation
- Develop reusable components and libraries for use internally and as open source
- Work within agile processes for short cycle, fast-paced delivery
- Take on complex goals that push the boundary of the possible
- Solve and articulate complex problems through application design, development, and exemplary user experiences
Requirements
- 2+ years of experience working with C++ (STL, C++ 11, Boost)
- Experience with 3D graphics APIs such as WebGL, OpenGL ES, OpenGL, or DirectX
- Understanding of algorithms, data structures, and design patterns
- Strong math skills and expertise in computational geometry, topology, and data modeling for terrain and surface analysis
- Experience working with large datasets of vector and terrain/lidar data as well as data structures for storing, manipulating, and visualizing 3D data
- Experience with workflow computing, for example UI programming, scripting, and test authoring
- Knowledge of Agile development methodologies and test-driven development processes
- Prior experience with the development and release of commercial software
- Excellent problem-solving, design, development, and debugging skills
- Bachelor’s, master’s, or Ph.D. in computer science, engineering, mathematics, GIS, or related field, depending on position level (master’s or Ph.D. preferred)
Recommended Qualifications
- Knowledge of parallel, multi-core, and distributed programming techniques including heterogeneous multi-core environments (GPUs + CPUs)
- Experience building file-based solutions and/or with databases and data access technologies
- Experience with application scripting languages (e.g., Python, JavaScript) and web protocols and formats such as REST and JSON
- Experience developing software that runs in a cloud
- Familiarity with Esri ArcGIS or other web mapping technologies
Questions about our interview process? We have answers.
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.
If you need a reasonable accommodation for any part of the employment process, please email humanresources@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.