Software Development Team Lead (Message Squad)

Paris / Lisbon / Italy / Milan / Prague / Tbilisi / Tallinn / Warsaw / Yerevan / Zagreb / Barcelona
Engineering – Software Development /
Full-time /
On-site

About Diabolocom

Diabolocom enables organizations worldwide to build brand loyalty and drive sales growth through its cloud-based contact center platform. Our solution leverages AI-driven technologies to optimize customer experience across all communication channels.

We provide seamless management of inbound and outbound interactions, premium voice quality, real-time analytics, and global scalability. Our platform integrates with leading CRMs and offers a wide range of APIs and services in multiple languages.

With offices across Europe, the USA, Brazil, and the UAE, and more than 350 clients operating in over 60 countries, we are continuously growing and strengthening our engineering teams.

 


About the Team – Message Squad

The Message Squad builds and maintains services that enable communication across multiple text-based channels. Initially focused on email, the team now works on a broader messaging platform integrating channels such as WhatsApp, SMS, and social networks.

The team currently consists of:

  • 7 backend engineers

  • 2 QA engineers

Current Tech Stack

  • Languages: Golang (80%), Java (20%)

  • Database: PostgreSQL

  • Messaging: RabbitMQ

  • Caching: Redis

  • Infrastructure: Docker, Kubernetes

  • Observability: Grafana, Prometheus, Loki

Key Focus Areas

  • Enhancing messaging features (templates, quick replies, voice messages)

  • Building a unified ticketing system for multi-channel communication

  • Collaborating with other squads on cross-functional features

 


About the Role

We are looking for a Software Development Team Lead to drive technical direction, lead a multidisciplinary team, and ensure the delivery of high-quality, scalable solutions.

In this role, you will combine hands-on development with team leadership, contributing to backend services while guiding architectural decisions and maintaining a strong engineering culture.

 


Your Responsibilities

  • Lead and manage a team of engineers, supporting their growth and performance

  • Define and drive quarterly, release, and sprint planning

  • Ensure stability and reliability of services in production

  • Contribute hands-on to backend development (mainly in Golang)

  • Design and evolve scalable distributed systems

  • Review and challenge technical designs with a focus on risk, scalability, and testability

  • Define and improve testing strategies in collaboration with QA

  • Continuously improve CI/CD pipelines, tooling, and development practices

  • Collaborate closely with Product Owners and other teams

 


What We’re Looking For

  • 10+ years of experience in software development in product environments

  • 3+ years of hands-on experience with Golang

  • 3+ years of experience in a people management role

  • Strong experience with distributed systems and microservices architectures

  • Solid experience with relational databases (PostgreSQL preferred)

  • Ability to drive architectural decisions and assess trade-offs

  • Strong ownership, attention to detail, and business-oriented mindset

  • Strong exposure to SRE practices and production reliability

 


Additional Assets

  • Experience with Java and Spring Boot

 


What We Offer

  • Lead a team of experienced engineers and shape how the team works, delivers, and grows

  • Work on complex, real-time messaging systems at scale, with modern infrastructure (Go, Kafka/RabbitMQ, Kubernetes) 

  • A strong engineering environment where you can challenge decisions, improve practices, and raise the bar on quality

  • A fast-moving context with evolving priorities, where you’re trusted to take ownership and make decisions

  • A product used at scale, where your work has direct impact on customers and business outcomes

 


Recruitment Process

  • Introductory call with Talent Acquisition

  • Live coding interview with one of our Team Leads

  • System design interview with one of our Team Leads

  • Final interview with Alexander, our Head of Software Engineering