I'm a machine learning engineer combining data science thinking with software engineering to design and operate large-scale distributed systems.
Experience
Blog
Retiring 375 Lines of Jenkins: Migrating a Monorepo to GitHub Actions
Replacing a monolithic Jenkins pipeline with event-driven GitHub Actions — content-addressed image caching, a CI→CD security gate, and ~500–780 hours/year of pipeline time reclaimed.
One Codebase, Many Bots: Designing a Multi-Tenant Slack Assistant Framework
How I built a team-agnostic framework for spinning up domain-specific Slack Q&A bots — one codebase, one deployment pattern, a config file per bot.
MLflow LCM: Experiments, Runs, and Sharing Best Practices
Practical guidance on experiment tracking, run hygiene, and lifecycle management with MLflow.
Library
A selection of textbooks and books I've been reading.
Designing Machine Learning Systems
Chip Huyen • 2022
Practical ML systems design and production considerations.
Designing Data-Intensive Applications
Martin Kleppmann • 2017
Scalable systems and data infrastructure.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
Aurélien Géron • 2019
Applied ML workflows.
Fundamentals of Software Architecture
Mark Richards, Neal Ford • 2020
Core principles and trade-offs in architecture.
System Design Interview
Alex Xu • 2020
Practical system design patterns and interviews.
37 Things One Architect Knows About IT Transformation
Gregor Hohpe • 2021
Guidance for large-scale transformation.
Connect
Feel free to contact me at eslem.karakas.tr@gmail.com