Coverflex
Work changed. Pay didn’t.
Coverflex exists to make compensation work for everyone.
Pay is still rigid, fragmented, and hard to feel.
We turn compensation into choice - one platform, one card, one app - for benefits, meal allowance, insurance and more.
Our platform is simple for HR and meaningful for employees.
We provide choice, smarter compensation tools and empowerment.
⚙️ TL;DR (The Essentials)
Role: Backend Engineer
Seniority Level: Mid to Senior
Type: Individual Contributor
Languages: English (main) / Portuguese, Spanish or Italian a plus
Main Tools:
- Elixir, Phoenix and Phoenix LiveView
- PostgreSQL
- AWS, Kubernetes
- Github, Github Actions, ConfigCat, Datadog
Location: Remote (Europe only)
Compensation:
Base Salary: 50K to 80K gross annually
Equity: Yes – VSOPs
Benefits: See below
Contract Type:Permanent
💥 Your Impact
Your role will play a major role in our success because…
You'll be the builder who crafts the reliable, scalable systems that power Coverflex's compensation platform, enabling thousands of companies to transform how they reward and support their people. Every API you design, every database optimization you implement, and every architectural decision you make will directly impact the financial wellbeing of hundreds of thousands of employees who depend on Coverflex for their benefits, insurance, and flexible compensation.
You'll be embedded within a focused product team, working on a specific vertical with clear purpose and ownership. As a product engineer, you won't just write code - you'll shape what gets built. You'll collaborate closely with product managers and designers from discovery through delivery, bringing technical perspective to product decisions, identifying opportunities, and ensuring we're solving the right problems in the right way. You'll own meaningful problems end-to-end and ship features that make complex compensation simple, compliant, and delightful.
You’ll know you’re successful when, after 90 days, you’ve…
Shipped meaningful features that directly impact your team's key metrics - whether that's processing more transactions, reducing operational friction, or enabling new product capabilities
Built reliable, scalable infrastructure that handles production load with confidence, proper monitoring, and graceful degradation
Improved system quality and performance through thoughtful optimisations, reduced latency, better error handling, or enhanced data consistency
Established solid foundations by implementing proper testing coverage, observability, documentation, and patterns that set your team up for sustained velocity
Demonstrated technical ownership by leading features end-to-end with minimal oversight, making sound architectural decisions, and owning outcomes - not just outputs
Elevated the team through constructive code reviews, knowledge sharing, pairing with teammates, and contributing to engineering standards and best practices
Collaborated effectively with product by bringing technical perspective to discovery, identifying opportunities, challenging assumptions, and ensuring we build the right thing the right way
How we’ll measure success:
Success means shipping features that move the needle on your team's objectives week over week. You'll see measurable impact through the metrics that matter for your vertical - whether that's transaction success rates, processing time, user adoption, or operational efficiency.
Your systems will be reliable: stable deployments, comprehensive monitoring with actionable alerts, well-documented runbooks, and architecture that scales with demand.
Your team will move faster because of the foundations you build - reusable patterns, clear abstractions, and technical decisions that compound over time.
Product won't need to chase you for status updates because you're proactively communicating progress, blockers, and trade-offs.
You'll know you've succeeded when your features are live and impacting users, your code is maintainable and well-tested, and your team is stronger because of your contributions.
⚡ Reality Check - What Makes This Role Hard
Let's be real - here's what makes this role challenging:
Business and product move fast. You'll need to ship features quickly while maintaining system stability and reliability. Product cycles are tight, but every feature you build must be properly tested, monitored, and resilient from day one. You're handling people's money and benefits, which requires extra care and caution in everything you ship.
You're navigating lots of moving parts. Compensation isn't simple - it touches payments, benefits, insurance, compliance, and integrations with external providers. Your changes might affect multiple systems, and you'll need to coordinate across product teams, operations, data, and infrastructure without clear-cut boundaries. Understanding the broader context and anticipating downstream impacts is critical.
Every country adds complexity. We operate in Portugal, Italy, and Spain, and each market has different regulations, tax rules, benefit types, and compliance requirements. What works in one country may not work exactly the same way in another. You'll need to build systems that are flexible enough to handle these nuances without becoming unmaintainable or slowing down your ability to ship.
👤 You
Must-haves (evidence, not years)
Strong backend engineering fundamentals
Production-ready mindset (testing, observability, monitoring)
Shipping in small PRs with CI/CD
Product thinking - you care about user outcomes, not just implementation
Collaborative and easy to work with - you value team practices, give thoughtful feedback, and care about how we work together
Nice-to-have
Elixir/Phoenix professional experience
Multi-market B2B SaaS experience
Fintech or regulated industry background
AI-assisted development habits and prompt-level fluency
🧬 Your DNA
We're looking for engineers who thrive in fast-paced, product-driven environments. You'll need to be comfortable with rapid iteration, shipping small increments frequently, and adapting priorities based on user feedback and team objectives.
This role demands strong collaboration across product, design, data, and engineering teams, a pragmatic approach to balancing speed with quality, and deep ownership of both feature delivery and system reliability.
If you excel at finding the right technical solution - whether that's elegant architecture or pragmatic shortcuts to unblock progress - embrace trunk-based development with proper testing and observability, and naturally align your work to team goals while maintaining quality through disciplined execution, you'll succeed here.
You’ll probably find this frustrating if…
You work in isolation, ship large monolithic changes without iteration, over-engineer solutions before validating the problem, avoid ownership of system reliability, struggle to adapt priorities based on impact, deal poorly with direct and transparent feedback, or can't handle the pressure of working in a fast-moving environment where things don't always go as planned.
👥 Manager & Team
Meet Your Manager
Hiring Manager: Daniel Francisco, Engineering Manager
Location: Portugal
LinkedIn Profile:https://www.linkedin.com/in/dannyfshred/
Profile Snapshot:
Energy:Steady and pragmatic with a maker mindset. Comfortable going deep when needed, but optimizes for team autonomy and speed‑through‑quality.
Communication:Direct and concise, async‑first. Prioritizes written context so decisions are transparent and durable.
Feedback Style:Frequent, specific, and caring. Feedback is framed around outcomes and concrete next steps.
How to work with me - in the Manager's own words:
Hands‑on Engineering Manager who cares about quality and reliability. Sets clear expectations, unblocks quickly, and holds a high bar while coaching for growth.
Your Team
You’ll work day-to-day with:
Engineers, Product Manager, Product Designer, Engineering Manager
Key Stakeholders:
Bruno Oliveira, VP Engineering
Carlos Silva, Chief Architect
Joana Botelho, Head of Product
Pedro Cardoso, Head of Product Design
Tiago Fernandes, Co-Founder & CTO
💜 Access & Belonging (Equal Opportunity)
We hire for impact and potential, not pedigree.
We welcome applications from people with non-linear careers, career breaks, caregiving gaps, and those changing fields.
No discrimination on the basis of age, disability, gender identity/expression, marital or family status, pregnancy, neurodivergence, race/ethnicity, religion/belief, gender, sexual orientation, or any other protected ground.
Assessment fairness:
We anchor on evidence of outcomes (what you shipped, moved, or influenced).
We actively de-bias by using structured rubrics, multiple assessors, and blind screening most of the time (we won’t know your name, gender, or personal info until the interview stage).
📬 Application Clarity
No cover letter required.
Apply with your LinkedIn or upload your CV.
You may be asked a few short, relevant questions.
Total candidate time investment: ~3–5 hours end-to-end.
🧩 Hiring Stages (What to Expect, Why & How Long)
1. CV / LinkedIn Screen — Signal check vs must-haves
• You’ll hear from us within 7 business days.
2. Role-Fit Questionnaire (async)
Purpose: capture signals your CV can’t (languages, tools, scenario judgement) and calibrate seniority.
Format: multiple choice + short answers.
Accessibility: prefer a call? Tell us - we’ll swap for a short chat.
3. Hiring Manager Interview - Engineering Mindset deep-dive • 45–60 min\
4. Technical Deep-Dive - Show how you think • ≤90 min
We assess clarity, decision quality, stakeholder thinking, and ethics.
5. Pairing Session - Walkthrough + Q&A • 20–30 min
You’ll get actionable feedback either way.
6. Cultural Interview -With People • 30 to 45min
8. Final Conversation (CEO / C-Level) — Values, strategy, and your growth • 30–45 min
Optional: References (2–3 people who’ve seen your recent work) - async.
⏱️ Speed & Communication
Decision: within 4 weeks of your application.
Updates: weekly if the process runs longer.
Scheduling:interviews between 10:00–16:00 CET (flexible across Europe).
Feedback:from the Case stage onwards, you’ll always receive written or verbal feedback - what went well, and what to strengthen next time.
