Skip to content

Fadi Cheikh

Senior Software EngineerUtrecht, Netherlands

Senior software engineer working across full-stack development, data engineering and applied AI, in cybersecurity, retail analytics, financial services, energy and telecom. At IBM I build Python microservices and offline AI capabilities for QRadar EDR, an endpoint security product. I own solutions end to end, from stakeholder requirements to deployment.

Portrait of Fadi Cheikh

Experience

  1. 03/2024 – Present

    IBM

    AI integration, backend services and internal tooling for QRadar EDR, an endpoint security product.

    Show the details

    QRadar EDR is an endpoint detection and response product with MITRE ATT&CK-mapped detection rules, deployed on OpenShift in cloud and air-gapped environments.

    • Integrated a quantized LLM (IBM Granite) into the product, bringing AI-assisted code explanation to air-gapped customer environments on CPU-only infrastructure.
    • Built an interactive model evaluation platform where engineers load models, tune inference parameters (temperature, top-k, top-p, context window) and compare outputs in real time, to support model selection for the offline feature.
    • Designed and delivered a validation service for Lua detection rules in three iterations: a FastAPI proof of concept orchestrating Luacheck and lua-format, integration and containerization within an existing service, then a production microservice with asynchronous subprocess handling, fail-fast error handling, type hints and full unit test suites. Detection engineers now use it to catch rule errors before release.
    • Built a smoke-testing service with a sandboxed Lua runtime, fully API-compatible with the endpoint agent, so detection engineers can validate policies before production deployment.
    • Contributed to an API gateway that centralizes routing and management of requests across the team's internal microservice platform.
    • Maintain and extend the platform's microservices: harden container images to security standards, run performance profiling and stress tests, and manage Jenkins CI/CD pipelines.
    • Contribute to the endpoint agent (detection capabilities, telemetry collection) and to React front-ends for internal tooling. Delivered features are in production, adopted by detection engineering teams, with positive user feedback.

    Python, FastAPI, Lua, Docker, OpenShift, Jenkins, OpenSearch, React, Redis, Kafka

  2. 06/2021 – 02/2024

    NetCapital

    Building a new version of the company CMS.

    Show the details

    NetCapital generates leads for banks, credit card providers and other financial institutions across multiple European countries.

    • Gathered requirements directly from stakeholders for the rebuild of the company's internal CMS, translated them into technical specifications and distributed tasks across the team.
    • Architected the Next.js front-end with a modular, scalable structure supporting multiple site designs, including Webflow-based designs integrated via DevLink.
    • Defined and executed the data migration from DynamoDB to MongoDB with preserved integrity, and documented the strategy for future reference and audit.
    • Introduced a caching layer to reduce page load times, and integrated Google Tag Manager so tracking tags could be managed without code changes.
    • Set up the development pipeline with GitLab CI and Docker for consistent deployments across environments, and investigated and resolved production anomalies.

    React, Next.js, Redux, Node.js, MongoDB, Python, AWS, GitLab CI, Docker

  3. 07/2020 – 05/2021

    RUN-IT

    External consultancy.

    Show the details

    Software consultancy.

    • Built a B2B e-commerce platform for a wholesale distributor, with a Django REST Framework back-end and a React and Redux front-end covering catalogue, stock, ordering and back-office order and complaint management, deployed on Heroku.
    • Developed a Python desktop application (Pandas, Tabula, PyInstaller) for an accounting firm that extracts, cleans and reconciles client transaction data and exports it into the firm's accounting software (Meteor Compta).
    • Worked directly with the accountants to gather requirements, delivered the solution first for the firm's main client, then generalised it to support additional clients.

    Python, Django, Django REST Framework, React, Redux, Pandas, Tabula, PyInstaller, Heroku

  4. 12/2019 – 06/2020

    Devoteam

    Big data architecture and external consultancy.

    Show the details

    Devoteam started a proof of concept to automatically match incoming CVs to missions. My team owned feasibility: choosing and validating the processing stack.

    • Set up a Hadoop cluster with YARN as resource manager, and tested job submission.
    • Installed Spark on the cluster and validated batch and streaming jobs.
    • Set up Apache Livy for interactive and batch jobs submitted from remote hosts.
    • Wrote PySpark data processing jobs.

    Hadoop, Spark, PySpark, Apache Livy, Scala, Python

  5. 02/2019 – 12/2019

    Datagram

    Building scrapers for a retail market intelligence platform.

    Show the details

    Datagram runs a retail market intelligence platform serving clients such as Michelin and Carrefour.

    • Developed and maintained site-specific web scrapers (Scrapy, Selenium with headless Chrome, Beautiful Soup) running on a distributed worker architecture, including handling of rate limiting and anti-bot measures.
    • Routed collected data to Cassandra via RabbitMQ and loaded historical data into PostgreSQL, with integrity and data-type checks.
    • Built and scheduled batch workflows with Apache Airflow, and automated scraper operations with shell scripts.
    • Maintained and extended the Kubernetes-based microservices back-end serving the platform's dashboards.

    Python, Scrapy, Selenium, Apache Airflow, RabbitMQ, Cassandra, PostgreSQL, Kubernetes, AWS

  6. 02/2018 – 12/2018

    COR-E

    Prediction pipeline automation, then design and development of an API.

    Show the details

    COR-E provides decision support for the wholesale electricity market: price forecasting and explanation of the key drivers behind each prediction.

    • Built a Flask REST API (MVC, SQLAlchemy, Swagger) exposing production data to the dashboard, with Redis caching of the latest predictions to reduce database load.
    • Automated model training and prediction pipelines triggered by weather-data availability, using shell scripts, cron and Pentaho Data Integration.
    • Introduced multiprocessing and multithreading into model and prediction scripts in collaboration with the machine learning team.
    • Designed the target database and maintained the SQL views feeding the forecasting dashboard.

    Python, Flask, SQLAlchemy, Redis, PostgreSQL, MySQL, Pentaho DI

  7. 01/2015 – 12/2017

    TOPNET

    Reporting solutions.

    Show the details

    TOPNET is a major Tunisian internet service provider.

    • Built automated KPI reporting solutions for the technical customer support and marketing departments, tracking service quality and supporting data-driven decisions, and documented both solutions.

    Python, MySQL, Power BI

