Senior C++ Developer

XCI
Aalborg,
XCI logo

Oversigt og nøgleindsigter

Senior C++ Developer søges til XCI i Aalborg for at udvikle softwareløsninger til bekæmpelse af kriminalitet. Stillingen kræver erfaring med højtydende C++ og realtids databehandling.

Højdepunkter

  • Udvikling og vedligeholdelse af realtids, skalerbare og testbare software systemer
  • Optimering af systemydelse gennem profiling og flaskehalsanalyse
  • Samarbejde på tværs af teams for at integrere forskellige teknologier

Påkrævede kvalifikationer

  • 5+ års erfaring med softwareudvikling
  • Avanceret C++ programmering (C++17 eller senere)
  • Erfaring med concurrent og parallel programming, multithreading

Ønskværdige kvalifikationer

  • Erfaring med Apache Kafka eller andre distribuerede streaming platforme
  • Erfaring med Intel DPDK eller andre højtydende netværksrammer

Den ideale kandidat

Den ideelle kandidat har en stærk baggrund i at bygge højtydende, skalerbare systemer og er dygtig til at skrive struktureret, vedligeholdelsesvenlig kode. De er gode til at kommunikere på engelsk og motiveret af at forbedre offentlig sikkerhed gennem teknologi.

Jobdetaljer

Løn efter aftale
Fuldtid
timer/uge
Kun kontor
Aalborg

Jobbeskrivelse

Become part of a rapidly growing technology company with an important purpose of developing the best software products to prevent and fight crime. We make sure that police authorities and intelligence services always have the best technological solutions, giving them optimal conditions to protect citizens in the city, on the street and in our homes.

If you are motivated by working in a dynamic, innovative environment where you actively contribute to creating impactful technological solutions, and have deep experience with high-performance C++ and real-time data processing at scale, you might be the skilled Senior Software Developer we need on our team. You will take part in knowledge-sharing and cross-functional collaboration, all while being driven by meaningful impact through technical excellence.

Build high-performance systems that process data at scale

Your primary role will be to design, develop and maintain real-time, scalable and testable, high-quality software systems where performance is critical. You'll work on technical challenges that demand deep expertise in performance optimization, concurrent programming, and distributed system design.

The technical challenges you'll solve:

  • Processing and analyzing real-time data streams at scale with strict latency requirements
  • Optimizing system performance through profiling, bottleneck analysis, and architectural improvements
  • Designing and implementing highly concurrent C++ services that efficiently utilize modern multi-core processors
  • Building scalable architectures that handle massive data volumes while maintaining reliability and maintainability

Areas of responsibility

  • Design and implement high-performance C++ services that handle real-time data at scale
  • Optimize system performance through profiling, benchmarking, and architectural refinement
  • Architect solutions for concurrent and parallel data processing on modern hardware
  • Lead code reviews and establish best practices for clean, maintainable, high-performance code
  • Mature our CI/CD workflows, testing strategies (unit, integration, and performance testing), and monitoring tools
  • Mentor and train junior developers, sharing your expertise in software architecture and system design
  • Collaborate across teams to integrate diverse technologies and competencies

About you

You have 5+ years of experience with software development and have a proven track record of building high-performance, scalable systems. You excel at writing clean, structured code that runs fast, and you know how to systematically identify and eliminate performance bottlenecks.

You understand the intricacies of concurrent programming and have experience designing systems that efficiently leverage multi-core architectures. You're comfortable making architectural decisions and can balance trade-offs between performance, maintainability, and scalability.

You are motivated by continuous learning and have a natural interest in exploring new technologies within the field. You find it exciting to contribute to the improvement of public safety through innovative tech solutions.

Furthermore, you are a strong team player who shares valuable ideas and knowledge with your colleagues. You communicate effectively in English, both in writing and speaking.

You have experience with

We imagine you have some experience with the following:

  • Design and implementation of highly performant and scalable software systems
  • Advanced C++ programming (modern C++17 or later)
  • Performance optimization, profiling tools, and benchmarking methodologies
  • Concurrent and parallel programming, multithreading, and synchronization
  • Network technologies and/or telecommunications
  • Software architecture patterns and SOLID principles
  • Modern development practices including CI/CD, automated testing, and code review

