
Senior Backend Software Engineer
Metha Energia
full-time
Posted on:
Location Type: Remote
Location: Brazil
Visit company websiteExplore more
Job Level
About the role
- Architect and develop new backend services in Python, applying DDD principles and hexagonal architecture
- Technically lead the migration of legacy Node.js systems to Python, rewriting business rules with quality and security
- Build and integrate APIs with external services (banks, energy distributors, ERPs) and internal services (RESTful and GraphQL)
- Develop using pair programming, especially for complex or high-impact features
- Implement automated tests (unit, integration and end-to-end) to ensure delivery reliability
- Work with AWS daily: Lambda, API Gateway, SQS, SNS, Kinesis, S3, DynamoDB
- Monitor and resolve production issues, investigating logs, metrics and traces
- Document architectural decisions, APIs and processes to facilitate the team’s work
- Participate in technical discussions about architecture, tools and best practices
- Maintain CI/CD pipelines and deployment processes to ensure efficient operations
Requirements
- 5+ years of professional experience in backend development
- Advanced Python: OOP, design patterns, type hints, async/await
- Hands-on experience with hexagonal architecture, DDD and/or Clean Architecture
- AWS serverless: Lambda, API Gateway, SQS, SNS, Kinesis, S3, DynamoDB
- Serverless Framework or similar (SAM, CDK)
- RESTful APIs: design, versioning, documentation (OpenAPI/Swagger)
- Automated testing: pytest, mocks, fixtures, integration tests
- Docker and containerization
- Advanced Git: branching strategies, conflict resolution, commit best practices
- Linux: development and troubleshooting in a Linux environment
- Databases: data modeling, query optimization, indexing (DynamoDB required)
- Intermediate English for reading and writing (technical documentation)
- Ability to self-learn: comfortable picking up new technologies and frameworks as needed using documentation, source code and community resources
- Clear communication for contributing to and participating in technical discussions
- Proactive attitude to identify problems and propose improvements
- Ability to mentor and share knowledge
- Experience with Scrum/Kanban and agile methodologies
Applicant Tracking System Keywords
Tip: use these terms in your resume and cover letter to boost ATS matches.
Hard Skills & Tools
PythonOOPdesign patternstype hintsasync/awaithexagonal architectureDDDRESTful APIsautomated testingDocker
Soft Skills
clear communicationproactive attitudeability to self-learnmentoringparticipation in technical discussions