Beyond the day job

Projects I built and articles I wrote on my own time.

Bankers

A bilingual comparison site for Dutch financial products: credit cards, insurance, bank accounts, savings and investments. Server-rendered for search, with product pages that take on the look of the product they describe.

Next.js, React, TypeScript, Turso, Drizzle ORM, next-intl, Tailwind CSS, shadcn/ui, Fuse.js, Vercel

Read about Bankers

AI Assistant

A self-hosted AI workbench that answers questions and writes code from a private knowledge base. Retrieval-augmented generation end to end, with every model running on local hardware.

Python, FastAPI, OpenSearch, sentence-transformers, Hugging Face Transformers, llama-cpp-python, Next.js, TypeScript, shadcn/ui, WebSockets, Docker

Illustration of several databases with their own migration versions

Managing Database Migrations for Multiple Services in a Monorepo with Alembic

Article on dev.to, December 2024

How to run database migrations for several services in one monorepo with Alembic: a separate migration history per service, selected through dynamic configuration, so each service migrates in isolation without touching the others.

Skills

The tools I reach for, grouped by where they sit in a system.

Languages

  • Python
  • TypeScript
  • JavaScript
  • Lua
  • SQL
  • Bash
  • Scala

Backend

  • FastAPI
  • Flask
  • Django
  • Node.js

Frontend

  • React
  • Next.js
  • Redux
  • Tailwind CSS

Data

  • Spark
  • Hadoop
  • pandas
  • Airflow
  • Kafka
  • RabbitMQ
  • Scrapy
  • Selenium

Infrastructure

  • Docker
  • Kubernetes
  • OpenShift
  • AWS
  • Heroku
  • Jenkins
  • GitLab CI
  • Git

Databases

  • PostgreSQL
  • MongoDB
  • MySQL
  • Redis
  • OpenSearch
  • Cassandra
  • DynamoDB
  • Turso

AI and LLMs

  • RAG
  • Embeddings and vector search
  • LLM integration
  • Hugging Face Transformers
  • llama-cpp-python
  • GGUF quantization
  • Inference tuning
  • Model evaluation
  • Air-gapped deployment

Education

  1. 2018

    ESPRIT School of Engineering

    Engineering Degree in Computer Science (BI and Data Science), EUR-ACE and CDIO accredited

  2. 2013

    Institut supérieur de l'informatique

    Bachelor's degree in network administration and services

Badges

Contact

Hiring for a backend or AI engineering role, or have a project in mind? Write to me here or reach me directly.

Your message is emailed to me and isn't stored on this site.