What are the responsibilities and job description for the Application Developer (Python Developer) position at Sunrise Systems, Inc.?
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
a. Bachelor's degree in Computer Science, Geographic Information Systems,
Software Engineering, or a related field.
b. Equivalent professional experience may be substituted for formal education.
● Experience
a. Minimum of 5 years of experience in Python development
b. Demonstrated experience refactoring or modernizing existing codebases for
improved maintainability and performance.
c. Experience working with government or public health organizations is a plus.
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.
Salary : $63