About the Role
We are seeking a talented Backend Engineer to design, develop, and maintain scalable server-side applications and APIs using Python. You’ll work on building robust backend systems that power our products, ensuring high performance, reliability, and security within our AWS cloud infrastructure.
Requirements
Experience
3+ years of professional experience in backend development with Python
Technical Skills
- Strong proficiency in Python with experience in backend frameworks (Django, Flask, FastAPI, or similar)
- Deep understanding of PostgreSQL including:
– Database design and schema optimization
– Complex query writing and optimization
– Indexing strategies and performance tuning
– Transaction management and ACID principles
– Experience with ORMs (SQLAlchemy, Django ORM) and raw SQL - Experience designing and developing RESTful APIs and/or GraphQL services
- Proficiency with version control systems (Git) and collaborative development workflows
- Hands-on experience with AWS services including:
– EC2 for compute resources
– RDS for managed PostgreSQL databases
– S3 for object storage
– Lambda for serverless Python functions
– API Gateway for API management
– Additional services like SQS, SNS, CloudWatch, or ElastiCache are a plus - Knowledge of authentication and authorization mechanisms (OAuth, JWT, API keys)
- Understanding of microservices architecture and distributed systems
- Familiarity with containerization (Docker) and orchestration on AWS (ECS, EKS)
Core Competencies
- Strong problem-solving skills and ability to write clean, Pythonic code
- Experience with Python testing frameworks (pytest, unittest) and writing comprehensive tests
- Understanding of software design patterns and SOLID principles
- Knowledge of API documentation tools (Swagger/OpenAPI)
- Familiarity with message queues and async processing (Celery, RabbitMQ, AWS SQS)
- Performance optimization for both application code and database queries
- Security best practices including SQL injection prevention, AWS IAM, and data encryption
- Experience with PostgreSQL extensions and advanced features (JSONB, full-text search, partitioning)
Responsibilities
- Design, develop, and maintain scalable Python backend services and APIs on AWS infrastructure
- Write clean, efficient, and well-documented Python code following PEP 8 and best practices
- Design and optimize PostgreSQL database schemas, queries, and indexes for performance
- Collaborate with frontend engineers, product managers, and designers to deliver features
- Implement authentication, authorization, and data validation logic
- Integrate third-party services and AWS services using Python SDKs
- Monitor application and database performance using AWS CloudWatch and troubleshoot production issues
- Participate in code reviews and provide constructive feedback
- Write comprehensive unit, integration, and end-to-end tests
- Manage database migrations and ensure data integrity
- Contribute to technical documentation and architecture decisions
- Optimize AWS and PostgreSQL resource usage for cost-efficiency and performance
- Stay current with Python ecosystem and PostgreSQL updates
Other Infrastructure Requirements
Since this is a fully remote position, you will also need:
- High-speed internet connectivity for video calls and efficient work
- A capable business-grade computer (e.g., modern processor, 8GB+ RAM)
- A dedicated home workspace for uninterrupted and efficient work
- Headphones with clear audio quality
- Stable power connection with backup options in case of internet/power outages
Nice to Have
- AWS certifications (Solutions Architect, Developer Associate)
- Experience with CI/CD pipelines (Jenkins, GitLab CI, GitHub Actions, AWS CodePipeline)
- Knowledge of caching strategies using Redis or AWS ElastiCache
- Experience with asynchronous Python programming (asyncio, aiohttp)
- Familiarity with monitoring and logging tools (CloudWatch, X-Ray, Sentry, DataDog)
- Experience with infrastructure as code (Terraform, CloudFormation, AWS CDK with Python)
- Knowledge of PostgreSQL replication, backup strategies, and high availability
- Experience with data analytics and reporting using PostgreSQL
- Contribution to open-source Python projects
- Experience with Agile/Scrum methodologies
- Knowledge of websockets and real-time communication