Job Title: Senior Python/Django Developer with GeoNode, GeoDjango experience
Job Location: Pune (Hinjewadi Phase 1)
Experience: 5+ Years
Shift Time: 12:00 PM to 9:00 PM
Working Days: Monday to Saturday (Work from Office)
Job Description:
Futurism Tech is looking for a Senior Python/Django Developer with specialized experience in GeoNode, GeoDjango, Docker, multitenancy, and GIS data workflows.
Responsibility & Skills:
Python & Django Expertise
- Strong experience with Django (3+ years ideally)
- Familiarity with Django Rest Framework (DRF) for building APIs
- Experience customizing and extending GeoNode, which is Django-based
GeoDjango & GIS Knowledge
- Comfortable working with GeoDjango
- Understands spatial data formats (e.g., Shapefiles, GeoJSON)
- Knows how to use PostGIS, and how spatial data is stored and queried
Docker and DevOps
- Able to work with existing Docker Compose setups
- Understands Dockerized services: GeoNode stack includes Postgres/PostGIS, RabbitMQ, Celery, Nginx, etc.
- Can manage containerized deployments, logs, and volumes
GeoNode Internals
- Experience customizing GeoNode: UI, templates, data workflows
- Understanding of its internal architecture and plugin system
Multitenancy Support
Django multitenancy (e.g., django-tenant-schemas, django-tenants, or even custom middleware)
Working with TenantID or SiteID based isolation (data-level segregation)
- Ability to maintain tenant-specific configurations (UI, domains, etc.)
DNS & Routing for Tenants
- Understands domain configuration for routing per tenant
- Familiar with NGINX or Traefik configuration for subdomain or custom domain routing
External API Integration
- Build hooks or signals to trigger actions on file upload (e.g., uploading a specific Shapefile triggers an external API call)
- Experience with file handling, background jobs (Celery) for async operations
Frontend/UI Customization (Light)
- Comfortable customizing GeoNode's templates (based on Bootstrap and jQuery typically)
- Can build logic to serve tenant-specific logos/themes (based on Site/Tenant ID)