Welcome! I’m excited to share this space with you—a place where ideas bloom, knowledge grows, and curiosity thrives. This Knowledge Garden is more than just a collection of information; it’s a living, breathing ecosystem where I cultivate and nurture my thoughts, experiences, and learnings.

What You’ll Find Here

In this garden, you’ll discover a variety of topics that reflect my journey and passions. As a software engineer with a focus on data engineering, infrastructure, and system design, I’ve sown seeds of knowledge across several fields:

  • Data Engineering: Insights on handling large-scale data systems, best practices, and experiences with tools like Apache Spark, Kafka, and Trino.
  • Infrastructure and Cloud: Guidance on building and maintaining resilient systems using Terraform, Kubernetes, and AWS.
  • Programming Languages: Practical tips and tutorials on Python, Java, Scala, and Golang, including deep dives into specific frameworks and tools.
  • Stream and Batch Processing: Explorations of stream processing with Apache Flink and batch processing with Apache Spark, along with strategies for balancing cost and efficiency.
  • Big Data and Analytics: Strategies for managing big data, including work with Postgresql, MongoDB, and emerging technologies like ClickHouse.

I believe in the power of shared knowledge. Throughout my career, I’ve learned that the best way to truly understand something is to teach it, and this garden is my way of teaching—both to myself and to you. Each post, article, or tutorial is a carefully tended plant, grown from real-world challenges, successes, and continuous learning.

How to navigate

This Knowledge Garden is organized into several key sections, each reflecting a different aspect of data engineering:

  • architecture: In this section, I dig into the structural blueprints of various data systems. Explore detailed breakdowns of architectures such as Airflow, Flink, Kafka, and more.
  • challenge: From handling schema evolution to optimizing data pipelines, this section captures the challenges and solutions for building a great data platform.
  • component: This area focuses on the essential building blocks of a data platform. Whether it’s workflow orchestration, data warehouses, or stream processing systems, you’ll find in-depth discussions of the components that form the foundation of modern data infrastructure.
  • history: This section chronicles the history of data tools like Kafka, tracing the original creator motivation, their development and impact on the industry.
  • ideas:: This is where I plant the seeds of theoretical and conceptual knowledge. Explore discussions on shared-nothing architecture, B-trees, reverse ETL, and other fundamental ideas that drive innovation in data engineering.
  • key-concept:Simplifying complex ideas into digestible concepts. Here, I break down the fundamental principles that are essential for mastering data engineering.
  • people: Acknowledging the pioneers and influencers in the data and software engineering space. This section is dedicated to the individuals whose ideas and contributions have shaped the field.
  • tool: An exploration of the technologies that power data engineering. From programming languages to frameworks and platforms, this section offers insights and practical advice based on my experience with these tools.

Feel free to wander through the different sections, much like you would explore various paths in a garden.

Contribute

This garden is always evolving. I’ll continue to plant new ideas, prune outdated concepts, and nourish the content with fresh insights. Your thoughts, questions, and suggestions are welcome, so please feel free to engage with the content.

Thank you for visiting, and I hope you enjoy exploring my Knowledge Garden as much as I enjoy growing it.