Overview
Senior Python Engineer role building backend services, system automation and device-management capabilities that connect scientific instruments, IoT gateways and edge devices, with practical Linux systems engineering and operational ownership.
What you'll do
- Design, develop and maintain modular Python services, APIs, command-line tools and automation libraries for device orchestration, process execution, configuration and data handling.
- Manage IoT and edge-device lifecycles, including discovery, secure onboarding, provisioning, inventory, configuration, health monitoring and controlled decommissioning.
- Integrate instruments, sensors and gateways through vendor SDKs, REST or gRPC APIs and messaging protocols such as MQTT; validate commands, telemetry and device state.
- Automate deployment and version tracking of applications and containers on Linux edge systems; support controlled software and firmware updates with compatibility checks, staged rollout and rollback or recovery.
- Troubleshoot failures across Python code, operating-system services, networking, containers and hardware interfaces; implement structured logging, metrics, alerts and diagnostic collection.
- Develop unit, integration and system tests using pytest, mocks, simulators and physical devices; integrate validation and deployment workflows into CI/CD.
- Apply secure engineering practices, including device authentication, certificate and secret management, least-privilege access, dependency scanning and auditable change records.
- Collaborate with firmware, hardware, QA, DevOps and product teams on requirements, interfaces and release readiness; mentor engineers and maintain deployment guides, runbooks and onboarding documentation.
- Work effectively within an Agile Scrum / SAFe framework, participating in backlog refinement, sprint planning, technical estimation, PI planning, reviews, retrospectives, and cross-team coordination.
What you'll need
- 6–10 years of software engineering experience with substantial hands-on Python development.
- Strong production Python development with object-oriented design, reusable modules, exception handling, concurrency, API integration, file operations and structured data such as JSON, YAML and CSV.
- Hands-on systems engineering on Linux, including processes, services, permissions, resource usage, shell scripting and network diagnostics; ability to support Windows integration where needed.
- Practical experience deploying, configuring, monitoring and troubleshooting physical IoT devices, industrial gateways or edge-computing systems, beyond cloud-only application development.
- Working knowledge of TCP/IP, DNS, TLS, MQTT and HTTP-based communication, with an understanding of device connectivity, authentication and offline recovery.
- Experience building Python backend services with FastAPI, Flask or equivalent, and integrating databases or local persistence for configuration, telemetry and operational state.
- Hands-on Git and CI/CD experience, plus automated testing, mocking and dependency/environment management for reproducible execution across development and deployed systems.
- Strong debugging, root-cause analysis, technical documentation and cross-functional communication; ability to own implementation through deployment and operational support.
- Bachelor's degree in computer science, Electronics, Electrical Engineering or a related technical field, or equivalent practical experience.
Nice to have
- Familiarity or development experience in C/C++ integration, PowerShell, BDD/Robot Framework, hardware-in-the-loop testing or scientific and regulated product environments.
- Experience with NVIDIA Jetson, Raspberry Pi, industrial PCs or comparable ARM/x86 edge platforms; familiarity with device drivers, BSPs and hardware/software compatibility.
- Exposure to Azure IoT or AWS IoT services, Kubernetes/k3s, Ansible or equivalent device and deployment orchestration tools.
- Experience deploying AI inference workloads at the edge, or integrating LLM services for diagnostics and automation with validation and appropriate human controls.
- Experience delivering connected products or engineering platforms through the full development lifecycle in an Agile, globally distributed team.
Details
- Work schedule: Standard (Mon-Fri).
- Environmental conditions: Office.
- Location: Bangalore, India.
Read the full description and apply on the company’s own careers page.