Skip to content

Instantly share code, notes, and snippets.

@ezl
Last active April 7, 2022 22:16
Show Gist options
  • Save ezl/f35d32fb7ee0d9c85695 to your computer and use it in GitHub Desktop.
Save ezl/f35d32fb7ee0d9c85695 to your computer and use it in GitHub Desktop.

Howdy!

This document contains some guiding principles for how our organization works and gives a sense of how individuals are expected to operate.

The first section is a list of other resources that have influenced this thinking and a lot of principles we use. We use a lot of these principles and reference them often.

The second section is the actual principles of how we work. Ultimately these boil down to just 2 principles:

  1. Be reliable
  2. Do your best work

Everything below that is just a supporting example of how to uphold those values.

Other Links About Working With People

  1. Someone Else's "How To Work With Me" Document (Hacker News comments)
  2. How We Vote On Decisions: -1/-0/+0/+1
  3. 30% Feedback (Backup copy) (Hacker News Comments)
  4. No Excuses Culture
  5. Disagree & Commit - from Amazon (Hacker News Comments) another article and another article
  6. Buffer core values
  7. Amazon's leadership principles Honestly, I'm not sure if these belong here, but I saw this recently and found it compelling so I'm trying it on.

1. Be Reliable

If your teammates know they can count on you, it allows them to focus on doing their best work.

Here are some ways that it's important to be reliable to your teammates:

@ Do what you say you will, when you say you will

  1. If you say you'll be there be there.
  2. If you say you'll do something, do it.
  3. If you can't or something changes, let everyone involved know.

@ Updates. Missing expected deadlines without notification isn't acceptable.

Projects sometimes don't go according to plan. Sometimes the scope of a task isn't clear at the time it's planned. If so, it might make sense to move a deadline. That's ok.

However, deadlines are never missed at the last minute. You usually know far in advance that the goal is unlikely.

As soon as you know, say something.

Template:

"Hey [Eric], [task X] was supposed to be done [on Thursday]. That's not going to happen now because [good reason]. The new estimate is [Saturday]."

If there are risk factors that even might impact delivery, bring it up early.

Template:

"Hey [Eric], [task X] was supposed to be done [on Thursday]. We aren't off track yet, but [QA is taking longer than expected] so I just wanted to let you know in case it becomes an issue."

Then, when it's done, say it's done. Do not finish things and NOT tell your stakeholders. If they don't know it's done, it wasn't done.

(This is a corollary of "Do what you say you will", but it seems so rare that people behave this way that it warrants reinforcement.)

@ Be on time

Early is on time. On time is late. Late is unacceptable. (source)

@ Confirm requests from your teammates

If someone asks you to do something, they should never have any question about whether you're going to do it, or when they should expect it back. If they do, you've failed to communicate clearly with them.

A format that works for me is that any request for assistance should be met with one of the 4 following responses:

(A) "Yes, this will be done by [date/time]"

Just saying "ok I'll do it" is insufficient, because the person you're working with doesn't know when they can expect it, and therefore can't plan.

(B) "I need items X, Y, and Z in order to complete this task"

If you're unable to do it or need assistance to fulfill a request, be specific about what you need and when expect to finish the task once you've been given the necessary resources.

(C) "I can't do this because _______"

Assume that if your coworker is asking for something that it is important to the business (If not, that coworker needs a talk, which is another issue).

If for some reason you can't do it, you need to reject the request as soon as possible so the counterparty knows not to expect completion and can find another way to do it.

(D) "I don't understand _________"

If there is any component of the request you don't fully understand, ask for clarification. Please spend a little time up front clarifying rather than risk doing something completely wrong and wasting a lot of time.

You should respond as quickly as you can to acknowledge the request. You should respond to every request to let your teammate know what to expect.

Not responding in a timely fashion is not an option. Until you've responded, the other person should assume you haven't seen the request.

@ Don't make your teammates ask repeatedly.

Many work cultures revolve around constantly asking your peers if they've completed a task, or repeatedly asking for the same thing because there's no accountability or expectation that something will be done. That's a waste of time. Please don't make your colleagues do this.

If you've been asked again for some thing, it means you were either:

  1. not paying attention the first time
  2. not being clear about if/when you will do the requested thing
  3. not delivering on what you are supposed to

Please don't do this. It wastes the time of both you and the requester by requiring duplication of effort and it adds management overhead to the requester by requiring them to follow up for tasks that should have been completed if you were being reliable.

2. Do Your Best Work

@ Single-task

Never half-ass two things. Whole-ass one thing.

I don't believe anyone can really multi-task well. If you demonstrate that you can, then we'll talk. Until then, single task.

@ Pay full attention to whoever you're talking to.

Don't type on your laptop while some is talking to you or in a meeting (unless you're taking notes or doing something relevant). Don't check your phone. It's rude.

If you're in a conversation with someone, treat that person like they're the only person in the world while you're talking.

If you need to split your focus, tell the person. Don't just text while talking to them.

Here's a convenient template response:

"Hey Eric -- I'm sorry, I can tell that what you're saying is important, but I am having a hard time focusing on this now because , can we revisit at <choose a specific time, '4pm'> when I will be able to give you the full attention you deserve?"

Not paying attention to what someone else is telling you leads to a lot of repeating and wastes both of your time. This leads to a lot of repeating. Don't do it.

Corollary:

If someone is texting/doing something else/distracted while in a conversation with you, you should give them the chance to eject gracefully. Maybe there IS something pressing and important they need to handle. Talking to them with half their attention will lead to half comprehension, repating yourself, and potentially wasted time.

Here's a convenient template response:

"Hey Eric -- It seems like you might have a pressing need to handle. I totally understand. I'd prefer if we were both fully present for this, so can we pause right now and choose a time to come back to this?"

@ Don't text or do other work during meetings

Pretty much the same point as the last one, but I've seen this has gotten more and more pervasive (and considered acceptable) in many workplaces. IMO this really just wastes time.

@ Write stuff down

It's easy to forget things if it's not written down. I like "to do" lists. Use lists as an extension of your working memory.

If you miss things, it's probably because you're not writing things down. Missing things makes the business lossy and we waste time.

@ Don't dwell on the past

Sometimes you mess up. Sometimes other people mess up. That's ok.

I'm not interested in punishing people or dwelling on accidents or honest mistakes. The goal is to minimize them going forward. It's best to own a mistake and move on fast.

If something is broken, the only thing that matters is getting it fixed. Not who broke it or who fixes it.

@ Do your best work or don't do it at all

If you deliver something and you don't feel like its the best you could have done, you're slacking. If you're not going to do your best, pass it on or wait until you are ready to do your best.

In general, focus on overdelivering. Startups can't afford to do the minumum.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment