Things that immediately come to mind with little effort

  • Be kind. be enthusiastic. be helpful.
  • Be extra kind during disagreements
    • First, assume misaligned values or context, it’s not a human issue
  • Leave breadcrumbs (document everything you do)
  • Prefer persistent (GitHub PR comments or Repo docs) links instead of duplicating work
    • Ex: spend effort on a PR comment and link that in a standup with a brief summary and then maybe link that standup in a team channel if your daily standup is something you are really proud of.
    • Counter-example: spending effort in a PR comment, then also spending a lot of effort in a standup summary of the day, then also spending a lot of effort to describe your work in a team channel.
    • LINKS instead of duplicating work.
  • Do and show work before asking questions (draft PRs, etc.)
    • In a draft PR, show the steps that you did to produce the error or whatever you have a question about
  • Timebox everything
  • Align with and trust your superiors (helping your superiors achieve their goals is a good way to stay aligned and achieve what should also be your goals)
    • Something I need to work on here, personally, is also saying, “I don’t think we can do that right now”.
    • Today, I tend to over-commit in order to try to support everything that they want to do, which in the end is actually worse for them because then we don’t achieve ANY of the things we wanted to do
  • Demonstrate how you are delivering value that is realized by the business or other teams (if other teams are the ones delivering the end-user value if your team is a platform team)
    • Ex: Did a Platform release that enabled the X team to do Y.
    • Counter-example: did a platform release
  • Make sure people know what you are working on and your progress on that thing
    • In my experience if people don’t hear from you or see progress updates, sadly, they assume you aren’t doing anything.
    • (Most) processes can be really good at facilitating this e.g., stand-ups. Don’t avoid them.
      • Yes, they can be annoying, but use them to your advantage, don’t fight them
  • Deliver frequently
    • One way to make sure people know what and where you are at is to deliver, small things, frequently e.g., every sprint
  • Prefer incremental, small, step changes, over large changes that try to reach an ideal in a single leap
    • I promise you the large change probably wont happen
    • Releasing or migrating will be too complex
  • Adopt established, widely adopted interfaces instead of inventing your own
    • Unless; you’ve done a ton of research and the interface is the problem you are solving
    • Or; the interface doesn’t exist
    • Or; expect to spend lots of resources on adoption

(need to rephrase the above with “suggestive” verbs instead of “absolute” ones)

Other things that came to mind after asking other for advice

  • It’s a job and we are all just humans trying to be “good”
    • This doesn’t mean don’t be passionate or never put in extra work
    • It’s more about accepting that there will be times when you need to prioritize other parts of life over work
  • Be careful trying to suggest an ideal solution; it’s a trap. Often the “best” solutions are heavily contextual and relative
  • Don’t have “code babies” (credit: RK)
    • This doesn’t mean don’t care about what you are working on.
    • It’s more about the other side of enabling others to contribute to/delete/refactor/rebuild what you’ve built.
    • Or, being able and willing to move away from the thing you’ve built if asked to do so.
  • Don’t be ego-driven
    • Ask for help
    • Help someone else get promoted before you
    • Don’t be upset when someone else gets promoted before you, even if you disagree with it!
      • (This is an extremely privileged thing to say), but promotions are “just” documented increases in money and influence
        • Don’t let these things come in the way of being kind.
    • Lift others (or a team) instead of yourself
      • If you care about self-promotion too, trust me it will come by lifting others or a team
  • Do the work; there aren’t short-cuts
  • Step away; even when it’s hard
  • There are times to grind and times to rest; don’t grind when you should be resting or resting when you should be grinding (credit: IS)
  • (cliche) When you aren’t motivated, take a break
    • Youtube breaks aren’t all that helpful for me to find motivation
    • I find skateboarding for 15min really helpful; maybe it’s getting the heartrate up, not thinking about work. idk
    • Find your version of skateboarding
    • video games at lunch is a bit refreshing