> Markdown version of [/jobs/ext/2082968-principal-c-2d-3d-software-developer](https://www.wearedevelopers.com/jobs/ext/2082968-principal-c-2d-3d-software-developer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Principal C++ 2D/3D Software Developer - **Company:** Environmental Systems Research Institute, Inc. - **Location:** Portland, ME, United States - **Experience:** Expert - **Salary:** $150,696.0 - $247,312.0 - **Contract:** Permanent contract - **Skills:** 3D Computer Graphics Software, Geographic Information Systems, Application Programming Interfaces (APIs), ArcGIS (Software), C++ (Programming Language), Computer Engineering, Computer Graphics, DirectX (Software), Text Processing, OpenGL Shading Language, Online Service Provider, OpenGL, Software Engineering, Data Streaming, Multithreading, Parallel Computation, HLSL, Information Technology - **Published:** August 16, 2026 - **Apply:** https://diversityjobs.com/main/sendform/8/8/28176/1/17965818?backUrl=%2Fcareer%2F17965818%2FPrincipal-C-2d-3d-Software-Developer-Maine-Portland ## About the Role * 8+ years of experience utilizing C++, working in the field of 2D or 3D computer graphics * Advanced experience with one or more of the following areas of specialty: + Color management and overprinting for prepress workflows + Font/text processing (including text layouts for different languages) + DirectX, OpenGL, or Vulkan APIs, (including GLSL/HLSL shader programming) + Advanced software algorithms for hi-performance computer graphics + 2D/3D data pre-processing/visualization algorithms to handle large volumes of input data + Fast disk I/O (caching/paging) techniques to cache intermediate data flow + Human interaction device interfaces (keyboard, mouse, 3D input, and touch devices) + Multithreading and/or Parallel algorithms * Ability to clearly describe and analyze a problem and to articulate a solution * Excellent written and verbal communication skills * Strong time management, prioritization, teamwork, and interpersonal skills * Bachelor's in computer science, computer engineering, or a related field, * Working knowledge of graphics interchange file format specifications such as PDF, SVG, JPEG, and PNG * Familiarity with the Esri ArcGIS platform and online services or other GIS products * Master's in computer science, computer engineering, or a related field ## Description Use your experience in 2D/3D graphics programming to develop software and 2D/3D visualizations that make a difference in everyday lives and impacts the world around us. In this role, you will have the opportunity to develop GIS visualization technology and expand the 2D/3D capabilities of the ArcGIS platform. You will design and develop world-class software products supporting the needs of geodesigners, urban planners, architects, engineers, and others working with geographic information., * Design and develop leading-edge 2D/3D GIS software * Research, analyze, and implement state-of-the-art features in real time rendering technology * Solve complex problems with design, algorithms, development, and user experience * Find, analyze, and fix bugs/performance problems in a timely manner * Take on complex goals that push the boundary of the possible * Build and ship quality software by working effectively with members of other software development teams in an agile, highly interactive, and creative environment ## Related Videos - [Asynchronicity and multithreading in C#](https://www.wearedevelopers.com/videos/447-asynchronicity-and-multithreading-in-c) - [Web-based Information Visualization](https://www.wearedevelopers.com/videos/84-web-based-information-visualization) - [Challenges and Solutions for Efficient, Large-Scale Video Analysis](https://www.wearedevelopers.com/videos/2022-challenges-and-solutions-for-efficient-large-scale-video-analysis) - [A Hitchhiker's Guide to Resource Efficient Software](https://www.wearedevelopers.com/videos/1414-a-hitchhiker-s-guide-to-resource-efficient-software) - [Apple Vision Pro: Proven Development Methods Meet the Latest Technology](https://www.wearedevelopers.com/videos/1190-apple-vision-pro-proven-development-methods-meet-the-latest-technology) - [Multithreading in Javascript: A guide to Web Workers](https://www.wearedevelopers.com/videos/1673-multithreading-in-javascript-a-guide-to-web-workers) ## Related Articles - [Résumé-Driven Development: How IT trends affect the job market for software developers](https://www.wearedevelopers.com/magazine/59-resume-driven-development-how-it-trends-affect-the-job-market-for-software-developers) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [Best Countries for Software Engineers](https://www.wearedevelopers.com/magazine/267-best-countries-for-software-engineers) - [Dev Digest 129 - Now that's what I call private data!](https://www.wearedevelopers.com/magazine/468-dev-digest-129-now-that-s-what-i-call-private-data)