Post Job Free
Sign in

Application Developer

Company:
Brooksource
Location:
Phoenix, AZ, 85003
Posted:
April 30, 2025
Apply

Description:

Overview: Our client is seeking a skilled and experienced Python developer to modernize and refactor the Python codebase that supports an existing full-stack geocoding system. 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.

**Must be local to the Phoenix, AZ area as this role is on-site.

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.

Experience

Minimum of 5 years of experience in Python development

Demonstrated experience refactoring or modernizing existing codebases for improved maintainability and performance.

Experience working with government or public health organizations is a plus.

Apply