Actively recruiting / 3 applicants
We’re here to help you
Sole is in direct contact with the company and can answer any questions you may have. Email
Sole, RecruiterAbout the role
Contiguo is bringing its sales-territory balancing technology to market and is seeking a contract engineer to harden and extend an existing Python codebase with GIS components. You’ll own the V1 implementation end-to-end—from polygon topology fixes and contiguity enforcement to a reproducible CLI and exports—while collaborating with non-technical stakeholders.
What you’ll build (V1 scope)
- Generalized balancing for any starting territories
Add/remove territories; re-seed from partial or empty starts
Honor locked ZIPs (holdouts) and respect ±margin bands
Maintain contiguity (“blob” territories); eliminate islands/enclaves
- Adjacency & contiguity layer
Build from US Census TIGER ZCTA polygons + provided neighbor CSVs
- Resilient solver
Replace/augment greedy/BFS approach with OR-Tools or heuristic/local search that scales with territory counts (min-max deviation, constraints, locks)
- DX & outputs
CLI + reproducible environment; exports to CSV/GeoJSON/Excel summaries
- Production hygiene
Tests (pytest), typing, docs, performance profiling
What you’ll do
- Extend and refactor the current Python codebase to deliver the V1 scope above.
- Implement robust polygon topology repair, spatial joins/overlays, and adjacency graph construction.
- Enforce contiguity via component analysis; detect and fix islands/enclaves.
- Design and tune an optimization routine (OR-Tools or custom heuristics) that respects locks and margin constraints.
- Ship a reproducible CLI workflow (env setup, config, deterministic runs) and clean data exports.
- Write unit/integration tests, type annotations, and developer-oriented documentation.
- Profile and optimize bottlenecks (I/O, geometry ops, graph/solver runtime).
- Collaborate with non-technical managers; translate requirements into clear tasks and milestones.
Must-have qualifications
- Python 3.11+ with production habits: pytest, typing, docs, profiling.
- Spatial stack: GeoPandas, Shapely 2.x, PyProj, NetworkX, KDTree.
- Hands-on with polygon topology repair, spatial joins/overlays, and adjacency graph building.
- Contiguity enforcement and component analysis; enclave/island detection & repair.
- Optimization experience: OR-Tools or custom heuristics (min-max deviation, constraints, locks).
- Comfortable shipping a CLI and reproducible environment (virtualenv/Poetry/pip-tools).
Nice to have
- GDAL/Fiona, PostGIS, tiling/quadtrees, or large-scale geometry processing.
- Experience with TIGER/ACS datasets and address/ZIP peculiarities.
- Packaging, CI/CD (pre-commit, Ruff/Black, GitHub Actions), containerization (Docker).
- Light analytics/visualization for QA (e.g., static map outputs).
- Prior work productizing internal geo/optimization tools.