/readme

Personal readme of what I'm trying to do

README

This document

A way for you to understand why I am here and for us to measure success. This is heavily inspired by Rands and others.

My job

  • Find, retain, and encourage really smart developers (that's you).
  • Provide context.
  • Destroy obstacles.
  • Do enough individual contributor work to make me effective at all of the above.

Our team

My ideal vision of our team is one where

  • We are all contributing at a high level.
    • We deliver features that bring joy to our customers or at least remove sources of pain and frustration.
    • To our stakeholders, we are big damn heroes.
  • We take control of, and responsibility for, our own destiny.
    • We identify challenges and opportunities and come up with solutions.
    • If something is beyond our control, we look for ways to get it under our control or get help.
  • We help each other.
  • We hold each other accountable.
  • We can expect excellence in ourselves and each other.
  • We assume positive intent.
  • We always ask "why?" and especially "Why can't we just make it be better?"
  • We constantly learn and adapt.
    • If something isn't working, we change it.
  • All of this is both fun and sustainable.

My assumptions

  • You are good at your job
    • If you weren't you wouldn't be here.
    • I will still question you.
      • When I do question you, it is because:
        • I'm trying to learn more about what you know and I don't.
        • I'm trying to be a sounding board and make sure you do your best work.
  • You have more detailed knowledge than I do of what you are doing.
    • I have more context than you do. (Context is part of what I do here.)
  • You will tell me if you are having trouble doing your job.
    • One of my main responsibilities is setting you up for success, not failure.
      • You will know before I do if you are not set up for success, so say something.
  • You feel safe debating with me.
    • The best ideas are those that have been viewed from multiple angles and been the subject of debate and discussion.
      • Sometimes, I will play devil's advocate for this purpose alone.
      • Sometimes, I'm just being dense.

Communications

  • Face to face is best.
  • Emails - I will reply in < 24 hours.
  • Slack - you should expect to get an answer right away. I will do my best.
  • If it ever feels like we are not communicating, grab me and let's hash it out.
  • I feel very strongly that teams need to over-communicate their progress.
    • Transparency builds trust.
    • We should be open and transparent about our successes and our failures.
    • Typically, this takes the form of a weekly status email going to all stakeholders.

Structured 1 on 1s

  • These are primarily for you your time to talk about whatever you want.
  • Secondarily, they are for me to talk about what I want to talk about, but you come first.
  • They shouldn't be status updates unless you really want to talk about status updates.
  • These are flexible depending on our schedule, but we need to have them.

Feedback

  • Honest, compassionate feedback is one of the most important tools we have.
  • This needs to go both ways.
    • I'm going to make mistakes.
      • I expect you to tell me when that happens.
        • Yeah, it might be hard, but I'm counting on you.

Metrics

  • I like to count things.
    • Story points help us understand our capacity and our velocity.
    • Bug counts tell is if we have a quality problem.
    • Production support tickets tell us where we need to improve the system.
    • Performance metrics ensure our products work the way we need them to.
    • Monitoring ensures we aren't the last to learn about a problem.
  • I don't want to be ruled by metrics, but they let us stay on top of the chaos.
  • If our metrics ever seem to be driving the wrong behavior, we need to stop and talk about it. See Feedback

Meetings

  • We can always do a 1/1 meeting without a formal agenda
  • We can always to an informal "help me talk through an idea" without a formal agenda. (although, in reality the agenda is "Let's talk through caching" or whatever.)
  • Any meeting over 15 minutes needs to have an agenda.
    • If I call a meeting > 15 minutes with no agenda, call me out.
    • If possible, we should have a common set of notes for meetings so we know who agreed to what.
  • Story grooming is important to get everybody on the same page.
  • Retrospectives are important to help us improve.