Python Software Engineer
We are hiring for a major customer in the agricultural industry and looking for a Mid-level Backend Engineer with solid Python experience to build and maintain production-grade backend services. In this role, you will work on backend systems, data processing flows, API integrations, and cloud-based services, collaborating closely with mobile, DevOps, Product, and other engineering teams. The role also involves occasional contributions to the customer's Flutter mobile application (up to approximately 20% of the time), so hands-on Flutter experience is required.
You will be expected to deliver reliable, well-maintained features with a focus on quality, performance, and observability, taking increasing ownership of backend functionality as you grow within the project.
Responsibilities
- Develop and maintain production-grade backend services using Python as the primary programming language.
- Implement and integrate REST APIs for internal and external consumers.
- Work with AWS cloud services, including compute, storage, and common cloud patterns, following established architecture guidelines.
- Contribute to data processing flows, including batch, streaming, or near real-time pipelines.
- Integrate backend services with external systems, third-party APIs, and AI inference services.
- Work with relational and/or NoSQL databases, depending on system requirements.
- Contribute to features in the Flutter mobile application when needed (up to ~20% of the time), collaborating with the mobile team.
- Use CI/CD pipelines for deployments, versioning, and environment management, in collaboration with DevOps teams.
- Apply logging, monitoring, and observability practices to support production systems.
- Debug and resolve production issues, escalating and collaborating with senior engineers on complex cross-service problems.
- Write clean, maintainable, and well-tested code, with attention to performance and reliability.
- Collaborate with mobile, Product, DevOps, and other engineering teams to deliver high-quality solutions.
- Participate in agile ceremonies and contribute to planning and estimation.
- Flag risks, blockers, and technical dependencies early.
Must Have
- Professional experience as a Backend Engineer, with solid hands-on experience in Python.
- Experience contributing to production-grade backend services.
- Good understanding of REST API implementation and integration.
- Practical experience with Flutter and mobile app development, with the willingness to contribute to mobile features on a part-time basis (~20%).
- Practical experience with AWS cloud services.
- Experience working with relational and/or NoSQL databases.
- Understanding of data processing concepts, such as incoming data streams, batch processing, or near real-time flows.
- Familiarity with CI/CD pipelines, deployment processes, and versioning.
- Familiarity with logging, monitoring, and observability tools for debugging production systems.
- Good problem-solving and debugging skills.
- Good communication skills and the ability to collaborate with cross-functional teams.
- Accountability for the quality of delivered features and openness to feedback.
- Attention to code quality, performance, and maintainability.
- Comfortable working in agile teams and adapting to changing priorities.
- Regular use of AI tools to improve productivity, automate or reduce repetitive work, support decision-making, and deliver higher-quality outcomes.
- Ability to use AI tools responsibly by structuring effective prompts, critically validating outputs, understanding limitations, and taking ownership of the final result.
Nice to Have
- Experience with event-driven architectures, queues, messaging systems, or asynchronous processing.
- Experience integrating with AI inference services or machine learning-related APIs.
- Experience publishing or maintaining mobile apps (iOS/Android release processes).
- Familiarity with infrastructure-as-code, co