Principal Engineer · Architecture · Generative AI

Two decades.
Up the abstraction.
With curiosity for challenges.

Nineteen years, from assembler and bare-metal C to generative AI. Every few years the stack changed underneath me. What did not change: I learned the layer below the new thing until I could build on it with confidence.

EmbeddedCompilersJVMMicroservicesGenAIArchitecture
Sep 2001 — Jun 2005

The Board I Etched Myself

High School "Nikola Tesla" · Sremska Mitrovica, Serbia
Chose automation over general schooling

Four years of automatic control systems, ending with a diploma project built from bare copper up.

  • Circuit layout drawn by hand
  • Board etched in acid, not ordered
  • Controller chip + flash ROM
  • Control software in Pascal/Delphi
  • Hardware and software, same project
electronicsautomationpcbpascaldelphihardwarefirmware
Oct 2005 — Jul 2008

Teaching a Computer to Look

West University of Timișoara — Faculty of Mathematics and Informatics · Timișoara, Romania
From circuits to algorithms

BSc Informatics, 180 ECTS, with a thesis on image processing built as a working application rather than a paper.

  • 180 ECTS
  • C# desktop application
  • Inversion, greyscale, blur, histogram equalisation
  • Image inspection and statistics
  • Became the base for the MSc thesis
informaticscsharpimagingalgorithmsthesis
Oct 2008 — Jul 2010

Four Hundred to One

West University of Timișoara — Faculty of Mathematics and Informatics · Timișoara, Romania
Threw away the pixels

MSc Informatics, study programme Software Engineering, with a thesis on an unconventional approach to image compression reaching roughly 400:1.

  • 120 ECTS
  • An approach well off the mainstream compression track
  • Images stored as polygon vertices + colour
  • Evolutionary search against a similarity score
  • Configurable quality threshold
  • ≈400:1 compression
informaticscompressionevolutionaryalgorithmsimagingresearchthesis

Nineteen years in two halves that rarely meet in one person. Ten years close to the metal — printer firmware in C across three processor architectures, then the GNU compiler and debugger themselves. Nine years upward through the stack — automotive code generation, Angular, JVM internals and garbage collection, distributed platforms on Quarkus and Kubernetes, and finally generative AI running in a product used by business travellers every day. The thread is the same throughout: build the thing underneath, and understand the constraints below that.

2007 — 2017
Close to the Metal

Ten years of low-level C, real-time systems and toolchains.

Jul 2007 — Sep 2007

Three Months, One Server

Saguaro Technology, Inc. · Timișoara, Romania
First code someone else depended on

A summer internship spent writing a multithreaded backup server in C.

  • Multithreaded backup server in C
  • Linux
  • Bash deployment scripting for Tomcat
internshipclinuxmultithreadingbash
Sep 2007 — Sep 2009

Inside the Printer

Saguaro Technology, Inc. · Timișoara, Romania
Intern to engineer

Two years building printer-side resource handling in low-level C for high-end production printers.

  • IPDS printer firmware
  • Resource database and caching mechanism
  • Resource container parser
  • TrueType font handling
  • ANSI C on Linux
cfirmwareprintersipdscachingparsingibm
Sep 2009 — Jun 2012

Same Code, Three Processors

Saguaro Technology, Inc. · Timișoara, Romania
Went cross-architecture

Porting IPDS functionality across x86, MIPS and PowerPC, on three different operating systems.

  • x86, MIPS, PowerPC
  • VxWorks, FreeBSD, openSUSE/SLES
  • Image rasterization and caching
  • TTF and OTF font support
  • IOCA image handling
cportingmipspowerpcvxworksfreebsdrealtimerasterization
Jul 2012 — May 2016

Getting Colour Right

Saguaro Technology, Inc. · Timișoara, Romania
Senior on the firmware

Four years on colour printing and colour management — the hardest correctness problem on the product.

  • Colour printing: halftone and TTC
  • Color Management Resource support
  • ICC profiles
  • Cross-architecture functionality porting
  • valgrind, GDB/DDD on deployed systems
  • Nine years total at Saguaro
