Younes El HamriData engineering · MoroccoAvailable 5 days/week
                                           snowflake dbt dat                                                                             abricks pyspark delta lake                                                                      adf terraform python sql medallion                                                                parquet kimball snowflake dbt databri                                                            cks pyspark delta lake adf terraform pytho                                                         n sql medallion parquet kimball snowflake db                                                      t databricks pyspark delta lake adf terraform p                                                    ython sql medallion parquet kimball snowflake db                                                   t databricks pyspark delta lake adf terraform pyth                                                  on sql medallion parquet kimball snowflake dbt databr                                              icks pyspark delta lake adf terraform python sql medall                                             ion parquet kimball snowflake dbt databricks pyspark del                                            ta lake aDF TERRAFORM Python sql medallion parquet kimbal                                          l snowflAKE DBT DATABRICKS PYSpark delta lake adf terraform                                          python SQL MEDALLION PARQUET KIMBAll snowflake dbt databri                                         cks pysPARK DELTA LAKE ADF TERRAFORm python sql medallion p                                          arquet KIMBALL SNOWFLAKE DBT DATABricks pyspark delta lake                                           adf TERRAFORM PYTHON SQL MEDALLIOn parquet kimball snowfl                                          ake dBT DATABRICKS PYSPARK DELTA Lake adf terraform python                                           sql mEDALLION PARQUET KIMBALL SNOWflake dbt databricks py                                          spark DELTA LAKE ADF TERRAFORM PYTHon sql medallion parque                                           t kimBALL SNOWFLAKE DBT DATABRICKs pyspark delta lake adf                                            terRAFORM PYTHON SQL MEDALLION parquet kimball snowflake                                            dbt DATABRICKS PYSPARK DELTA Lake adf terraform python                                              sqL MEdallion parquet kiMBAll snowflake dbt databricks                                              pyspark delta lake adf terraform python sql medallion p a                                        rQuet kimball snowflake dbt databricks pyspark delta lake adf                                        tERraform python sql medallIOn parquet kimball snowflake dbt                                        dATaBRICKS pyspark delta lAKE adf terraform python sql medal                                        LIOn PARQUET KImball snOwfLAKe dbt databricks pyspark delta                                          LAkE ADF TERRAFORM PYTHON SQl medallion parquet kimball s                                           nOwfLAKE DBT DATABRICKS PYSPark delta lake adf terraform                                             PYtHON SQL MEDALLION PARQUEt kimball snowflake dbt data                                              BrICKS PYSPARK DELTA LAKE adf terraform python sql med                                              allION PARQUET KIMBALL SNowflake dbt databricks pyspa                                               rK DELTA LAKE ADF TERraForm python sql medallion par                                                 queT KIMBALL SNoWFLAke dbt databricks pyspark delta                                                   laKE ADF TERrAFORM python sql medallion parquet                                                     kiMBALL SNOWFLAKE dbt databricks pyspark delta l                                                    ake ADF TERRAform python sql medallion parquet                                                       kimbaLL SNowflake dbt databricks pyspark delta                                                       lake ADF terraform python sql medallion parq                                                       uet kimBALl snowflAke dbt databricks pyspark                                                         delta laKe adF Terraform python sql medallio                                                       n parquet kimBALL snowflake dbt databricks pys                                                     park delta lake Adf terraform python sql medall                                                     ion Parquet kimBAll snowflake dbt databricks py                                                     spark delta lake ADF terraform python sql medal                                                      lion parquet kimbAll snowflake dbt databricks                                                      pyspark delta lake adf terraform python sql meda                                                   llion parquet kimball snowflake dbt databricks pysp                                              ark delta lake adf terraform python sql medallion parque                                          t kimball snowflake dbt databricks pyspark delta lake adf terr                                  aform python sql medallion parquet kimball snowflake dbt databric ks                              p  yspark delta lake adf terraform python sql medallion parquet kimb  a                           ll    snowflake dbt databricks pyspark delta lake adf terraform python                                 sq l medallion parquet kimball snowflake dbt databricks pyspar k d el                                t a   lake adf terraform python sql medallion parquet kimball s                                      n  owf lake dbt databricks pyspark delta lake adf terrafor m p                                             ython sql medallion parquet kimball snowflake  dbt   d                                                 atabricks pyspark delta lake adf terraform      p                                              y    thon sql medallion parquet kimball sn    ow    f                                                    l    ake dbt databricks pyspark del ta    l a                                                        ke a   df t errafo rm  pyth on  s ql                                                                       meda   ll  io n      par q   u                                                                     e     t    kim  bal                                                                                    l                                                            

