Sr. Backend Developer
Description
We are seeking an experienced Senior Backend Developer to join our engineering team and contribute to the design, development, and maintenance of scalable, high-performance backend systems. The ideal candidate will have strong expertise in Python, Django, Celery, distributed systems, and database technologies, with hands-on experience building reliable and secure enterprise applications. This role requires a strong engineering mindset, the ability to troubleshoot complex production issues, and the capability to work closely with cross-functional teams to deliver robust software solutions.
Responsibilities:
- Design, develop, and maintain scalable backend services and APIs using Python and Django.
- Develop and optimize asynchronous processing workflows using Celery and RabbitMQ.
- Design and implement distributed systems that are reliable, fault-tolerant, and scalable.
- Build and maintain integrations with object storage platforms such as MinIO and other storage services.
- Design efficient database schemas and optimize queries for MySQL databases.
- Monitor, troubleshoot, and resolve production issues across application, messaging, database, and infrastructure layers.
- Participate in architecture discussions and contribute to technical design decisions.
- Conduct code reviews and promote engineering best practices, coding standards, and system reliability.
- Create and maintain technical documentation for applications, services, and deployment processes.
Requirements:
- Bachelor's degree in computer science, Engineering, Information Technology, or a related field.
- Minimum 4 years of professional backend development experience.
- Proven experience developing and maintaining production-grade applications.
- Strong analytical and problem-solving abilities.
- Excellent verbal and written communication skills.
- Ability to work independently and collaboratively in a fast-paced, agile environment.
Backend Development:
- Strong proficiency in Python with 4+ years of professional development experience.
- Extensive experience with Django and Django REST Framework.
- Strong understanding of Object-Oriented Programming (OOP) principles and software design patterns.
- Experience designing and developing RESTful APIs.
Distributed Systems and Messaging:
- Hands-on experience with Celery for asynchronous task processing.
- Strong experience with RabbitMQ or similar messaging platforms.
- Understanding distributed system concepts, including reliability, scalability, concurrency, and fault tolerance.
Databases and Storage:
- Strong experience with MySQL database design, optimization, indexing, and query performance tuning.
- Experience working with Object Storage systems such as MinIO, Amazon S3 or compatible platforms.
- Understanding data integrity, backup, and recovery strategies.
Linux and Infrastructure:
- Strong working knowledge of Ubuntu Linux environments.
- Familiarity with application deployment, monitoring, and troubleshooting in Linux environments.
Preferred Skills:
- Experience with Redis for caching, session management, and task queue optimization.
- Knowledge of Docker containerization.
- Familiarity with Kubernetes and container orchestration.
- Experience with Git and collaborative development workflows.
- Understanding of CI/CD pipelines and automated deployment processes.
- Exposure to monitoring and logging tools such as Prometheus, Grafana, ELK Stack, or similar platforms.
- Basic understanding of front-end technologies including HTML, CSS, and JavaScript.