About
Over 20 years I have worked as a test engineer, developer, project manager and software architect, from tactical control systems and national statistics platforms to delivery, pricing and privacy products.
Java is my core language; I also work with Scala and Python. Most of my recent work is around Kafka, Kafka Streams, Akka Streams, Spark and Elasticsearch on Kubernetes.
These days I guide development teams, design software architectures and define development standards.
Writing
-
Laws of Software Engineering #4 Tesler’s Law: Karmaşıklık Yok Olmaz, Yer Değiştirir
Bir sistemi kullanıcı için basitleştirdiğimizde, karmaşıklık gerçekten ortadan mı kalkar? Yoksa yalnızca başka bir yere mi taşınır?
-
Laws of Software Engineering #3 Law of Leaky Abstractions: Soyutlamalar Her Şeyi Gizleyemez
Yeterince karmaşık olan tüm soyutlamalar bir noktada alttaki sistemin ayrıntılarını açığa çıkarır.
-
Laws of Software Engineering #2 Hyrum’s Law: API’nizin Dokümante Edilmemiş Sözleşmeleri
API’nizdeki küçük bir değişiklik, dokümantasyona göre doğru olsa bile neden başka bir sistemi bozabilir?
-
Laws of Software Engineering #1 Gall’s Law: Karmaşık Sistemler Neden Basit Başlamalı?
Laws of Software Engineering kanunlarından bir seriye başlıyoruz. İlk bölüm Mimari kategorisindeki Gall’s Law.
-
Why Should You Use the Bulk API to Import Big Data to Elasticsearch
This story is about importing big data to Elasticsearch.
-
Kafka Streams with Serverless Kafka
Splitting notifications according to their types.
-
Kafka Streams State Store at Scale
Managing Interactive Queries on multiple application instances: alternative solutions and their comparisons.
-
Making SonarQube Analysis of Multiple Git Branches in Community Edition in Docker Container
Running branch analysis with SonarQube Community Edition inside Docker.
-
Using Apache Kafka like Database with KafkaStreams Processor API and StateStore
A Kafka Streams application with the Processor API, querying processed data via state stores with Spring Boot.
-
Apache Spark in Practice
Practical usage of Apache Spark.
-
Streaming Data with Apache Kafka and Akka Streams
Streaming data with Akka Streams connected to Apache Kafka through the Alpakka Kafka connector.
-
Apache Spark at a Glance
A general presentation of Apache Spark for development teams, turned into a blog post.
-
Scrum at a Glance
A presentation about Scrum turned into a story, covering its general aspects.
Skills
- Languages
- JavaScalaPythonTypeScriptSQL
- Streaming & Data
- Apache KafkaKafka StreamsAkka StreamsApache SparkElasticsearchPostgreSQLCassandraRedis
- Frameworks
- Spring BootAkkaLagomDjangoReactVue
- Platform
- DockerKubernetesHelmArgoCDAWSGrafana
- Practices
- Software ArchitectureDDDCQRS & Event SourcingTDDScrumMentoring
