Team Lead Mindset

How a Team Lead Thinks: The Questions Behind "Why?"

The six-step answer shape (goal, options, choice, reason, risk, plan B), how to think out loud, and a map of the questions a lead asks.

Lesson 0015 min read#mindset#leadership#interview

On this page

  1. Words used in this lesson
  2. What a team lead is really checking
  3. The answer shape: six short steps
  4. "What are you thinking?"
  5. Other questions a lead asks (and what they mean)
  6. What good decision makers say (from well-known lists)
  7. Interview questions
  8. Key takeaways
  9. What's next

In one line: a team lead is not checking whether you know the "best" tool. They are checking whether you think before you choose, say your reason in simple words, and know what could go wrong. Every good answer has the same shape: goal, options, choice, reason, risk, plan B.

Picture a code review. You added a new package, and your lead writes: "Why this package?" Or you picked a different language for a small service, and the lead asks: "Why this language?" Or you went quiet for an hour, and the lead asks: "What are you thinking?"

These are not traps. They are the normal questions of a team that wants to stay healthy. A lead asks them because they will own the result with you, long after the code is merged. If you can answer them calmly, you sound like someone who can be trusted with bigger work. If you become the lead, these are the questions you will start asking others.

This is the first lesson of a separate series about the team-lead and development mindset. It gives you the basic answer shape, how to think out loud, and the map of the questions that come next: packages (Lesson 1), languages and frameworks (Lesson 2), estimates and reviews (Lesson 3), and incidents and people (Lesson 4). For stories from your own past work see Experience round, Full-Stack Lesson 14. For salary and offers see Behavioural, salary and offers, Full-Stack Lesson 38 (coming soon).

Everything here is common practice and opinion, not law. Teams differ. Use the ideas, not the exact words, and always use your own true examples.

What I checked. I read these sources directly (the raw text on GitHub): the list of recommended articles in charlax/engineering-management (about 8.3k stars in the snapshot I found), and the Google code review pages in google/eng-practices. The advice on decisions and mentoring below is what that list says about the articles it recommends (for example Doist, Rands in Repose, Andy Grove, Gergely Orosz). I did not open the original articles, so I paraphrase the list's description of them. Everything else is common practice and my own opinion. The full reading list, with what I read and what I could not open, is in Lesson 11.

Words used in this lesson

  • A trade-off is when you get one good thing by giving up another. Faster to build, but harder to change later. There is almost never a choice with no cost.
  • An assumption is something you believe is true but have not checked. Good thinkers say their assumptions out loud.
  • A risk is something that might go wrong. Think of two numbers: how likely it is, and how bad it would be.
  • A reversible decision is one you can undo cheaply (change a variable name, try a library on one page). A hard-to-reverse decision is one that is expensive to undo (database choice, public API shape, a language for the whole backend). Spend more thinking on the second kind.
  • A spike is a short, time-limited experiment to learn something ("one afternoon to try this library on a real page"). You throw the code away afterwards if needed.
  • A proof of concept (PoC) is a small version that shows an idea can work. It is not production code.

What a team lead is really checking

When a lead asks "why", they usually want one of these five things. Know which one it is:

What they askWhat they really want to know
"Why this package?"Did you compare options, and will we regret it in a year?
"Why this language or framework?"Can the team run and hire for it, or is it your hobby?
"What are you thinking?"Is your plan clear, and can I help if you are stuck?
"How long will it take?"Do you understand the work, and will you warn me early if it grows?
"What if it fails?"Did you think about the bad day, not only the good day?

A "why" question is not an attack. It is an invitation to show your thinking. If you take it as a fight, you answer with defence ("it is popular!"). If you take it as a chance, you answer with a reason. The second version always sounds stronger.

The answer shape: six short steps

You can answer almost any "why" question in about 30 seconds with this shape. Say it in plain words:

  1. Goal. "We needed to ..." (the real need, not the tool).
  2. Options. "I looked at A, B and writing it ourselves."
  3. Choice. "I chose B."
  4. Reason. "Because ..." (one to three facts, not feelings).
  5. Risk. "The risk is ..., and I reduce it by ..."
  6. Plan B. "If it does not work, we can ... and it costs about ..."

Example for a date library:

"We needed to show times in the user's time zone. I looked at the built-in Intl API, date-fns and dayjs. The built-in Intl.DateTimeFormat was enough for display, so I added nothing new for that part. For the one place that adds months to a date, I used date-fns because it is small, has TypeScript types, and each function is imported on its own. The risk is another dependency to update. I lowered it by pinning the version through the lockfile. If we drop it later, it is used in one file, so the exchange is cheap."

Notice what is missing: no "everyone uses it", no "it is the best", no long speech. Just reasons a teammate can check.

"Because it is popular" is not a reason by itself. Popular is a fact about the crowd, not about your problem. Say what popularity gives you in this case: more answers online, more people who know it, faster bug fixes. Then it becomes a real reason.

"What are you thinking?"

This question has two very different meanings:

  • Friendly: "You look stuck. Can I help?"
  • Doubtful: "This change looks odd. Explain it."