ccolouricchalftonedebuggingfirmwarericoh
Jun 2016 — Oct 2017
CyberTHOR Studios Ltd. · Timișoara, Romania
Three concurrent roles
Jun 2016 — Oct 2017 concurrent

Building the Tools That Build the Code

Moved from writing C to compiling it

Compiler and debugger development on the GNU toolchain for three embedded architectures.

  • GNU compiler and debugger components
  • RX, RL78, ARM (Renesas RZ)
  • C, Assembly, Linux
  • DejaGNU test framework
  • Client: Renesas Electronics
gnucompilerdebuggertoolchainarmassemblyembeddedrenesas
Oct 2016 — Oct 2017 concurrent

Leaped Over the Abstraction Ladder

C to Java, and first time leading

Took on Eclipse CDT toolchain integration in Java while still writing compiler C — and started leading the team doing it.

  • Eclipse CDT and EMF
  • Same three architectures as the compiler work
  • C and Java in parallel
  • Architectural and test-case design
  • Mentoring and sprint planning
  • SVN administration
javaeclipsecdtleadershipmentoringarchitecturescrum
Jan 2017 — Oct 2017 concurrent

One Click, Every Quarter

Took ownership of shipping

Owned quarterly GNU toolchain releases, and automated the delivery process that made them repeatable.

  • Quarterly GNU toolchain releases
  • Test plans and release reports
  • One-click deliverable automation
  • Bash, Python, SVN hooks, cron
  • DejaGNU test framework
  • Internal wiki design and maintenance
releaseautomationpythonbashdevopsprocessownership
2017 — 2019
Up the Stack

Twenty-two months out of C — Java tooling, then a new country, a new industry and the only stretch of the career spent in the browser.

Oct 2017 — Jun 2018

The Generator, Not the Generated

Elektrobit (EB) · Timișoara, Romania
Automotive tooling, one step back from the vehicle

Eclipse-based Java tooling for AUTOSAR configuration, including R&D on the Adaptive AUTOSAR toolchain.

  • Adaptive AUTOSAR configuration tooling
  • C++ template generation from architectural definitions
  • Eclipse JDT, EMF, Sphinx, Xtext
  • Java 8, JUnit 4, Jenkins
  • R&D phase product
autosarjavaeclipsecodegenautomotivextexttooling
Jun 2018 — Apr 2019

From Firmware to the Browser

Amadeus, via Inetum · Nice, France
New country, new stack, new industry

Moved from Romania to France and from embedded C to Angular, on a real-time airline merchandising platform.

  • Relocated Romania → France
  • Embedded C → TypeScript and Angular
  • Real-time airline merchandising platform
  • AngularJS and Angular 6+, RxJS
  • D3.js visualisation
  • Project-wide test coverage work
angulartypescriptfrontendrxjsd3relocationamadeus
Apr 2019 — Aug 2019

Analytics Without the Surveillance

Amadeus, via Inetum · Nice, France
New product, and an ethical argument won

Five months on Cytric Expense — proposed and introduced privacy-respecting web analytics.

  • Cytric Expense product
  • Matomo ethical analytics — proposed and adopted
  • Angular 6+, SCSS
  • Jasmine, Protractor, Karma
  • Workload estimation from client input
angularscssanalyticsprivacymatomofrontendtesting
2019 — 2023
Platform, Performance & Standards

Back into the JVM and out again into distributed systems — four years spent on how things are built rather than what they do.

Aug 2019 — May 2021

The Forensic End of the Work

Amadeus, via Inetum · Nice, France
Frontend to JVM internals

Nearly two years on JVM performance, garbage-collector studies and production incident forensics.

  • JVM internals and profiling
  • G1 and Zing garbage-collector studies
  • Design recommendations over tuning parameters
  • Critical production incident forensics
  • JMeter, Docker, Linux
jvmperformancegcjavaforensicsarchitectureprofiling
May 2021 — Feb 2022

From Nothing

