Senior Software Developer - Python
Role: Software Development (Senior)
Experience Level: 5 to 7 Years
Work location: Mumbai, Bangalore
Must-Have Skills
- Python 3: Strong production experience; asyncio, multiprocessing and threading, packaging and dependency management, typing.
- Message-driven services: RabbitMQ (pika/Celery or equivalent), worker and scheduler patterns, retries, idempotency, dead-letter handling.
- Data stores: MongoDB (PyMongo/Motor), PostgreSQL and Redis; schema and index design for event-heavy workloads.
- APIs: REST services with FastAPI or Flask; authentication, validation, OpenAPI.
- Network and protocol work: Packet parsing or capture libraries (e.g. Scapy), syslog/CEF, SNMP, SSH (paramiko), OPC UA clients (asyncua).
- Rule and analysis engines: Regular-expression and pattern processing, rule evaluation, tagging and enrichment pipelines.
- Containers: Docker images for Python services, Docker Compose to Kubernetes migration, health checks, resource limits.
- Quality: pytest, mocking, integration testing, profiling and memory/CPU tuning of long-running services.
- Linux: systemd, networking, permissions, log handling.Good-to-Have Skills
- C/C++ (extension modules, libpcap) for packet-capture and recording components.
- Helm, Prometheus/Grafana; Go; basic anomaly detection or ML pipelines.
- Industrial protocols and OT/ICS exposure; Windows Event Forwarding concepts.
Key Responsibilities
- Maintain and extend Python services; fix defects and tune performance.
- Containerize and deploy services on Kubernetes with correct resource limits and health checks.
- Integrate the Python services with other platform components through approved APIs and messaging.
- Write tests, documentation and runbooks; take part in code reviews; mentor peers.
Qualifications
- Bachelor's degree in Computer Science, Engineering, or a related field.
- 5+ years of professional Python development on Linux.
- Strong analytical skills; clear communication; client-facing experience preferred.