Skip to content

Staff Backend Engineer (Python, Spain, Remote)

  • Remote
    • Madrid, Comunidad de Madrid, Spain
  • €53,800 - €72,000 per year
  • Research and Development

Job description

At Visualfabriq, we’re building software that helps large consumer goods companies make smarter, data-driven decisions. Our software brings together data, automation, and AI to support better planning and forecasting—making life easier for commercial and finance teams at some of the world’s most recognized brands. 

We’re a European company with a growing presence in Spain, and we’re proud of our open, collaborative culture. Our teams work with a high degree of autonomy and are encouraged to take ownership, experiment, and continuously improve.

Why Join Us

We aim to provide a work environment that supports both professional growth and personal well-being. While specific benefits may vary, here’s what you can typically expect when joining our team in Spain: 

  • Real-World Impact: Your work will contribute to tools used by global companies to make everyday business decisions. 

  • Competitive salary: €58K to €72K, adjusted for experience and location within Spain. 

  • Generous time off: 23 days of paid vacation per year, plus local public holidays. 

  • Working remote: Possibility to work from somewhere else than Spain for 4 weeks a year. 

  • Learning & development: Access to training resources, courses, and internal knowledge-sharing initiatives. 

  • Well-being: Free access to a professional coach. 

  • Social events: Multiple social events per year to connect with your colleagues.

  • Work-life balance: We respect your time and encourage sustainable work habits.

  • Inclusive culture: A diverse and international team where your voice is valued.

  • Modern tools: We use up-to-date technologies and actively encourage the use of AI tools to help engineers work more efficiently. 

Your Role 

As a Staff Backend Engineer, you’ll play a key role in shaping the architecture and technical direction of our platform. You’ll work across teams to solve complex engineering challenges, guide technical decisions, and help ensure our systems are scalable, secure, and maintainable. 

This role is ideal for someone with deep backend expertise and a strong sense of technical ownership. You’ll be expected to lead by example, influence engineering practices across teams, and mentor others—without necessarily having direct management responsibilities.

Key responsibilities include: 

  • Designing and evolving the architecture of our backend systems to support scale, performance, and maintainability. 

  • Leading cross-team technical initiatives and aligning engineering standards and best practices. 

  • Mentoring engineers at various levels and fostering a culture of technical excellence. 

  • Collaborating with product and engineering leadership to shape the roadmap and prioritize technical investments. 

  • Investigating and resolving complex technical issues that span multiple systems or teams. 

  • Contributing to the continuous improvement of our development processes, tooling, and system design. 

Our Tech Stack 

We work with a practical and evolving backend stack that supports our platform’s current needs while allowing for future improvements. While we don’t expect candidates to be familiar with every technology, experience with some and a willingness to learn are important. 

Technologies we use include: 

  • Languages: Python (backend), ReactJS with TypeScript (frontend) 

  • Frameworks: FastAPI, Pytest, and others depending on the service 

  • Databases: PostgreSQL, MongoDB, Redis 

  • Infrastructure: Docker, GitHub Actions, Terraform, CDK 

  • Cloud: AWS (primary), with services deployed and managed via CI/CD pipelines 

  • Monitoring: CloudWatch, Sentry 

  • Collaboration Tools: Jira, Confluence, GitHub 

We’re continuously improving our stack and architecture, and engineers are encouraged to contribute ideas and help shape our technical direction. 

How We Work 

We work in cross-functional product teams that include backend and frontend engineers, product managers, and domain experts. Each team is responsible for delivering and maintaining its own services, with a strong emphasis on collaboration and shared ownership. 

Engineers are expected to take full responsibility for the quality of their work, including writing automated tests and participating in peer reviews. We follow agile principles, with regular planning and refinement sessions, and aim for a balance between structure and flexibility. 

We value clean code, thoughtful design, and clear documentation. Collaboration happens both synchronously and asynchronously, supported by tools like Confluence, GitHub, and Jira. 

Hiring Process 

We aim to keep our hiring process clear, respectful of your time, and focused on your skills and potential. Here’s what you can expect: 

  1. Introductory Call: A short conversation to get to know each other, understand your background, and answer any initial questions you may have. 

  1. Technical Interview (60 minutes): A structured conversation where we explore your technical background, experience, and depth of understanding. This is not a hands-on session. 

  1. Design or Code Review Interview (120 minutes): A deep-dive session where we assess your ability to reason through architectural decisions or evaluate real-world code, depending on the role level. 

No specific preparation is required if you are already somewhat familiar with Python—we’re more interested in how you think, communicate, and collaborate than in textbook answers. 

Location 

This is a remote-first role open to candidates based in Spain. While most of our collaboration happens online, we occasionally meet in person for team events or workshops.

Job requirements

We’re looking for a Staff Backend Engineer with 7+ years of professional experience who brings deep technical expertise and a strong sense of ownership. You’ll be expected to lead by example, influence engineering practices across teams, and help raise the bar for backend development—without necessarily managing others:

Minimum requirements: 

  • Bachelor’s degree in software engineering, Computer Science, or a related field. 

  • Excellent written and verbal communication skills in English. 

  • Strong experience with Python and backend architecture in production environments. 

  • Proven ability to design complex systems and guide technical decisions. 

  • Experience working with relational and non-relational databases. 

  • Ability to mentor engineers and foster technical growth across teams.

You’ll thrive in this role if you: 

  • Lead technical initiatives and drive alignment on engineering standards. 

  • Take initiative to improve system design, development workflows, and team practices. 

  • Are comfortable influencing decisions and leading discussions across teams. 

  • Contribute to communities of practice and promote a culture of learning. 

  • Are curious about the business domain and motivated to build software that delivers real value. 

or

h2 .info {color:#000;}