Amadeus, via Inetum · Nice, France
Greenfield, with the team that shaped it

Built the first version of the Cytric Travel integration for Microsoft Teams from a blank repository.

  • Greenfield service layer
  • Spring → Quarkus migration mid-project
  • OpenShift runtime and delivery
  • Keycloak authentication
  • Elastic Stack, Grafana, Prometheus observability baseline
quarkusspringjavaopenshiftkeycloakobservabilitygreenfield
Feb 2022 — Nov 2023

The Standard Path, Deliberately

Amadeus (Cytric) · Nice, France
Direct hire, and off the bespoke stack

Rebuilt the Teams integration onto Amadeus' internal platform — the standardised route rather than a bespoke one — and shipped its first AI chatbot.

  • Contractor → direct employee
  • Six microservices on SKube / Quarkus
  • Standard internal platform over bespoke
  • 15+ Playwright end-to-end tests
  • React embedded in Microsoft Teams
  • Kafka, Couchbase, OpenShift
  • First AI chatbot integration shipped in the product
quarkusskubeplatformstandardisationreactkafkacouchbaseplaywrightai
2023 — present
AI in Production
Dec 2023 — Mar 2026

Owning the Intent, Not Just the Delivery

Amadeus (Cytric) · Nice, France
Team lead, and epic owner across three

Technical lead for the Cytric AI Assistant and Epic Owner at programme level for the epics behind it.

  • Technical lead + programme-level Epic Owner
  • AI architectural direction with System Architects
  • Onboarded 5 engineers and 2 System Architects
  • GitHub Copilot trainer — first cohort of 8 engineers
  • Scrum Master for two teams in parallel, six months
  • PI Planning across two teams
leadershipsaferagazurearchitecturementoringscrumai

Cutting the Framework Out

Isolated a dependency across three teams

A programme-level epic spanning three teams, isolating the Bot Framework behind a dedicated connector.

  • Three teams
  • Seven microservices
  • Dedicated Node.js connector
  • Communication flows redesigned
  • Zero-downtime cutover
nodejsmigrationarchitecturemicroservicesepic

Ask the Policy Anything

Travel-policy Q&A onto vector search

Modernised travel-policy question answering onto Azure AI Search and integrated it into the main product.

  • Azure AI Search
  • Integrated into the main product
  • Opened the path to scalable document ingestion
ragazuresearchairedesign

Build It Small First

Prototypes to de-risk decisions

Prototyped an Agent Playground for local development and a personalisation microservice, before teams committed.

  • Local agent development environment
  • Personalisation microservice prototype
  • Built to de-risk, not to ship
prototypingagentsarchitecturemicroservices
Apr 2026 — present

Setting the Direction

Amadeus (Cytric) · Nice, France
Promoted to Principal

Sets AI architectural direction across the programme and consults for teams building their own AI capabilities.

  • Promoted April 2026
  • Three consecutive Exceeding Expectations ratings
  • AI architectural direction across the programme
  • Azure OpenAI, Azure AI Search, RAG
  • LangGraph, langchain4j, MCP and MCP Apps
  • Internal and external AI consulting
principalarchitecturegenairagmcplanggraphazureleadership

Themes I keep coming back to, and want to write about properly. There will be more.

What is underneath this?

Every job I have taken has been one layer below the last one that made me curious. The board, the firmware, the compiler, the runtime, the platform.

drafting

Is it right when nothing crashes?

A colour that is subtly off. A pause that only appears under real traffic. An answer that is fluent and wrong. The failures I have spent most of my life on are the quiet ones.

drafting

Can I build the thing that builds the thing?

Compilers, generators, release automation, playgrounds for other people's experiments. Given the choice, I would rather own the tool than borrow it.

drafting

How much can a machine work out for itself?

Older than it looks: a master's thesis that threw the pixels away and let a search find its own representation, and a day job doing a version of the same thing sixteen years later.

drafting
View all posts →
coming soon

A personal AI assistant that knows my work and background — ask it about my experience, or leave a message and it will pass it along.