Job Overview:
We are seeking a highly skilled and experienced Senior Software Engineer with strong expertise in Python and PostgreSQL to join our backend development team. The ideal candidate will be responsible for designing, developing, and maintaining scalable backend systems and APIs, with a strong focus on performance, reliability, and clean code practices.
Key Responsibilities:
Backend Development:
• Design and develop robust, scalable, and secure backend services using Python (preferably with frameworks like FastAPI, Django, or Flask).
• Build and maintain RESTful APIs and microservices architecture.
• Write clean, maintainable, and well-documented code following best practices.
Database Engineering:
• Design and optimize complex PostgreSQL schemas, queries, views, and stored procedures.
• Ensure high performance and availability of database systems.
• Implement data migrations, indexing strategies, and query optimization techniques.
System Design & Architecture:
• Participate in system architecture discussions and contribute to technical decision-making.
• Collaborate with DevOps and frontend teams to ensure seamless integration and deployment.
• Implement caching, queuing, and asynchronous processing where necessary.
Collaboration & Leadership:
• Work closely with product managers, QA engineers, and other developers to deliver high-quality features.
• Mentor junior developers and conduct code reviews.
• Participate in Agile ceremonies and contribute to sprint planning and retrospectives.
Required Skills & Qualifications:
• Bachelor’s or Master’s degree in Computer Science, Engineering, or related field.
• 5+ years of professional experience in backend development using Python.
• Strong experience with PostgreSQL, including query optimization and performance tuning.
• Proficiency in building RESTful APIs and working with JSON, XML, and authentication protocols (OAuth2, JWT).
• Familiarity with containerization tools like Docker and orchestration platforms like Kubernetes.
• Experience with version control systems such as Git.
• Solid understanding of software engineering principles, data structures, and algorithms.
Preferred Qualifications:
• Experience with async programming in Python (e.g., asyncio, aiohttp).
• Familiarity with CI/CD pipelines, unit testing, and test-driven development (TDD).
• Exposure to cloud platforms such as AWS, Azure, or GCP.
• Knowledge of message brokers like RabbitMQ, Kafka, or Redis Streams.
• Experience with monitoring and logging tools (e.g., Prometheus, Grafana, ELK stack).