Senior data engineering capacity for your delivery team. Five days a week.

dbt, Snowflake, Databricks and Azure Data Factory. You keep the client relationship; I take the workstream you cannot staff. I commit to your repository, join your standup and work to your team's hours rather than my own.

Most recent cost work
42%
of a retail client's monthly Snowflake spend, removed
5 days/weekfull-time subcontract capacity, from four weeks
UTCflexible: I work your team's hours, wherever they are
7 yearsfive of them on data platforms, fully remote

Lineage of three client builds

Every node is a source, tool or step named in a case study. Hover or focus one to see which.

retail reportinginvoicingproperty listingsShopify API. Retail reporting case study, 2022–2024Shopify APIPostgres ERP. Retail reporting case study, 2022–2024Postgres ERPStore POS dumps. Retail reporting case study, 2022–2024Store POS dumpsAzure Data Factory. Retail reporting case study, 2022–2024Azure Data Factoryincremental → ParquetDatabricks. Retail reporting case study, 2022–2024Databricksflatten nested JSONdbt full refresh. Retail reporting case study, 2022–2024. First version, replaced.dbt full refreshevery row, every rundbt incremental. Retail reporting case study, 2022–2024dbt incrementalMERGE, bronze → goldSnowflake. Retail reporting case study, 2022–2024Snowflakegold viewsPower BI. Retail reporting case study, 2022–2024Power BIevery six hoursWhatsApp Business. Invoicing case study, 2021WhatsApp Businessphoto of the noteAzure Functions. Invoicing case study, 2021Azure Functionswebhook → queueOpenCV. Invoicing case study, 2021OpenCVdeskew, cropDocument Intelligence. Invoicing case study, 2021Document Intelligencephoto → JSONPython validation. Invoicing case study, 2021Python validationclient, totals, dupesERP draft invoice. Invoicing case study, 2021ERP draft invoiceReview queue. Invoicing case study, 2021Review queueexceptions, for a personListing portals. Property listings case study, 2023Listing portalslatest ads, every 5 minPlaywright. Property listings case study, 2023PlaywrightDocker on Azure VMsCSS selectors. Property listings case study, 2023. First version, replaced.CSS selectorsbroke on redesignsSchema.org JSON-LD. Property listings case study, 2023Schema.org JSON-LDbarely movesRedis. Property listings case study, 2023Redisdedupe on URLPydantic. Property listings case study, 2023Pydantictyped at the edgePostgres. Property listings case study, 2023Postgressales queue
source systempipeline stepwarehouse or outputwhere the fix wentfirst version, retired

01Three ways to work together

Do you need an extra engineer, a deliverable, or a review?

Day rate on request. Tell me the shape of the work and you get a number in writing the same day.

Not sure which one fits? Send the brief and I will tell you which shape it is, or tell you it is not my work.

Send the brief

02Selected work

A sample of the case studies

All case studies
Client workRetail, 12 stores + e-commerce2022–2024

Retail reporting every six hours, with 42% less Snowflake spend

Every Friday the team pulled CSV exports from 12 store POS systems, and the finance controller spent most of Monday stitching them together in Excel to get one report out on Tuesday. Management was making stock decisions on data that was three to seven days old.

Delivered through Carré Agency

Azure Data Factory · Databricks · Snowflake · dbt · Power BI · Parquet

