Junk Drawer Logo Junk Drawer

For all those little papers scattered across your desk

Day one on a new team

D. Ben Knoble on 04 Jan 2025 in Blog

This is my shortlist of “Day 1 questions” for new teams to help me get up to speed. In no particular order:

  1. Domain & Design
  2. Performance budget
  3. Expected scale factors
  4. Customer success
  5. Team norms and culture

Examples drawn from real work.

Domain & Design

What do we do? How do we accomplish it?

This could be things like “manage case lifecycles via tenant-configured platform services,” “keep data flowing with automatically managed Kafka instances,” or “provide cost recommendations to clients by analyzing data ingested from their systems.”

Ideally this comes with a domain breakdown of key terms. Examples: tokenized plastic/PAN; drain/kill/rehydrate; Snowflake contract and connection details.

Performance budget

What is the budget? I want to know the total expectations and by subsystem (we should have those, right?). How do we know if we are (not) meeting those budgets? What characteristics do we measure (mean, stddev, IQR, p90, shape of distribution1, etc.) and what are they? What are our target specs end-to-end (our hardware and our clients’ hardware, with a focus on the clients).

See Performance inequality on the web for what happens when we get this right (or wrong).

Expected scale factors

Scale factors are the things whose increase will be felt across the system. Examples might be number of customers, objects, transactions, queries, etc.. How have we designed to meet changing needs with scale? How do we know if we are (not)?

We may be planning to reimplement and rearchitect if we can’t meet new scale requirements, and that’s an acceptable answer as long as we understand the cost and know when (preferably before) we hit those points.

Customer success

How do we know what our customers need? How do we know if those needs are (not) met? How do we know when something goes wrong and what it is? How do we get side-by-side feedback? How is customer engagement or success incorporated back into the product?

Team norms and culture

How do we communicate (meetings, chat, email)? How do we track work-to-do, work done, priorities, and roadblocks?

How do we develop and deploy code or land it in main? This includes

Notes

  1. We must not commit crimes of statistics, after all. Don’t assume unimodal, Normal distributions. Please provide a measure of spread with a measure of central tendency. 


Tags:

Categories: Blog

Load Comments
Previous Next
Back to posts