/About
Data Engineer and Full-Stack Developer
I work at both ends of a data platform. On one end, warehouses: ingestion, cleaning, transformation, and a gold layer modelled as a star schema that analysts can actually query. On the other, the production backends that generate the source data in the first place.
That combination is the useful part. Having designed the PostgreSQL schema an application writes into, I know why a column is nullable, why a timestamp is stored the way it is, and where the dirty rows come from. Data modelling is easier when you have been on the side that produced the mess.
I like being responsible for the whole thing: the API and the schema, the interface on top of it, and keeping it online after launch. On the newspaper project that meant taking it from an empty database to a live product editors and readers use every day, then handing it to the team who run it on their own now.
/Experience
Where the work happened
Full-Stack Developer (Freelance)
Tong Yulduzi
- Built the FastAPI backend and PostgreSQL schema for a national newspaper: REST APIs for articles, media and the issue archive, with SQLAlchemy models and Alembic migrations.
- Built article search across the whole issue archive on PostgreSQL full-text search, using tsvector columns with GIN indexes and ts_rank, tuned so the article people wanted came up first instead of the newest one.
- Made pages load faster by caching the most-read ones in Redis and adding the indexes slow queries were missing, measuring timings before and after each change instead of guessing.
- Built the reader-facing site and the editors publishing tool in Next.js from the agreed designs, and made both work properly on the phones most readers come from.
- Added role-based accounts (writer, editor, admin) with JWT auth, so the editorial team runs the paper without needing a developer for daily work.
- Set up GitHub Actions deployment: pytest against a throwaway database, a Docker image build, and automatic rollback if the health check fails.
- Scheduled nightly encrypted backups stored away from the server and ran a full restore rehearsal to prove the archive cannot be lost.
Data Engineering Intern
Itransition
- Built an end to end data warehouse in Microsoft Fabric, moving raw data through cleaning and transformation into a curated, analysis-ready gold layer.
- Orchestrated ingestion with Fabric Pipelines and Dataflows, and used Fabric Notebooks (PySpark, Pandas) to clean, transform and validate data between layers.
- Designed a star schema for the gold layer and built the Power BI dashboards reporting on top of it.
- Wrote a Python client to pull time-series data from InfluxDB into the pipeline.
/Skills
What I reach for
Backend
- Python
- FastAPI
- SQLAlchemy, Alembic
- REST API design
- JWT auth and role-based access
- Celery
- Django
- pytest
Data engineering
- Microsoft Fabric (Pipelines, Dataflows, Notebooks)
- Medallion architecture (bronze, silver, gold)
- Star-schema design
- PySpark
- Pandas
- Great Expectations
Databases
- PostgreSQL schema design
- Indexing and query tuning
- Full-text search (tsvector, GIN, ts_rank)
- Redis
- InfluxDB
- Delta Lake
Frontend
- Next.js
- React
- TypeScript
- Responsive UI built from design files
Platform
- Docker and Docker Compose
- Nginx
- GitHub Actions (CI/CD)
- Linux servers
- Git
- AWS Certified Cloud Practitioner
Reporting
- Power BI
- SQL
- Power Automate
/Credentials
- Commercial Software Development: Data Engineering
- Certified Cloud Practitioner Essentials
- Backend Developer Course