Key Responsibilities and Required Skills for GIS Programmer
💰 $75,000 - $130,000
🎯 Role Definition
As a GIS Programmer on our innovative team, you will be the technical engine driving our location intelligence capabilities. This role transcends traditional map-making; you will architect, engineer, and deploy the robust systems that underpin our entire geospatial data ecosystem. You will be responsible for developing high-performance web mapping applications, automating intricate spatial data pipelines, and integrating GIS functionality across our enterprise platforms. If you are a coder with a passion for geography and a drive to build scalable, impactful solutions from concept to completion, this is the perfect opportunity to make your mark.
📈 Career Progression
Typical Career Path
Entry Point From:
- GIS Analyst / Technician with strong scripting skills
- Junior Software Developer with an interest in geospatial data
- Data Analyst with a focus on spatial analysis
Advancement To:
- Senior GIS Developer / Programmer
- GIS Architect or Geospatial Solutions Architect
- GIS Team Lead or Development Manager
Lateral Moves:
- Data Engineer
- Full-Stack Developer
- DevOps Engineer with a geospatial focus
Core Responsibilities
Primary Functions
- Design, develop, and maintain custom web-based GIS applications using modern JavaScript frameworks (e.g., React, Angular, Vue.js) and mapping libraries like Leaflet, Mapbox GL JS, or the ArcGIS API for JavaScript.
- Automate complex geoprocessing workflows, data transformations, and reporting tasks using Python, leveraging libraries such as ArcPy, GDAL/OGR, GeoPandas, and Rasterio.
- Develop and implement robust solutions using the Esri ArcGIS Enterprise suite, including configuring and managing ArcGIS Server, Portal for ArcGIS, and ArcGIS Data Store.
- Administer, optimize, and maintain enterprise-level geospatial databases, such as PostgreSQL with PostGIS, SQL Server Spatial, or Oracle Spatial, ensuring data integrity and performance.
- Create, publish, and manage a wide array of GIS web services, including map, feature, geoprocessing, and vector tile services, while ensuring high availability and speed.
- Integrate GIS functionalities with other critical business systems, enterprise resource planning (ERP) software, and third-party APIs to create seamless and efficient cross-platform workflows.
- Develop and manage sophisticated ETL (Extract, Transform, Load) pipelines for ingesting, validating, processing, and standardizing diverse geospatial and non-geospatial datasets.
- Build and configure interactive dashboards and data visualization tools using ArcGIS Dashboards, Experience Builder, or custom-built solutions to support data-driven decision-making for stakeholders.
- Perform full-stack development, encompassing the design of database schemas, development of server-side logic and APIs, and creation of responsive, intuitive user interfaces (UI/UX).
- Manage source code and promote collaborative development by utilizing version control systems like Git and platforms such as GitHub, Azure DevOps, or Bitbucket.
- Provide high-level technical support and troubleshooting for existing GIS applications, services, and infrastructure, rapidly identifying and resolving bugs, bottlenecks, and performance issues.
- Author and maintain comprehensive technical documentation, including API specifications, architecture diagrams, and user guides, to ensure system maintainability and knowledge transfer.
- Stay abreast of emerging trends and advancements in geospatial technology and software development, evaluating and recommending new tools, libraries, and methodologies to enhance organizational capabilities.
- Design, execute, and interpret advanced spatial analyses to derive meaningful insights from geographic data that support strategic business, research, and operational objectives.
- Implement and manage Continuous Integration/Continuous Deployment (CI/CD) pipelines to automate the testing, building, and deployment of GIS applications and services.
- Collaborate closely with GIS analysts, data scientists, project managers, and end-users to gather requirements, define project scope, and translate business needs into robust technical solutions.
- Ensure all developed applications and data services comply with security best practices, data privacy regulations, and internal data governance policies.
- Develop and deploy custom widgets, themes, and tools for configurable platforms like Web AppBuilder for ArcGIS or Experience Builder to extend core functionality and meet specific user needs.
- Proactively optimize application and database performance through advanced query tuning, strategic indexing, implementing caching strategies, and load testing.
- Develop and support solutions for mobile data collection and field operations, utilizing tools like ArcGIS Field Maps, Survey123, or building custom cross-platform mobile applications.
- Participate in peer code reviews to ensure code quality, adherence to standards, and the sharing of best practices within the development team.
Secondary Functions
- Support ad-hoc data requests and exploratory data analysis.
- Contribute to the organization's data strategy and roadmap.
- Collaborate with business units to translate data needs into engineering requirements.
- Participate in sprint planning and agile ceremonies within the data engineering team.
- Mentor junior developers and GIS analysts on programming best practices and geospatial concepts.
Required Skills & Competencies
Hard Skills (Technical)
- Advanced Python Proficiency: Deep experience with Python for scripting and automation, especially with geospatial libraries like ArcPy, GDAL/OGR, GeoPandas, and Shapely.
- Web Development Expertise: Strong skills in front-end technologies including HTML5, CSS3, and JavaScript, plus hands-on experience with at least one modern framework (React, Angular, or Vue.js).
- Esri Technology Stack: In-depth knowledge of the ArcGIS platform, including ArcGIS Pro, ArcGIS Enterprise (Server, Portal), ArcGIS Online, and related APIs.
- Spatial Databases: Proven ability to design, query, and manage spatial databases like PostgreSQL/PostGIS, SQL Server Spatial, or Oracle Spatial. Advanced SQL skills are a must.
- GIS Web Libraries: Demonstrable experience with web mapping libraries such as Leaflet, Mapbox GL JS, OpenLayers, or the ArcGIS API for JavaScript.
- API & Web Services: Solid understanding of RESTful principles and experience developing and consuming APIs and web services (Map, Feature, Geoprocessing services).
- Version Control Systems: Fluency in using Git for source code management, including branching, merging, and pull requests in a team environment (GitHub, GitLab, Azure DevOps).
- Open-Source GIS: Familiarity with open-source tools such as QGIS, GeoServer, and PostGIS for data processing and publishing.
- Cloud Computing Platforms: Experience deploying or managing applications and data on cloud platforms like AWS (S3, EC2, RDS) or Azure is highly desirable.
- ETL and Data Pipelines: Experience with FME (Safe Software) or building custom data processing pipelines to handle large and complex datasets.
Soft Skills
- Analytical & Problem-Solving Mindset: Ability to dissect complex problems, evaluate options, and implement effective, scalable technical solutions.
- Excellent Communication: Capable of clearly articulating technical concepts to both technical and non-technical audiences, both verbally and in writing.
- Collaboration & Teamwork: A proactive team player who thrives in a collaborative environment and can work effectively with diverse teams.
- Attention to Detail: Meticulous approach to coding, testing, and documentation to ensure high-quality, reliable deliverables.
- Adaptability & Continuous Learning: A strong desire to stay current with the fast-evolving landscape of GIS and software development technologies.
- Project & Time Management: Ability to manage multiple tasks, prioritize effectively, and meet deadlines in a dynamic environment.
Education & Experience
Educational Background
Minimum Education:
- Bachelor’s degree in Computer Science, Geography/GIS, Information Technology, Engineering, or a related field with significant programming coursework.
Preferred Education:
- Master’s degree in a relevant field or a professional certificate in GIS Development or Software Engineering.
Relevant Fields of Study:
- Computer Science
- Geography / Geographic Information Science (GIS)
- Data Science
- Software Engineering
- Urban Planning with a technical focus
Experience Requirements
Typical Experience Range: 3-7 years of professional experience in a GIS development, programming, or related software engineering role.
Preferred: 5+ years of experience with a proven portfolio of web-based GIS applications and automation scripts. Experience leading small projects or mentoring junior team members is a significant plus.