What are the responsibilities and job description for the Python Developer position at DMV IT Service?
Job Title: Python Developer
Location: Phoenix, AZ
Employment Type: Contract
About Us:
DMV IT Service LLC is a trusted IT consulting firm, established in 2020. We specialize in optimizing IT infrastructure, providing expert guidance, and supporting workforce needs with top-tier staffing services. Our expertise spans system administration, cybersecurity, networking, and IT operations. We empower our clients to achieve their technology goals with a client-focused approach that includes online training and job placements, fostering long-term IT success.
Job Purpose:
In this role, you will refactor and improve the maintainability of Python scripts used for geocoding logic, address standardization, data validation, and geospatial enrichment. You will work to ensure that the codebase follows Python best practices (including PEP 8) and enhance error handling, logging, and overall efficiency for testing, debugging, and future updates.
Key Responsibilities- Codebase Assessment: Review the current Python codebase, geocoding workflows, and dependencies related to spatial data processing.
- Refactoring: Refactor and modernize Python scripts for improved readability, modularity, and best practice adherence (PEP 8, error handling, logging).
- Geocoding Services Integration: Maintain and enhance integration with multiple geocoding services (ArcGIS Server, Google Maps API) and manage quota limits and API key security.
- Data Transition: Migrate data processing from flat files (CSVs, Esri file geodatabases) to an ArcGIS Enterprise Geodatabase (SQL Server).
- Error Handling: Implement comprehensive logging, error handling, and validation across the codebase.
- Fallback Logic: Improve fallback logic for geocoding failures and manual resolution workflows.
- Documentation: Develop high-quality technical documentation, including code comments, system architecture diagrams, workflow documentation, and usage instructions.
- Collaboration: Work closely with internal GIS and IT teams for requirement clarification, testing, and implementation support.
- Reporting: Enhance the system’s logging and reporting framework for better tracking and transparency.
- Python Expertise: Advanced experience in writing clean, modular Python code for data processing and automation, using libraries such as pandas, os, shutil, logging, arcpy, pyodbc, and requests.
- ArcPy Experience: Strong knowledge of using ArcPy for spatial joins, geoprocessing, and field calculations.
- SQL Server Knowledge: Proficiency in working with SQL Server databases, including querying and updating data, and familiarity with geospatial data in ArcGIS Enterprise Geodatabases.
- Geocoding API Experience: Experience with third-party geocoding APIs, especially Google’s Geocoding API, including authentication, quota management, and response parsing.
- API Security: Familiarity with API security protocols such as OAuth2, API keys, or JWT.
- Software Development Best Practices: Strong understanding of PEP 8, modular design principles, and use of Git for version control.
- Documentation: Experience writing maintainable and well-documented code, with clear instructions for setup and usage.
- Independent Work: Ability to work independently, producing reliable deliverables in a contract environment.
- Experience modernizing or rewriting legacy Python codebases for improved maintainability and performance.
- Knowledge of geocoding accuracy scoring, fallback strategies, and manual resolution workflows.
- Previous work with public health, government agencies, or GIS teams is a plus.
- Refactored Python scripts with improved structure, documentation, and testability.
- Modularized codebase that supports future enhancements and the integration of new geocoding services.
- Revised error handling and logging mechanisms.
- Detailed documentation, including code comments, setup instructions, system architecture, and data flow charts.
- Updated configuration files and batch scripts.
- Knowledge transfer session(s) for internal staff.
- Education:
- Bachelor’s degree in Computer Science, Geographic Information Systems, Software Engineering, or a related field.
- Equivalent professional experience may substitute formal education.
- Experience:
- Minimum of 5 years of experience in Python development.
- Proven experience refactoring or modernizing existing codebases to improve performance and maintainability.
- Experience working with government, public health, or GIS organizations is a plus.