About the role
Responsibilities:
- Design and develop backend architectures to support robust, scalable, and secure web applications and systems with a focus on backend development using Django.
- Design, implement, and maintain high-quality RESTful APIs to support seamless communication between frontend, backend, and other services.
- Design, implement, and maintain database schemas.
- Ensure the integrity, performance, and security of data.
- Ensure the scalability and reliability of our backend infrastructure on AWS.
- Ensure reliable management of infrastructure in the cloud, aiming for 0 downtime of systems.
- Write clean, maintainable, and efficient code, while adhering to best practices and industry standards.
- Develop and maintain documentation for our backend systems, APIs, and data models.
- Conduct high-quality code reviews and provide feedback to other team members to ensure best practices are adhered to.
- Take ownership of the development, testing, and deployment of web applications. Break down high-level business problems into smaller chunks and build systems.
- Work closely with the frontend development team, product managers, and designers to plan new features and optimize existing ones.
- Constantly aim to improve performance and optimize systems by identifying bottlenecks and resolving them for increased efficiency.
- Stay up-to-date with the latest technologies such as LLMs and implement them as and when required.
Requirements:
- Bachelor's degree in computer science, computer engineering, or a related field.
- 2+ years of experience in full-stack web development, with a focus on backend development.
- Strong proficiency in Python and Django, including experience with Django REST Framework.
- Experience working with SQL/PostgreSQL databases, including schema design, querying, and optimization.
- Proficiency in AWS services such as EC2 RDS, S3 and Lambda.
- Familiarity with integrations with third-party services and open-source frameworks.
- Strong understanding of data structures, algorithms, and software design patterns.
- Experience with containerization and orchestration technologies such as Docker and Kubernetes is a plus.
- Familiarity with LLM frameworks such as LangChain, OpenAI, Anthropic, and LLaMA is a plus.
- Strong problem-solving skills and ability to work in a fast-paced environment.
- Excellent communication and collaboration skills.