Now Hiring:
Call US: (+357) 22 509999

Software Engineer – Systems Orchestration & Control Plane

About the Role

We’re building a complex product that combines wireless/networked protocols, specialized hardware platforms, and operator-facing management software. We’re looking for a software engineer to own the orchestration layer — the “brain” that coordinates multiple subsystems into one reliable, controllable product.

This role is ideal for someone who enjoys making complicated systems behave predictably: turning high-level intent into concrete configuration, managing lifecycle and state, handling events and identifiers, and building robust services that run 24/7 in real deployments.

No prior cellular background is required — we will teach you the domain. What matters most is strong software engineering fundamentals and experience integrating systems.

What You’ll Do

  • Build and maintain the control-plane / orchestration software that coordinates multiple services, protocols, and hardware-adjacent components.
  • Implement workflows and state machines for system lifecycle: initialization, configuration, start/stop, mode transitions, health monitoring, recovery, and safe failure handling.
  • Design and maintain APIs used by internal services and UIs (validation, authorization hooks, versioning, backward compatibility).
  • Handle high-volume event streams and identity-like data: ingest, normalize, correlate, deduplicate, persist, and route according to system rules.
  • Own system reliability: structured logging, metrics, audit trails, alarms, and debuggability in production environments.
  • Work closely with engineers from different specialties (protocol/software/hardware/platform) to define integration contracts and ensure end-to-end behavior.
  • Contribute to test infrastructure: integration tests, simulators/mocks, regression automation, and CI gates.

 Technologies You’ll Use

  • JavaScript / TypeScript for non-time-critical orchestration services, APIs, and tooling.
  • C/C++ for performance- or resource-sensitive components and low-level integrations.
  • Linux environment, networking, concurrency, IPC patterns (e.g., sockets/message bus/shared memory—depending on architecture).
  • Git-based development, code reviews, CI/CD.

What We’re Looking For

  • B.Sc. in Computer Science / Software Engineering / Electrical Engineering (or equivalent experience).
  • 3+ years experience building production software in one or more of:
    • Backend/services development
    • Distributed systems / systems integration
    • Control-plane / orchestration platforms
  • Solid understanding of:
    • State, concurrency, timeouts/retries, idempotency
    • APIs and service boundaries
    • Debugging in Linux (logs, networking tools, profiling)
  • Strong “systems thinking”: you can reason about cross-component behavior, failure modes, and operational safety.

Nice to Have (Not Required)

  • Experience with real-time-ish systems, hardware-adjacent software, or performance optimization.
  • Familiarity with event-driven architectures, message queues, streaming pipelines.
  • Experience building operator-facing products: auditability, RBAC, traceability, “explain what happened” capabilities.
  • Any exposure to wireless/networking/protocols — but we don’t expect it.

What Makes This Role Interesting

  • You’ll own the core software layer that turns multiple specialized components into one coherent product.
  • You’ll work on problems like orchestration, observability, reliability, and performance — the same hard problems found in large-scale platforms, but in a tighter, high-impact team.
  • You’ll learn a unique domain while staying grounded in broadly transferable software engineering skills.
Job Type: Full Time
Job Location: hybrid Nicosia

Apply for this position

Allowed Type(s): .pdf, .doc, .docx