Read the case study
models/silver/stg_orders.sqla sketch of the change, not the client's code
− first version
{{ config(materialized='table') }}

select *
from {{ source('shopify', 'orders') }}
+ what replaced it
{{ config(
    materialized='incremental',
    unique_key='order_id',
    incremental_strategy='merge'
) }}

select *
from {{ source('shopify', 'orders') }}
{% if is_incremental() %}
where updated_at > (select max(updated_at) from {{ this }})
{% endif %}

Full refresh every six hours, rewritten as an incremental merge: 18 min → under 90 s, and 42% off the monthly Snowflake bill.

Client workTransport & logistics2021

Invoicing from seven days to under four hours

Drivers collected signed paper delivery notes all week and dropped them at the office. A clerk retyped 40 to 60 of them a day into the ERP, so nothing could be invoiced until the paperwork caught up. That was about a week of cash-flow delay, every week.

Invoicing cycle~7 days → under 4 hours
Client workReal estate2023

New property listings in front of sales in under five minutes

The sales team copied listings off two portals by hand. By the time a listing reached their sheet, a competing broker had usually already called the owner, and in this market the first caller wins.

New listing to saleshours → under 5 minutes
Own systemEnergy / IoT2025Open source

VoltStream, a medallion lakehouse for 2.4M smart meters

I wanted a reference platform I could hand to a client's architect: real-time telemetry at a volume that makes design mistakes visible, built the way I would build it on an engagement.

Smart meters in the telemetry stream2.4Mreal-time
3 client · 2 own systemsEvery case study, with before and after numbers

03Capabilities

Most teams can't staff the ADF and SSIS migration

Seven years building and running data platforms. The migration work is the second paragraph below; the rest is what surrounds it on most projects.

Platform build. ELT pipelines and warehouses end to end. Medallion layers, Kimball star schemas, dbt models an analyst can read without asking me. ADF · Databricks · Snowflake · dbt · PySpark

ADF & SSIS → Databricks. The legacy Microsoft estate and the lakehouse, in one person. Inventory first, a sequence where every step ships, parallel run and reconciliation before anything is switched off. ADF · SSIS · Synapse · Delta Lake · Unity Catalog

Cost and performance. Warehouse sizing, auto-suspend, materialisation strategy, models nothing reads. Measured before anything is changed, so the saving is provable. Snowflake · Databricks · dbt

Reliability. Idempotent loads, data contracts, dbt tests, freshness checks and monitoring, so a bad batch fails the build instead of quietly producing a wrong report. dbt tests · Pydantic · Grafana · Redis

Infrastructure. Terraform, Docker and GitHub Actions. I run my own production stack, so deploys and monitoring are not someone else's job on my engagements. Terraform · Docker · GitHub Actions · Azure

Remote delivery. Seven years remote, three of them with European teams. Written standups in English and decisions recorded in your docs, so nothing depends on being in the room. Async · English · flexible hours

04How I work with a delivery team

Working rules on a client project

You are putting an external name in front of your client. These four are what make that safe.

client-projecta typical day, illustrative
# Your tooling, not mine. I work in your repo and your CI, to your definition of done. I do not introduce tools into someone else's engagement.
$ git push origin feature/stg-orders-incremental
  ci  dbt build --select stg_orders+ --target ci
14:02:11  Running with dbt=1.8.7
14:02:12  Registered adapter: snowflake=1.8.4
14:02:13  Found 38 models, 104 data tests, 6 sources, 623 macros
14:02:13  Concurrency: 8 threads (target='ci')
14:02:14  1 of 3 START sql incremental model silver.stg_orders ........ [RUN]
14:02:17  1 of 3 OK created sql incremental model silver.stg_orders ... [SUCCESS 1 in 2.91s]
14:02:17  2 of 3 START test not_null_stg_orders_order_id ............ [RUN]
14:02:17  2 of 3 PASS not_null_stg_orders_order_id .................. [PASS in 0.37s]
14:02:17  3 of 3 START test unique_stg_orders_order_id .............. [RUN]
14:02:18  3 of 3 PASS unique_stg_orders_order_id .................... [PASS in 0.41s]
14:02:18  Finished running 1 incremental model, 2 data tests in 0 hours 0 minutes and 6.83 seconds (6.83s).
14:02:18  Completed successfully
14:02:18  Done. PASS=3 WARN=0 ERROR=0 SKIP=0 TOTAL=3

