placeholder
thoughts and learnings in software engineering by Rotem Tamir

About

Hi, I’m Rotem Tamir (40),

  • Father of 2, located near Tel-Aviv, Israel.
  • Co-founder and CTO of Ariga.
  • Previously Data Platform Architect and Platform Tech-lead at Nexar
  • Previously team lead at ironSource data solutions.

Find me on the internet:

Public Speaking

Every now and then I get on a stage and talk about things. Some of my notable appearances:

What GenAI mean for databases

Geektime Code, Tel Aviv, Israel. June 2025. No recording.

Generative AI is changing how applications are built, enabling anyone from hobbyists to enterprise developers to create production-ready software. These AI-written applications will talk to databases, but giving autonomous agents production access is risky. Poorly planned schema changes, unbounded queries, and lock-inducing operations can quickly take down critical systems.

This talk looks at what happens when GenAI meets real-world databases and why DevOps guardrails must extend into the database layer. We will cover real incidents, unique load patterns from AI agents, and strategies to keep systems stable. Topics include resource-aware query planning, automated migration validation, and making databases “agent-ready” without sacrificing reliability.

Building scalable multi-tenant applications with Go

Gophercon Israel. Tel-Aviv, May 2025

Go has become the standard for building fast, reliable backend services. But when your app needs to serve multiple tenants, things get complicated—fast. How do you isolate tenant data without blowing up complexity? How do you scale shared resources without stepping on your neighbors?

In this talk, we’ll explore the real-world architecture patterns of multi-tenancy—schema-per-tenant vs. shared tables, connection management, request scoping—and how Go’s strengths (like its lightweight concurrency model, strong typing, and context management) make it uniquely suited for the challenge.

Or read the accompanying blogpost.

Beyond Alembic and Django Migrations

PyCon DE 2025. Darmstadt, Germany, April 2025. Recording pending.

While Django and SQLAlchemy migrations work well for basic schema changes, they fall short when you need advanced database features like triggers, materialized views, or robust CI/CD integration. This talk explores how Atlas, a language-agnostic schema management tool, can complement your ORM by reading existing schemas and extending them with advanced capabilities, automated migration planning, and seamless CI/CD pipeline integration.

The Missing Chapter in the Platform Engineering Playbook

SRE Day London, March 2025

Database schema changes remain a major source of outages, yet platform engineering often ignores them in favor of CI/CD and infrastructure automation. Incidents like adding a unique constraint on a large production table—locking it for minutes or hours—show that even experienced developers following best practices can trigger downtime. The rise of GenAI will amplify these risks, generating more code (and migrations) from less experienced hands and creating unpredictable database load through autonomous agents.

Treating schema management as a platform responsibility—automating migration planning, validation, and deployment—reduces cognitive load, improves reliability, and boosts delivery speed. Companies like Unico have shown that integrating schema-as-code into CI/CD pipelines cuts outages, ensures compliance, and allows teams to evolve databases safely. With GenAI reshaping software delivery, structured, automated schema management is no longer optional—it’s critical.

Find it in blog post form here.

The Hard Truth about GitOps and Database Rollbacks

KubeCon North-America, Salt Lake City, 2024

For two decades now, the common practice for handling rollbacks of database schema migrations has been pre-planned “down migration scripts”.

A closer examination of this widely accepted truth reveals critical gaps that result in teams relying on risky, manual operations to roll back schema migrations in times of crisis.

In this talk, we show why our existing tools and practices cannot deliver on the GitOps promise of “declarative” and “continuously reconciled” workflows and how we can use the Operator Pattern to build a new solution for robust and safe schema rollbacks.

How Go Tests “go test” (Hebrew)

GopherCon Israel, 2024

When you’re building tools for other developers, testing is 100x more important. Have you ever considered how Go tests “go test”? In this talk, we explore “testscript”, the hidden testing framework in the Go internal codebase.

Testing is an essential part of software development, and it is one of the most established ways to maintain a project’s quality over time and prevent issues from arising as a project evolves.

This is especially important when building tools for developers, as people’s workflows rely on our tools, and changes or breaks in behavior can have an outsized impact.

In this talk, we will explore one of the techniques used by the Go team to test their own command-line interface (CLI) tool, “go”. We will introduce “testscript”, a relatively unknown testing framework that’s hidden inside the Go internal codebase. Finally, we will demonstrate how to use “testscript” to build a solid and fun-to-maintain test suite for command-line applications.

GitOps for Databases with Kubernetes

CNCF Meetup March 2024 (Ho Chi Minh City)

Kubernetes is an amazing way to manage resources in cloud native applications - until it comes to stateful resources like databases.

In this talk we dive into the challenges of managing database migrations with Kubernetes, and about all of the ways NOT to do it.

Finally, we present the Atlas Operator a Kubernetes operator that enables you to manage your database schemas natively from your Kubernetes cluster. By exposing custom resource definitions (CRD) the operator extends the Kubernetes API to support database schema management.

Stop using your ORM to manage your database schema

Reversim Summit, 2024

Many developers use frameworks and ORMs like Django, Rails, or TypeORM to create an abstraction layer between their application and database code. Often, the default solution provided within these tools is employed for managing the underlying database schema.

In this talk, we will show why it’s a bad idea for schema management to be solved at the ORM/Framework level in the same way that we wouldn’t expect them to solve compilation or package management. We will show how, by exposing a very simple API, it is possible to create common tooling that will be shared by all languages and frameworks to solve the challenges of schema management once and for all.

Updating Databases the GitOps Way

KubeCon North-America, 2023

A talk which I co-presented in ArgoCon (part of KubeCon NA) with Kostis Kapelonis of CodeFresh. In it we explore the different ways people have been using to deploy database migrations in Kubernetes and present a truly GitOps-based solution: The Atlas Kubernetes Operator.

Avoid Toll Roads: Deploying Declarative Database Schema Changes

DevOpsDays Madrid, 2023

In this talk from DevOpsDays Madrid 2023, I dive into the Declarative Model and explore the question: can it be applied to managing databases?

Introducing Atlas DDL: An HCL-based Language for Database Schemas HashiTalks: Build 2023

A talk from “HashiTalks: Build” 2023, an online HashiCorp event about building things around the HCP ecosystem. I talk about Atlas DDL, the Terraform-like data definition language we created for Atlas.

Bridging the Gap Between IaC and Schema Change Management

Hebrew. HashiTalks: Israel, 2023

A talk from a local (Hebrew) HashiCorp event, “HashiTalks: Israel” where I talk about the gap between IaC and database migrations that led us to develop Atlas.

The Best Ways to (not) Crash Your Production Database

Hebrew. Go Israel Meetup, 2022.

A talk from the Go Israel Meetup where I present how to do Continuous Integration for database schema changes, and share some of the cool Go gems I discovered and learned about along the way.

Podcast appearances

Some people were kind enough to host me on their shows. Here are some of the podcasts I’ve been on:

  • Kube.fm - recorded at KubeCon North America in Salt Lake City 2024.
  • Amazic Podcast - recorded November 2024, hosted by Taylor Twain.
  • Cloud Unfiltered (recorded at KubeCon NA 2023) hosted by Michael Chenetz. Recorded November 2023
  • TechStrong.tv (recorded at KubeCon NA 2023) hosted by Alan Shimel. Recorded November 2023
  • Develeap Tech Tuesdays hosted by Amir Shalem. Recorded April 2024