It's a further advantage if you have worked with:

  • Apache Kafka or other distributed streaming platforms
  • Intel DPDK or other high-performance networking frameworks
  • Docker and/or Kubernetes
  • Linux systems programming
  • Distributed systems design

If you don’t tick all the boxes above, please do apply anyway. We strongly believe in personal and professional development as part of the job, so if you have a positive attitude and natural curiosity, you’ll have plenty of opportunity for learning and growth.

Be part of the XCI-Team

You will be part of our creative community of 150+ experts who believe in XCI's core purpose of protecting us all from criminal threats. Our projects present complex technical challenges that have real meaning and contribute to making society safer.

As part of the XCI team, you should expect to work with motivated and happy colleagues in a dynamic work environment. The informal XCI culture has "freedom under responsibility" as its internal motto, which allows you flexible working hours and a good work/life balance. We prioritize employee development very highly and there is always a focus on your professional and personal development.

Application

If you have any questions about the position, you are welcome to contact Senior Development Manager, Mark Hougaard at e-mail: mark.hougaard@xci.dk.

We hold regular interviews and end the recruitment process when the right candidate has been found. We are looking forward to hearing from you!

Due to GDPR you can only apply via the link. All employees of XCI must be able to obtain a security clearance, which is why we will ask you to present a clean criminal record during the recruitment process.

Karrierevej

Typisk karriereforløb

1

Lead Software Engineer

2

Software Architect

3

Engineering Manager

Vækstpotentiale

Som Senior C++ Developer har du mulighed for at avancere til ledende tekniske roller, hvor du kan få større ansvar for arkitektur og design af komplekse systemer. Desuden kan du udvikle dig i retning af ledelse, hvis du ønsker at styre teams og projekter.

Overførbare færdigheder

PerformanceoptimeringConcurrent programmingSystemarkitektur

Branchekontekst

Stillingen som Senior C++ Developer er afgørende i teknologiindustrien, især inden for realtidsdatabehandling og sikkerhedssektoren. Din rolle bidrager til udviklingen af avancerede teknologiske løsninger, der har stor betydning for samfundets sikkerhed og effektivitet.

Færdighedsanalyse

Kritiske færdigheder

C++

Dybt kendskab til C++ for udvikling af højtydende software.

Realtids databehandling

Erfaring med behandling og analyse af realtidsdatastreams med strenge latenskrav.

Performanceoptimering

Evne til at optimere systemydelse gennem profilering, flaskehalsanalyse og arkitektoniske forbedringer.

Samtidig programmering

Forståelse af samtidighed og erfaring med at designe systemer, der effektivt bruger moderne multi-core processorer.

Vigtige færdigheder

Skalérbare arkitekturer

Design og implementering af arkitekturer, der kan håndtere store datamængder.

CI/CD og teststrategier

Modning af CI/CD workflows og udvikling af teststrategier til enhedstest, integrationstest og performance testing.

Mentorering

Erfaring med at træne og vejlede juniorudviklere.

Ønskværdige færdigheder

Tværfagligt samarbejde

Samarbejde på tværs af teams for at integrere forskellige teknologier og kompetencer.

Mest kritiske færdigheder

C++Realtids databehandlingPerformanceoptimering

Sådan fremhæver du din erfaring

Fremhæv din erfaring ved at beskrive konkrete projekter, hvor du har anvendt C++ til at udvikle højtydende systemer. Del eksempler på, hvordan du har optimeret systemer for at reducere latens og forbedre performance, samt erfaring med samtidighed på multi-core platforme.

Interviewforberedelse

Sandsynlige spørgsmål

Kan du beskrive en situation, hvor du har optimeret systemydelse gennem profilering og flaskehalsanalyse?

teknisk

Tip: Beskriv specifikke teknikker og værktøjer, du har brugt, samt de resultater, du opnåede.

Hvordan håndterer du designet af systemer, der skal køre realtidsdata med strenge latenstidskrav?

teknisk

Tip: Diskuter din erfaring med realtidsdatabehandling, og hvordan du sikrer lav latenstid.

Fortæl om en udfordrende situation, hvor du måtte balancere mellem systemets ydeevne og vedligeholdelse.

situation

Tip: Vis din evne til at træffe balancerede beslutninger og kommuniker de overvejelser, du gjorde.

Hvilken erfaring har du med at mentorere og træne juniorudviklere?