# A written standup every working day. Progress is visible without a meeting, which matters more when I am not in your office.
$ standup --post "#client-delivery"
  done     stg_orders is incremental, merged after review
  next     fct_sales: same change, then reconcile against last week
  blocked  none

# Read-only first. SELECT and query history is enough for week one. Write access comes later, scoped to a named role and revoked at the end.
$ snowsql -q "show grants to role CONTRACTOR_RO" -o output_format=plain
privilege            granted_on  name
USAGE                DATABASE    ANALYTICS
USAGE                SCHEMA      ANALYTICS.SILVER
SELECT               TABLE       ANALYTICS.SILVER.STG_ORDERS
IMPORTED PRIVILEGES  DATABASE    SNOWFLAKE
4 Row(s) produced. Time Elapsed: 0.142s

# Handover as I go. Runbooks and design decisions land in your documentation while the work happens, not in the final week.
$ ls docs/decisions docs/runbooks
docs/decisions:
0007-merge-not-refresh.md

docs/runbooks:
stg_orders.md
CertifiedDatabricks Certified Data Engineer Associate · DatabricksAzure Administrator Associate (AZ-104) · Microsoft

05Notes

Why do Snowflake bills grow and ADF migrations stall?

All notes
18 Aug 2026 · 5 min readDatabricksAzure Data Factory

Why ADF to Databricks migrations stall

Not for technical reasons. They stall because the business logic lives in pipelines nobody has read in four years, and the people who know Databricks were not the people who wrote them.

Read the note

06Before you ask

Week one is read-only, inside your client's environment

Your client will ask what access an outside engineer gets and how long approving it takes. Short answers here; the full version is on the security page.

Read-only firstSELECT and query history. Nothing else in week one.
Inside your environmentYour VPN, VDI, bastion or jump box. No client data on my machine.
Your paperworkI sign your NDA, DPA and framework agreement as written.
Cross-border, handledMorocco has no adequacy decision with most of these regions. Whatever mechanism applies, I keep it ready to sign.
The full security and paperwork page

Questions

We're an EU or UK consultancy. Can we subcontract to someone outside the EU?

Yes, and it is the normal shape. You remain the supplier of record for your client; I am your subcontractor. I sign your NDA and DPA as written and act as a sub-processor under Article 28(4), with EU Standard Contractual Clauses (Module 3) filled in and ready, so your legal team is not drafting from scratch.

How much notice do you need?

Five days a week are available, and my hours are flexible: I am on UTC and shift the working day to your team's, wherever they are. Tell me the start date and I will tell you honestly whether it is free.

How do you invoice?

Monthly, in EUR or GBP, from my registered business with a tax ID on the invoice. Services exported from Morocco are VAT-exempt, so there is no VAT line for your finance team to reconcile. Bank transfer, 30 days net.

Can you work to our client's process?

Yes. I take tickets from your board and join your standup. I can be introduced as your engineer, join the client's calls, or stay entirely behind your delivery manager. Your call.

Tell me what you can't staff this quarter.

Twenty minutes is enough to know whether I am the right person for it. If I am not, I will say so on the call.

Five days a week are available for subcontract work, and I set my hours by your team rather than my own. Tell me the start date and I will tell you honestly whether it is free.

What you get from the first call
01A call with the engineer, not a salesperson
02A written summary of the scope and what I would need
03A day rate, in writing, the same day
04A CV and a security one-pager for your client file
05An honest no if it is not my work