Dice is the leading career destination for tech experts at every stage of their careers. Our client, Sunrise Systems, Inc., is seeking the following. Apply via Dice today!
Application Developer
Mon-Fri 8-5
Onsite
Local Phoenix Candidates Only
Phoenix AZ 85007
6 Months from projected start date
Overview: This system includes multiple Python scripts for data processing and automation, a SQL Server database, Esri file geodatabases, and a PHP-based web interface for configuring and running geocoding jobs. It also features a manual geocoding interface built with the ArcGIS JavaScript API. Geocoding workflows leverage a combination of locally installed geocoding software, ArcGIS Server-based geocoding services, and the Google Maps API.
This contract position will focus on improving the maintainability, clarity, and structure of the existing Python codebase. Core responsibilities include refactoring scripts that handle
geocoding logic, address standardization, data validation, and geospatial enrichment. The
refactored code should follow Python best practices (including PEP 8), improve error handling and logging, and allow for more efficient testing, debugging, and future enhancement.
Key Responsibilities:
Assess the current Python codebase, workflows, and dependencies related to
geocoding and spatial data processing.
Refactor and modernize existing Python scripts to improve code readability, modularity,
and adherence to best practices (e.g., PEP 8, logging, error handling).
Maintain and improve integration with multiple geocoding services, including locally
installed geocoding software, ArcGIS Server REST-based services, and Google Maps
Geocoding API (including quota management and API key security)
Transition data processing from flat files (CSVs, Esri file geodatabases) to an ArcGIS
Enterprise Geodatabase (SQL Server).
Implement robust logging, error handling, and validation throughout the codebase.
Optimize and document fallback logic for handling geocoding failures and manual
resolution workflows.
Produce high-quality technical documentation, including code comments and usage
instructions, architecture diagrams and workflow documentation.
Improve the logging and reporting framework for better error tracking and system
transparency.
Collaborate with internal GIS and IT staff for requirements clarification, testing, and
implementation support.
Required Skills & Experience:
Core Technical Proficiency
Python Proficiency Advanced experience writing clean, modular Python code
for data processing and automation. Familiarity with best practices including PEP
8, logging, and error handling; libraries may include: pandas, os, shutil, logging,
arcpy, pyodbc, requests
Experience using ArcPy for spatial joins, geoprocessing, and field calculations
Strong understanding of SQL Server databases, including querying and updating
tabular data; working knowledge of geospatial data stored in ArcGIS Enterprise
Geodatabases
Experience working with third-party geocoding APIs, especially Google's
Geocoding API (including authentication, usage limits, and response parsing)
Familiarity with API security protocols such as OAuth2, API keys, or JWT
Understanding of API authentication and security protocols
Software Development Best Practices
Adherence to PEP 8 and modular design principles
Use of Git for version control and collaboration
Experience writing clean, maintainable, and well-documented code
Comfortable working independently and delivering clear, reliable deliverables in a
contract environment
Preferred Qualifications
Experience modernizing or rewriting legacy Python codebases
Familiarity with geocoding accuracy scoring, fallback strategies, and manual
resolution workflows
Prior work with public health, government, or GIS teams is a plus
Deliverables:
Refactored Python scripts with improved structure, documentation, and testability.
Modularized codebase that supports future enhancements and integration of new
geocoding services.
Revised error handling and logging mechanisms.
Documentation including: code comments and docstrings, developer setup instructions,
system architecture diagram or data flow chart
Updated configuration files and batch scripts (if applicable).
Knowledge transfer session(s) to internal staff
Qualifications:
Education
- Bachelor's degree in Computer Science, Geographic Information Systems,
Software Engineering, or a related field.
- Equivalent professional experience may be substituted for formal education.
Required Skills
Minimum of 5 years of experience in Python development
Demonstrated experience refactoring or modernizing existing codebases for improved maintainability and performance.
Preferred Skills
Experience working with government or public health organizations is a plus.