erfaring

Tip: Giv eksempler på, hvordan du har hjulpet med at udvikle andres færdigheder og viden.

Hvordan holder du dig opdateret med nye teknologier inden for dit felt?

kultur

Tip: Fremhæv din entusiasme for læring og engagement i kontinuerlig faglig udvikling.

Spørgsmål du kan stille

  • Kan I beskrive teamstrukturen og samarbejdet mellem forskellige funktioner?
  • Hvilke værktøjer og teknologier bruger I til CI/CD og performance monitoring?
  • Hvordan måler I succes for de projekter, jeg ville arbejde på?

Tale punkter

  • Min erfaring med at designe skalerbare systemer i C++.
  • Den betydning, jeg lægger på at skrive ren og struktureret kode.
  • Min interesse i at fortsætte med at lære og anvende nye teknologier.

Bekymringspunkter at være opmærksom på

  • Manglende erfaring med realtidsdatabehandling eller performanceoptimering.
  • Uvillighed til at arbejde i en tværfunktionel og dynamisk teamstruktur.

Ansøgningsstrategi

Ansøgningstips

  • Fremhæv din erfaring med at udvikle højtydende C++ systemer og din evne til at optimere systemer for ydeevne.
  • Beskriv konkrete eksempler på tidligere projekter, hvor du har arbejdet med realtidsdata og konstrueret skalerbare arkitekturer.
  • Demonstrer din evne til at arbejde med moderne multi-core processorer og erfaring med concurrent programming.

Nøgleord at inkludere

højtydende C++realtidsdataskalerbare systemerperformanceoptimeringconcurrent programming

Fokus i ansøgningen

Fremhæv din passion for at skabe teknologiske løsninger med stor indflydelse og din erfaring med at bygge skalerbare og højtydende systemer. Beskriv din motivation for at arbejde i et innovativt miljø, der fokuserer på at beskytte borgere gennem teknologi.

Tilpasning af CV

Tilpas dit CV ved at understrege dine resultater inden for systemarkitektur og performanceoptimering. Inddrag specifikke teknologier og værktøjer, du har anvendt til at håndtere store datamængder og realtidsdata.

Ofte stillede spørgsmål

Hvad indebærer stillingen som Senior C++ Developer hos XCI?

Stillingen indebærer at designe, udvikle og vedligeholde højtydende, skalerbare softwareløsninger i C++ med fokus på realtids databehandling. Du vil arbejde med at optimere systemperformance og implementere concurrent programmering.

Hvilke kvalifikationer kræves for at blive Senior C++ Developer hos XCI?

Du skal have over 5 års erfaring med softwareudvikling, en stærk forståelse for højtydende systemer, og erfaring med concurrent programmering og moderne multi-core arkitekturer. Evnen til at skrive struktureret, optimeret kode er essentiel.

Hvad tilbyder XCI deres ansatte?

XCI tilbyder et dynamisk og innovativt arbejdsmiljø, hvor du kan bidrage til meningsfulde teknologiske løsninger. Der er muligheder for vidensdeling, tværfagligt samarbejde og kontinuerlig læring.

Hvordan er arbejdsmiljøet hos XCI?

Arbejdsmiljøet hos XCI er dynamisk og innovativt, med fokus på samarbejde og teknisk ekspertise. Du vil arbejde i et team, der er drevet af at skabe teknologiske løsninger med en meningsfuld indflydelse.

Hvad er forventningerne til en Senior C++ Developer hos XCI?

Forventningerne inkluderer at designe og implementere højtydende C++ services, optimere systemperformance, lede kodegennemgange og etablere best practices. Du skal også være med til at træne juniorudviklere.

Hvilke tekniske udfordringer vil jeg møde i denne stilling?

Du vil møde udfordringer som realtids databehandling med strenge latenstidskrav, systemperformance-optimering via profilering, og design af skalerbare arkitekturer til massive datamængder.

Hvordan bidrager XCI's produkter til samfundet?

XCI udvikler softwareprodukter, der hjælper politimyndigheder og efterretningstjenester med at forebygge og bekæmpe kriminalitet, hvilket sikrer borgernes sikkerhed både i det offentlige rum og i hjemmet.

Stillinger

Senior Software DeveloperC++ Developer

Lignende jobs