Kevin Milli

Data EngineerOracle SQL & PL/SQL · Python

I design and maintain Oracle data flows for banking and insurance clients, using SQL, PL/SQL, Bash and Python. I now also work with Oracle Machine Learning and I’m deepening my focus on AI applied to data.

Profile at a glance
role
Data Engineer · consultant
stack
Oracle SQL · PL/SQL · Bash · Python
sectors
banking · insurance · credit
current
Oracle ML · AI Database 26ai
location
Tuscany, Italy · remote

Now

What I’m focused on at the moment.

Updated

  • Work

    Since October 2026 I’ve been consulting for a consortium in the credit-protection sector, on an Oracle project that includes Oracle Machine Learning and Oracle AI Database 26ai.

  • Learning

    I’m building a structured learning path on AI Engineering, designed to work for beginners too. It’s still being drafted.

  • Building

    I’m developing an independent software project. I’ll share it here once it’s public.

Experience

Roles, contexts and responsibilities, most recent first.

  1. Nov 2024 – present

    Remote

    Advancia Technology

    Consultant — Data Engineer / IT Programmer

    IT consulting company. The assignments below were carried out as an Advancia consultant for the clients shown.

    1. Credit-protection consortium

      Data Engineer · Oct 2026 – present

      • Oracle Database development on a project that includes Oracle Machine Learning and Oracle AI Database 26ai.
      • Oracle SQL
      • PL/SQL
      • Oracle Machine Learning
      • Oracle AI Database 26ai
    2. Internal R&D — Python and AI Engineering

      Data Engineer / Python Developer · Mar 2026 – Sept 2026

      • Internal RAG project supporting staffing allocation decisions: Gemini LLM integration, PDF ingestion with custom chunking, and tool calling.
      • Python backend with FastAPI, Pydantic, LangChain, Redis and ChromaDB; Docker containers deployed to Google Cloud Run.
      • Alongside it, maintenance of .NET (C#) components, Bash scripts and Oracle SQL/PL-SQL queries.
      • Python
      • FastAPI
      • LangChain
      • ChromaDB
      • Redis
      • Docker
      • Cloud Run
      • C#
    3. Verti Assicurazioni

      Data Engineer / Python Developer · Oct 2025 – Mar 2026

      • Analysis and modelling: normalising complex JSON into a unified relational model of 26 tables and about 450 fields.
      • Python tools to automate schema-to-schema mapping and cross-validation between JSON, Mermaid diagrams and Oracle DDL.
      • DDL and PL/SQL procedures for bulk loading from Amazon S3 into staging areas, with parallel processing (Parallel DML).
      • Oracle 21c
      • PL/SQL
      • Python
      • pandas
      • AWS S3
    4. Intesa Sanpaolo

      Data Engineer / IT Programmer · Nov 2024 – Oct 2025

      • Oracle schemas, staging tables and PL/SQL procedures to integrate and transform enterprise data flows.
      • Parsing JSON payloads from Kafka queues (about one million messages a day), bulk loads with SQL*Loader, orchestration with Bash, TWS and cron.
      • Tuning procedures and queries on batches of 100,000 to one million records; built the core procedure that routes incoming Kafka messages, released to production.
      • Oracle 19c
      • PL/SQL
      • Bash
      • Kafka
      • SQL*Loader
      • TWS
  2. Sept 2019 – Dec 2021

    London, United Kingdom

    White Lion

    Team Supervisor

    • Led an operations team of six and supported the site’s logistics and organisational decisions, in an international environment.

Projects

Public work with code you can read. Client work is described under Experience.

  1. 01 · Study project · 2024

    Resource allocation in PL/SQL

    Flow

    1. projects · employees · skills
    2. ALLOCATE / DEALLOCATE
    3. allocations
    4. error log
    Context
    A classic business-system problem: assigning people to projects based on the required skills, taking existing allocations into account.
    Goal
    A procedure that assigns resources automatically and repeatably, handles projects already under way and logs every error.
    Contribution
    Solo project: data model, setup scripts, PL/SQL logic and documentation.
    Technical choices
    • Separate ALLOCATE and DEALLOCATE procedures, with a project-existence check and explicit errors.
    • Cursors ordered by skill count and hire date, so resources are chosen deterministically.
    • A PKG_UTILS package with a logging procedure writing to a dedicated table, reused at every step.
    • Numbered scripts (user and grants → DDL → DML → package → procedures) for a repeatable setup.
    Outcome
    Public code and README: the schema and procedures install by running the scripts in order.
  2. 02 · Study project · 2024

    Personal-data validation in PL/SQL

    Flow

    1. raw data
    2. PKG_CK (rules)
    3. rejected records + reason
    4. event log
    Context
    Incoming personal data often contains invalid tax codes, emails, dates and phone numbers that break downstream processes.
    Goal
    Split valid records from rejected ones, keeping the reason for every rejection.
    Contribution
    Solo project: validation rules, table design, test data and documentation.
    Technical choices
    • A PKG_CK package with one function per rule: tax code, first and last name, email, date of birth, phone.
    • A reject table with an error-summary column, so every record stays analysable.
    • Event log with its own sequence, to reconstruct every run.
    • Test data that deliberately includes invalid cases.
    Outcome
    Public scripts and README, with valid and invalid sample data.
  3. 03 · Exercises · 2024

    Automation with Bash and Oracle

    Flow

    1. CSV files
    2. Bash script
    3. SQL*Plus
    4. Oracle table
    Context
    Archiving files, sorting CSVs and loading data by hand is slow and error-prone.
    Goal
    Three Bash scripts that automate those steps, all the way to loading an Oracle database.
    Contribution
    Solo project: scripts, exercise briefs and documentation.
    Technical choices
    • Input and output folders are checked and created before every run.
    • CSVs are sorted into sub-folders by the date read from their first line, then renamed with a timestamp.
    • SQL*Plus is called from the script to create a user and a table and load it from a CSV, skipping the header.
    Outcome
    Three exercises, each with its brief, script and README.

Other projects

  • 2024

    Google Finance scraping and portfolio simulation

    Scrapes quotes from Google Finance, structures the data with dataclasses and simulates the value of a portfolio.

    • Python
    • requests
    • BeautifulSoup
  • 2024

    Credit risk prediction

    Exploratory analysis of a public Kaggle dataset and comparison of ensemble models (Random Forest, Gradient Boosting, AdaBoost, XGBoost). The notebook reports 93% accuracy on the test set.

    • Python
    • pandas
    • scikit-learn
    • XGBoost
  • 2024

    Function Creator

    An object-oriented Python class that generates mathematical functions from polynomials and transcendental functions, differentiates them and plots them.

    • Python
    • SymPy
    • NumPy

All repositories, including 2023–2024 study notebooks

Stack

Grouped by where I’ve used it — no levels, no percentages. Every professional entry points to where I used it.

Last reviewed

  • Used in professional work
  • Used in personal projects
  • Studied or currently learning

Languages and scripting

Databases and data tooling

Cloud, containers and orchestration

AI, machine learning and data science

Frameworks and libraries

AI coding assistants

  • Claude Code — Used in personal projects

    Support for coding, review and documentation.

  • ChatGPT — Used in personal projects

    Analysis, study and prototyping.

Complementary skills

  • English (B2) — Used in professional work

    Two years working in London.

    Where: White Lion

  • Team coordination — Used in professional work

    Where: White Lion

  • Graphic design and visual communication — Used in personal projects

    Diploma in advertising graphic design.

Profile

Background, education and what I bring to the work.

I started programming in 2022, after coming back from London, where I led a team in an international environment. Since then I’ve studied methodically — over 3,000 hours and about 30 certificates — up to my first consulting role in 2024.

Before tech I earned a diploma in advertising graphic design and took university courses in psychology and physics, without completing either degree. They left me two habits I bring to work: caring about how information is presented, and wanting to understand why a system behaves the way it does.

I’m interested in mathematics, physics, philosophy and psychology. And I write music.

Kevin’s hands on a piano keyboard.
KParadox · YouTubeLost In MemoriesListen on YouTube

Education and certificates

Contact

For job opportunities, collaborations or data and database projects.