Skip to content
← All roles

Senior Backend & AI Engineer

Opening soon

the engineer making sales data reliable enough for AI to act on it.

Cyprus (on-site or remote) · Full-time

Location requirement

You must be physically located in Cyprus. This is a hard filter, not a preference. Applications from outside Cyprus will not be considered, regardless of relocation willingness on the candidate's side.

The role

The hard part of AI sales is not making a model answer a prompt. It is giving the model the right customer, company, conversation, and market context at the right moment, then making sure the action it takes can be trusted.

You will own the spine that makes that possible: ingestion, identity, normalization, the Knowledge Graph, retrieval, orchestration, evaluation, and the production systems around them. The boundaries between backend engineering and applied AI are the work, not an org-chart problem to pass between teams.

Why this seat now

Dija is small enough that architecture decisions still compound immediately. A reliable connector can remove hours from every sales team we serve. A bad retrieval decision can make an agent confidently wrong in every customer conversation. You will see both the user impact and the system trace.

This is not a research role where a demo is the finish line. You will ship production systems, instrument them, learn from failure, and decide which model or technique is actually worth the complexity. The right engineer here makes the whole product faster, safer, and more capable at once.

What you'll own, and what it becomes

First 6 months (what you do Monday)

  • Ingestion: build durable paths for CRM records, calls, emails, and other sales signals. Handle messy schemas, partial failure, replays, rate limits, and the identity questions that make a timeline useful instead of merely full.
  • The Knowledge Graph: turn disconnected records into a living model of companies, people, opportunities, conversations, and the relationships between them. Make provenance and freshness visible so the system can say what it knows and why.
  • Retrieval: make context selection a measurable engineering problem. Design the right indexes, filters, ranking, and evaluation loops so agents receive useful evidence instead of a larger prompt.
  • Orchestration: build workflows that can plan, call tools, wait, retry, ask for approval, and resume without duplicating work or losing state. Reliability is a product feature when an agent is operating in a live sales process.
  • Production discipline: add the traces, evals, fixtures, alerts, cost controls, and failure handling that let us improve model behaviour without guessing whether we broke the system around it.

12 to 36 months (what it becomes)

  • Month 12: the core data and agent paths are boring in the best sense. New sources are easier to add, retrieval quality is measured, and a customer can understand what happened when an automated action goes wrong.
  • Month 24: you are the technical owner of the platform that powers Dija's sales agents and the primitives other teams build on. You have made the important abstractions clear enough that speed no longer depends on one person remembering the whole system.
  • Month 36: you are leading the engineering shape of an AI-native sales company. The systems handle more revenue and more customer context without requiring a matching increase in headcount, and the team you help build can still explain every important decision.

Who you are

  • You are a strong backend engineer who has shipped systems people depend on. You think about contracts, data shape, idempotency, observability, and the ugly cases before production teaches you the expensive version.
  • You have built with language models or retrieval systems in a real product, not only in a notebook. You know the difference between a clever prototype and a workflow that can run safely at 3 am.
  • You can move between TypeScript, data models, APIs, queues, prompts, and evaluation without treating any one layer as someone else's problem. Our stack will evolve; the engineering judgement is the requirement.
  • You like talking to users. A trace is evidence, not the customer. You will watch a sales team use what you built, ask where the system made them slower, and change the design accordingly.
  • You are opinionated but revisable. You can defend a design, measure it, delete it when the evidence changes, and leave the next person a system they can understand.

Why you'd take this, and when you shouldn't

Take this seat if you want to work on the boundary where data quality, distributed systems, and model behaviour become one product. You want ownership of a meaningful surface area and a short path from a design decision to a customer outcome.

Do not take this seat if you want to spend your time only tuning prompts, only building CRUD endpoints, or writing architecture documents for another team to implement. If you need a large platform group to absorb the operational details, this is too early for you.

What we will not do

We will not ship a black box and call it intelligence. We will not accept unreliable ingestion because the demo looked good, or add a model because it is fashionable without measuring the behaviour it improves. We will make the smallest system that gives a customer a better sales outcome, then earn the right to make it bigger.

The bar

Show us a system you made reliable. Walk through the first failure, the evidence you collected, the trade-off you chose, and what changed after it reached real users. We care less about the framework name than whether you can see the whole path from input to consequence.

On the first call, teach us how you would debug an agent that retrieved the wrong account context and still sounded convincing. We should leave with a better test, not just a better explanation.

Not open yet

This role is opening soon. Leave your email and we'll reach out when it goes live.