**Job Summary:** As a Senior/Principal Software Developer, you will play a pivotal role in the design, development, and deployment of scalable, high-performance software systems. You will be responsible for leading complex technical initiatives, mentoring junior developers, and ensuring the architectural integrity and quality of our codebase. This role requires a deep understanding of software engineering principles, a passion for problem-solving, and the ability to drive projects from conception to completion. **Key Responsibilities:** * **Technical Leadership & Architecture:** * Lead the design and implementation of new features and services, ensuring scalability, reliability, and maintainability. * Contribute to the architectural vision and strategy for our software products. * Conduct code reviews, provide constructive feedback, and ensure adherence to coding standards and best practices. * Identify and address technical debt, performance bottlenecks, and areas for system optimization. * **Software Development:** * Write clean, efficient, well-documented, and testable code in a fast-paced, agile environment. * Develop and maintain robust APIs, backend services, and database schemas. * Collaborate with product managers, designers, and other stakeholders to translate requirements into technical specifications and actionable tasks. * Troubleshoot and debug complex issues across various environments. * **Mentorship & Collaboration:** * Mentor and guide junior and mid-level developers, fostering a culture of technical excellence and continuous improvement. * Actively participate in team discussions, sprint planning, and retrospective meetings. * Promote knowledge sharing and best practices within the engineering team. * **Innovation & Research:** * Stay up-to-date with emerging technologies, industry trends, and best practices in software development. * Evaluate and recommend new tools, technologies, and processes to improve development efficiency and product quality. * Drive innovation by exploring new ideas and solutions to complex technical challenges. **Required Qualifications:** * Bachelor's or Master's degree in Computer Science, Engineering, or a related field, or equivalent practical experience. * 4+ years of professional experience in software development, with a strong focus on backend systems and distributed architectures. * Proficiency in Python, Javascript, HTML, CSS. * Extensive experience with Django, Django REST Framework, and multi-tenancy solutions like django-tenants. * Strong expertise with PostgreSQL. * Experience with asynchronous task queues using Celery and Redis as a broker/backend. * Proficiency in caching strategies with Redis. * Solid understanding of Docker for containerization. * Experience with Nginx as a web server/reverse proxy. * Familiarity with SSL certificate management using Certbot and Let's Encrypt. * Strong understanding of server provisioning and DevOps. * Knowledge in shell scripting for automation. * Knowledge of network security practices. * Experience with database management tools like pgAdmin. * Demonstrated experience with designing and implementing RESTful APIs. * Strong understanding of data structures, algorithms, and software design patterns. * Experience with agile development methodologies (Scrum, Kanban). * Excellent problem-solving, analytical, and communication skills. * Experience with CI/CD pipelines and automated testing frameworks. **What We Offer:** * Work with a global team * Opportunity to work on challenging and impactful projects. * A collaborative and supportive team environment. * Continuous learning and professional development opportunities. * Competitive salary and benefits package. * Flexible work arrangements (remote/hybrid).