We are seeking a skilled and motivated Software engineer to join our internal product teams. These teams build software tools that empower our Management Consultants to deliver faster, more precise conclusions and actionable recommendations in Procurement, Sourcing, and Spend Analytics.
As a Software Engineer, you will collaborate with cross-functional teams working on products in three key areas:
Our primary internal product stack is Python / Django on AWS (ECS, RDS, S3, SES, ECR), deployed through GitLab CI/CD. The user-facing layer is server-rendered Django templates with Tailwind CSS and HTMX for interactive partials. Efficio also runs other products teams written in Go, PHP, and other stacks, and cross-team contribution is encouraged.
This role is based in Lisbon, working with teams located in both Portugal and the UK.
- Design, develop, and maintain back-end services, APIs, and databases that support our internal products.
- Collaborate with front-end developers, data engineers, and product managers to deliver end-to-end solutions, including HTMX-driven server-rendered UIs and embedded analytics.
- Implement best practices for code quality, scalability, and performance optimisation — including type checking, linting, and code review.
- Work within an Agile framework, participating in sprints and daily standups across the Lisbon and UK teams.
- Ensure security and data protection measures are embedded in development processes, particularly around multi-tenant data isolation.
- Troubleshoot, debug, and upgrade software as needed; investigate production issues across application, queue, and infrastructure layers.
- Contribute to continuous integration and delivery pipelines (CI/CD) on GitLab.
- Document technical processes, designs, and decisions effectively.
Experience working with AWS services (e.g. ECS, RDS, S3, ECR). Exposure to other cloud providers is welcome.
Strong understanding of relational database design and management (PostgreSQL primarily, MySQL where legacy systems require it), including schema design, indexing, and migrations.
Knowledge of software development best practices: version control with Git, code review, automated testing, coding standards.
LLM and agent application development (LangChain, LangGraph, OpenAI / Anthropic APIs, tool use, prompt caching).