Ypma Data Services

AI/ Data/ Cloud Engineering & Consultancy

Over mijzelf

Aangenaam kennis te maken

Frank Ypma

AI Engineer, Data Engineer, Cloud Engineer en Consultant

Als freelance AI/ Data/ Cloud Engineer, ontwerp, implementeer en test ik data systemen in de cloud. Mijn ervaring reikt van AI-gedreven realtime toepassingen tot batch ETL verladingen, en van cloud infrastructuur tot het opzetten van monitoring dashboards.

Ik ben begonnen als DWH developer, en later doorgestroomd naar open source Data Engineer, met een grote nadruk op Cloud development (IaC). Ik heb ervaring op zowel Azure als AWS.

Mijn passie ligt bij de technologie achter al deze toepassingen, en ik stel mij breed inzetbaar op de diverse Cloud ecosytemen. De perfecte opdracht voor mij behelst minstens 50% development/programmeren, 25% architectuurwerk en 25% systeemdeployment/-configuratie.

Naast het opleveren van de juiste functionaliteit draag ik altijd zorg voor een gedocumenteerde en modulaire code base, een gedegen deployment strategie, en een beheersbaar product.

Ik heb een achtergrond in de consultancywereld. Voordat ik zelfstandig werd, was ik dienst bij McKinsey&Company, Capgemini en Nextview.

Frank Ypma

Technische Skills

Ik ben best goed in

Python

De taal voor flexibiliteit en een snelle leercurve.

Java/Scala

Ik heb meerdere jaren ervaring als Java/Scala developer.

(Py)Spark

Zowel batch en (structured) streaming op Databricks/ EMR.

GenAI/ ML Ops

Integratie met GPT, ML modellen op Sagemaker endpoints.

Cloud

Infra as Code, CDK, Cloudformation (AWS), ARM (Azure).

CI/CD

Github, Gitlab, Azure DevOps, AWS codepipeline.

Object storage

Ik heb gewerkt op S3, ADSLGen2, Azure blob, HDFS met Delta Lake, Parquet, Avro, csv, xml, you name it.

Query engines zoals Athena

Voor veel toepassingen is het logisch data via SQL te ontsluiten.

Databases als Redis, Postgres, Cosmos DB

Structured en unstructured. Zeer ervaren in SQL.

Scrum / agile / git / jira

Support frameworks, tools en technologieën waar je als developer niet zonder kunt.

Virtualisatie zoals docker, virtualbox, cloudfoundry

Zowel voor lokale development- als microservice productiedoeleinden

Werkervaring

Mijn recente projecten

Feb, 2024
Dec, 2024

VodafoneZiggo

Gen AI/ Cloud Engineer

Frank was de lead Engineer in een team van 4 Data Scientists en 3 Data Engineers in het opzetten van een AI-gedreven realtime call-center Agent Asistance applicatie (backend API). Met de applicatie kunnen problemen van bellende klanten sneller opgelost worden, en worden de werkzaamheden van de call-center medewerkers deels geautomatiseerd.

Dit was een internationaal project, gedreven door moederbedrijf Liberty Global. Er was strategische en technische ondersteuning van Boston Consulting Group X, en samenwerking met Sinrize (Zurich), Telenet (België) en VMIE (Ierland).

Gebruikte technologiën zijn o.a.: python, LangChain, Azure OpenAI (GPT 3.5 turbo, 4o mini), AWS SageMaker, AWS ECS, PostgreSQL, Redis, OpenSearch (for RAG), CDK, gitlab.

Nov, 2021
Jan, 2024

VodafoneZiggo

Data/ Cloud Engineer

In het core team van het Advanced Analytics Platform op de afdeling Data and Artificial Intelligence, wordy een groot aantal batch- en streaming databronnen ingelezen. De bronnen zijn zeer divers in zowel vorm (API, csv, xml, json, parquet) als ook omvang als (tot GB's per uur).

Naast de implementatie en het onderhoud van data pipelines voor data-ontsluiting (Scala) en verladingen (python), heeft Frank zich bezig gehouden met het opnieuw opzetten van het ETL Framework. Dit bestaat uit enkele python libraries, waarmee met minimale configuratie een airflow DAG, transient EMR cluster en een spark ETL job gedeployed kunnen worden.

Gebruikte technologiën zijn o.a.: AWS EMR, AWS MWAA (airflow), AWS S3, AWS Athena, CDK, Cloudformation, Scala, python, (py)spark, gitlab, Hue, oozie, Jupyter.

Aug, 2020
Okt, 2021

NN Investment Partners

Data/ Cloud Engineer

In de afdeling Investment Technology wordt data uit een groot aantal bronnen ingelezen en verwerk om de asset management processen te ondersteunen. In een team van 7 Data Engineers, werkend via kanban, houdt Frank zich bezig met het ontwerp, bouw en operations van het Data Lake op AWS. Dit is een greenfield project, waarbij de functionaliteit stukje voor stukje wordt overgeheveld uit een verouderd SQL Server DWH.

Voor Frank ligt in het begin de nadruk bij dit project op het innoverende deel; het opzetten van proof of concepts op de nieuwe AWS architectuur en het inrichten van de deployment pipelines. Vervolgens breidt hij dit uit tot een volwaardig product. Hij hield hierbij speciaal aandacht voor security en compliancy van het platform.

Gebruikte technologiën zijn o.a.: AWS S3, AWS Athena, AWS Lakeformation, CDK, Cloudformation, python, pyspark, gitlab, AWS codepipeline AWS RDS, AWS KMS.

Aug, 2018
Jul, 2020

Rabobank

Big Data Engineer, Dev Chapter Lead

De Rabobank heeft een Big Data platform voor marketingdoeleinden. In een scrumteam van 6 man is Frank één van 3 Data Engineers, zich bezig houdend met de ontwikkeling van data-verladingen en -ontsluiting. Gebruikte technologieën zijn HBase, NiFi, Node.js (loopback.io), Spark Structured Streaming (Scala), Kafka en Hive. Enkele van de micro-services draaien op Docker of Cloudfoundry instanties.

Naast zijn ontwikkeltaken was Frank verantwoordelijk voor het opzetten van development standaarden, en het versimpelen van (bijvoorbeeld deployment) processen voor alle 3 de scrum teams op het datalake. Dit om een basis te leggen voor verdere uitbreiding (verdubbeling) van de teams.

Jan, 2018
Jul, 2018

Alliander

Lead Big Data Engineer

Een gedateerd Business Intelligence database-systeem zou binnen korte tijd uitgefaseerd worden, en alle data en datastromen moesten verhuisd worden naar het Big Data Platform. Met behulp van Kafka, Spark, Oozie, Impala, Kudu en SAP HANA werd dit gerealiseerd. Er werd getracht zoveel mogelijk standaard- en generieke processen te gebruiken, opdat het platform eenvoudig uitgebreid kan worden. Hiervoor heeft Frank een ETL-framework gebouwd in Scala om data door het lagenmodel te laden.

Apr, 2017
Dec, 2017

Alliander

Lead Developer real-time dataplatform

Alliander verkrijgt als netbeheerder allerhande meet- en storingsgegevens uit het door hun beheerde stroomnetwerk. Als lead developer in een scrumteam was Frank verantwoordelijk voor de (greenfield) implementatie van het Big Data Plaform dat voor monitoring- en analysedoeleinden werd opgezet. De eerste use-case was het implementeren van een live-monitoring tool met behulp van Spark en SAP Streaming Analytics. Een extra uitdaging vormde het inbedden van dit nieuwe platform in de organisatie: inbeheername, optuigen van een OTAP-straat, inrichten van versiebeheer, ontwikkel- en testichtlijnen en deploymentprocessen.

Jun, 2014
Mrt, 2017

Nidera

Lead Developer/ architect datawarehouse

In de ruim 2,5 jaar dat Frank bij Nidera werkzaam is geweest heeft hij het In-Memory datawarehouse (SAP HANA) zien ontstaan, en doorgroeien tot een volwassen systeem, met een beheerorganisatie en offshore developerteam. Naast het geruikelijke ontwikkelwerk was Frank mede verantwoordelijk voor het technisch ontwerp, dashboard template-ontwikkeling, documentatie, deployment processen en monitoring. Frank heeft gewerkt met o.a. SAP HANA, Data Services, Design Studio en Analysis for Office.

Opleiding & Diplomas

Mijn academische achtergrond

Okt, 2010

Master of Science (ir.) Technische Natuurkunde

Technische Universiteit Delft

2-jarig Master of Science programma, aangevuld met een special track "Management of Technology" aan de faculteit Technologie, Bestuur en Management. Mijn Master thesis ging over siesmiek; ik heb een verbeterde methode ontworpen en geimplementeerd om bij seismische metingen om op bijvoorbeeld 8km diepte de aardlagen te kunnen bepalen en classificeren.

Okt, 2009

Bachelor of Science Technische Natuurkunde

Technische Universiteit Delft

Ik heb mijn Bachelor programma aangevuld met een minor Computer Engineering aan de faculteit Technische Informatica. In mijn Bachelor scripte heb ik een programma gebouwd om multi-track (array) geluidsopnamen te filteren op positie van de geluidsbron.