User profile picture

Thomas Schmidt

@thomas-schmidt
  • thomas-schmidt
  • README.md

Thomas's README

Thomas Schmidt - Staff Backend Engineer, Agent Foundations

This page is intended to help others understand what it might be like to work with me, especially people who haven't worked with me before.

It's also a well-intentioned effort at building some trust by being intentionally vulnerable, and to share my ideas of a good working relationship to reduce the anxiety of people who might be on my team.

Please feel free to contribute to this page by opening a merge request.

Related pages

  • Agent Foundations

About me

Before GitLab, I spent 7+ years in the data and AI space — building production AI agents at Metabase, driving data strategy at Shopify, and leading data teams at startups. My background spans analytics engineering, data science, LLMs, and product.

My non-work related hobbies and interests are cycling 🚴, bouldering 🧗, home automation, and optimizing my small solar power plant so I use as much energy as possible before it goes to the grid for free ☀️. I'm also a voluntary firefighter 🚒 — so if I ever disappear from a meeting without notice, there's a good chance I had to leave for a call.

If any of this sounds interesting to you — just schedule a coffee chat, I'm always happy to talk about these things (or anything else).

Fun fact: My journey into tech started in agricultural science — I have a Master's from TU Munich where I built early disease detection models for calves using sensor data. From there I fell into the data wonderland and never looked back. 🐄→📊→🤖

How you can help me

  • Challenge me. You have my explicit approval to challenge anything I put out there — code, assumptions, messages, decisions. I want the best idea to win.
  • Provide honest feedback directly. 1:1 calls or direct messages are the best channel. Don't filter it — I appreciate directness.
  • Give me context upfront. I will ask "why" — a lot. Before sending me a PR or document for review, include the background: What problem are we solving? What alternatives were considered? This helps me give my best thinking.
  • Point out when I'm not living up to this README. I hold myself to these standards but I'm human. If I'm slow on a review or my feedback lands too harshly — tell me.

How I can help you

  • Bounce ideas off me. I enjoy thinking out loud and exploring different approaches. I'll give you my honest take, and I'll tell you when I don't know yet.
  • Ask me about data and AI. I've spent years building data infrastructure, analytics platforms, and AI-powered features (including production LLM agents and RAG systems). Happy to dig in.
  • Fast PR feedback. I actively try to review pull requests quickly so you're not blocked.

What I assume about others

I assume positive intent and honesty.

My working style

  • I write code as clean and simple as possible. If I haven't looked at the code for 5 months, it should not take me or my coworkers a lot of effort to understand it. Self-documenting code matters.
  • I prefer to consider multiple options and approaches before implementing. This often involves bouncing ideas off others first.
  • I'm most productive in the morning. Afternoons are less intense.
  • I care about being unblocked and unblocking others. If a review or decision is hanging, I'll follow up.

Communicating with me

  • I embrace async communication. Slack is async for me — I'll get to your message, but it might take minutes to hours.
  • For decisions and context that matters beyond a conversation, I prefer it documented somewhere accessible — format doesn't matter, findability does.
  • I sometimes show up in Slack in the evenings. Don't take this as an expectation — I won't assume the same from you.
  • Always open for coffee chats! ☕

A note about my memory

I'll be upfront: I tend to forget things. I might ask a question that was answered a month ago or need a refresher on a decision we already made. Please don't take it personally — just point me to the right place or give me the context again.

This is exactly why I push for self-documenting code and accessible documentation. On the flip side, I pick things up very quickly and I'm good at collecting and synthesizing context from many sources.

Strengths / Weaknesses

💪

  • Curious and a fast learner — when I don't know something, I will learn it
  • Good at pulling together context from many sources and connecting the dots
  • Always willing to help others

👎

  • My communication is direct and can come across blunt, especially in writing. This tends to happen most when I care deeply about something. I'm working on it — please assume positive intent first.
  • I can be too honest and not care about office politics.
  • I forget things. I compensate with documentation and fast re-learning, but I might need a nudge now and then.
  • Work-life boundaries — I love what I do, which makes it hard to fully switch off. Getting better at it.

My emoji glossary

  • 👍 Sounds good / Agreed / OK
  • 👀 I'm looking into this
  • ✅ Done / Approved
  • 🤷 Weird / I don't know
  • 😅 I find this funny or I'm not taking my own message too seriously

Activity

View all
Loading
There was an error loading users activity calendar.
  • Loading

Personal projects

View all
  • Loading
Loading

About

Pronouns: he/him

Info

Staff Backend Engineer at GitLab
9:28 AM
Member since February 02, 2026

Contact

thomas-heinz-schmidt
somtom