In both cases, the best response is to think out loud in a simple, tidy way. Silence makes people guess, and guesses are usually worse than the truth. Use this small pattern:

"Right now I'm trying to [goal]. I know [fact 1] and [fact 2]. I don't know [unknown]. My guess is [assumption], and I'll check it by [next small step]. If that's wrong, I'll try [other idea]."

Example while debugging:

"I'm trying to find why the page is slow for some users. I know the API answers in 80 ms, so it's not the server. I don't know yet whether it's the browser or the network. My guess is a big JSON response, and I'll check the response size in the network tab. If it's small, I'll look at rendering next."

Why this works: you show a method, not a mood. The lead can correct a wrong assumption in ten seconds ("the API is cached, check without cache") instead of watching you spend two hours.

Say when you are stuck, and say it early. A common rule of thumb: try alone for a fixed short time (many teams say 30 to 60 minutes), write down what you tried, then ask. Asking with notes ("I tried A and B, I saw X") respects the other person's time. Staying silent for a day is the expensive mistake.

Other questions a lead asks (and what they mean)

You will hear many versions of these. The meaning is almost always the same: "Did you think about the cost and the bad day?"

QuestionWhat a good answer includes
"What problem does this solve?"The user or business need, in one sentence. If you cannot say it, stop and find out.
"What is the simplest thing that could work?"Start small. Say what you would not build yet, and why.
"What else did you consider?"At least two options and why you dropped them.
"What happens if we do nothing?"The real cost of waiting. Sometimes the answer is "nothing much", and that is useful.
"What could go wrong?"Two or three real risks (data loss, security, slow, hard to undo), and how you reduce each.
"How will we know it works?"A test, a metric, or a log you will check. Not "it looks fine".
"How do we roll it back?"A simple, tested way back (feature flag, previous deploy, reversible migration).
"Who else does this affect?"Other teams, other services, support, users. Name them and say you told them.
"How long will it take?"A range with the unknowns named. Not one exact day.
"What do you need from me?"A clear ask: a decision, a review, access, or time.
"Is this a one-off or will it repeat?"Whether to patch it or fix the cause.
"Why now?"Why this is more important than the other things in the list.
"What did you learn?"One real lesson, not "nothing, it went well".

What good decision makers say (from well-known lists)

The most-starred engineering-management reading list I found, charlax/engineering-management, has a "Decisions" and a "Mentoring" section. The ideas it points to, in simple words:

  • A good-enough decision that you can live with beats a perfect decision that arrives late. One article it lists (from Doist) argues that waiting for total agreement adds its own risk. Ask: "Can everyone live with this option?" and not "Does everyone love it?".
  • No decision is also a decision. The list quotes Andy Grove's High Output Management: the lack of a decision works like a negative one.
  • Teach people to not need you. An article from Rands in Repose, listed there, puts it as: "My job is to teach you not to need me."
  • Give context, not only answers. In the mentoring section, a piece by Gergely Orosz suggests giving context and letting people learn by finding the answer themselves.

Treat these as ideas to test, not as rules. I summarise the list's own description of each article, not the articles themselves.

Interview questions

What are you thinking right now? (Must know)

I say the goal, what I know, what I do not know, my best guess, and my next step. I do this out loud, in short sentences. This turns a silent, worrying moment into a short chat where the lead can help me.

You are stuck on a problem. When do you ask for help? (Must know)

After a fixed, short time of honest effort (for example, 30 to 60 minutes, depending on how urgent it is). Before asking I write down what I want, what I tried, and what I saw (error text, steps to reproduce). Then I ask a specific question. I also say what I will try next while I wait. If the work is blocking the team or a release, I ask sooner.

The team disagrees with your technical choice. What do you do? (Must know)

I ask them to explain their view first and I listen for facts I missed. Then I put the options side by side with the trade-offs, in a short document or a table, so we argue about the options and not about people. If we can test it cheaply, we run a small spike. If it is reversible, we pick one and set a date to check how it went. If not, we involve whoever owns the decision. Once a decision is made, I support it even if it was not mine. That is part of being a good team member.

Key takeaways

  • Treat every "why" as a chance to show your thinking, not as an attack.
  • Use the six steps: goal, options, choice, reason, risk, plan B. Keep it to about 30 seconds.
  • "Because it is popular" is not a reason by itself. Say what popularity gives you here.
  • "What are you thinking?" is answered with: goal, what I know, what I don't know, my guess, my next step.
  • Say when you are stuck, early, and bring notes of what you tried.
  • Spend more thinking on hard-to-reverse decisions than on reversible ones.
  • When the team disagrees, put the options and trade-offs side by side, test cheaply if you can, and support the final decision.
  • This is common practice and opinion. Adapt it to your team.

What's next

Next: Why this package? Choosing and carrying dependencies, Lesson 1. Practise first: pick three choices from your last project and answer "why?" with the six steps in 30 seconds each.

Published by Jainik · Last updated · How these lessons are made

Keep learning

Related lessons

Part of the study guide

Related series