Senior Python Developer
Indium
Hyderabad, Telangana, India
We are looking for a skilled Python Backend Developer with strong expertise in Data Structures and Algorithms (DSA) to design, develop, and maintain scalable backend applications and services. The ideal candidate should have hands-on experience building REST APIs, working with databases, optimizing application performance, and solving complex technical problems using efficient algorithms and data structures.
Key Responsibilities
- Design, develop, test, and maintain scalable backend applications using Python.
- Build and maintain RESTful APIs and backend services.
- Write clean, maintainable, reusable, and well-tested code.
- Apply appropriate data structures and algorithms to solve complex engineering problems efficiently.
- Analyze and optimize application performance, including time and space complexity.
- Work with relational and NoSQL databases and optimize database queries.
- Design efficient data processing and retrieval mechanisms.
- Troubleshoot production issues and perform root-cause analysis.
- Collaborate with frontend developers, QA engineers, DevOps, and product teams.
- Participate in code reviews and contribute to engineering best practices.
- Develop unit and integration tests to ensure reliability and maintainability.
- Contribute to system design and architectural decisions for scalable backend services.Required Skills
- Strong proficiency in Python.
- Strong understanding of Data Structures and Algorithms, including:
- Arrays and Strings
- Linked Lists
- Stacks and Queues
- Hash Tables
- Trees and Binary Search Trees
- Heaps / Priority Queues
- Graphs
- Recursion and Backtracking
- Sorting and Searching
- Dynamic Programming
- Greedy Algorithms
- Strong understanding of time and space complexity (Big O).
- Experience with Python backend frameworks such as Django, Flask, or FastAPI.
- Strong knowledge of REST APIs, HTTP, JSON, and API design.
- Experience with SQL databases such as PostgreSQL or MySQL.
- Familiarity with NoSQL databases such as MongoDB or Redis is an advantage.
- Understanding of Object-Oriented Programming (OOP) and software design principles.
- Experience with Git and collaborative development workflows.
- Good understanding of unit testing and debugging.Good to Have
- Experience with FastAPI and asynchronous programming in Python.
- Knowledge of microservices architecture.
- Experience with Docker and Kubernetes.
- Familiarity with AWS, Azure, or GCP.
- Experience with message queues such as Kafka or RabbitMQ.
- Knowledge of system design and distributed systems.
- Experience optimizing high-volume or low-latency backend applications.
- Competitive programming or strong problem-solving experience.