Etiquette for Tech Teams


For a Happy Workplace

This article attempts to offer some of the rules for a productive, cohesive and enjoyable working environment for tech teams. It is a semi-working article that I will add to over time.

meetings

Meetings


headphones

Headphones

If someone has headphones on, DO NOT GO TO THEIR DESK AND INTERRUPT THEM, stay calm, do not make eye contact, stay as small as possible, keep quiet, back away slowly and slack them instead.


Slack

Slack is asynchronous communication, it’s like email — don’t expect a reply within seconds.

Avoid using @here in #general, unless it is urgent and applicable to the WHOLE company. Examples of what is acceptable:

Unacceptable:

When initiating conversation with a tech team member increase message density by using full sentences when opening a new message to someone. Lots of short messages are distracting. Keep your initial greeting and question on one line. E.g. “Hello! Is Jono away today?”.


hoffing

Example of Hoff-ing

No hoff-ing (and such like) in #general. Keep it in #random and remember excess hoff-ing is not funny!

Try and use of the “start a thread” button to reply to any opening post and to hold conversations together, this can keep things tidy.

The larger the channel, the less it should be used for any kind of decision. Big rooms are only for notifications. For technical decisions see: Technical Design Doc Section (below).

There is also a social aspect to slack, and it can become a bit like a company reddit. Create channels for each interest, for example we have channels for movies, yoga, music, podcasts, etc.

Politics should only be discussed in #politics. No-one is obliged to subscribe to this channel.


Feedback

Feedback is one of the most important contribution you can give to your peers. Find the time.

Use anonymous and onymous feedback forms. If you are really short on time and know it will get sugar coated, submit blunter feedback.

Meaningful feedback takes practice. It’s important to remember that feedback isn’t anybody being angry at you. It’s an indicator of the image you project. It’s not a criticism.

Making sure your feedback is balanced and considered. Do not give feedback immediately after feeling that someone has wronged you. Sleep on it, leave the feedback the following day.


Pull Requests (PR)

Use labels to help communicate the state (reviewable/deployable) of a PR.

Add meaningful titles and descriptions to the PR, add the JIRA ticket (if applicable). Describe why the PR is open — what problem are you solving?

Sometimes updating the README is better than a good PR description!

Squash on merge, this keeps the commits tidy and give more context to meaningless commit messages. Delete your branch after a merge!

If you want, announce your PR in the #tech.

Review everyone’s/anyone’s PR, even if you think you might not be a lot of help.

Always leave a comment, even if you have nothing to say, so that the PR owner knows someone has seen it.


Technical Design Doc

Where technical decisions are discussed and made.

There are a number of advantages to using design docs for each major technical decision over meetings:

If it’s related to anther department, ensure to include it in their systems. E.g. if customer-related, add it to the CRM (Customer Relationship Management) system.

Define the business problem as well as the technical problem. List the potential solutions, along with pros and cons.

Sometimes whiteboards are absolutely necessary to a discussion, in which case, hold a meeting, snap a photo of the whiteboard and put it into the design doc.

Same rule as PRs. Comment, even if you have nothing to say. “LGTM” comment on the title, if you’re happy.

Share a link to the doc in #tech slack channel.


container ship image

Deploying

Deploy small amounts of code, often!


Stand Up

List your stand-up in #tech slack channel before standup.

Take discussions offline (out of standup). If you think a discussion is happening and it’s wasting your time, call the person out.

Stand-ups away from others’ desks.

Keep it relevant to the group. No need to repeat everything that’s happened the last few days. Pick your content, feel free to add a longer list of things to the slack #tech stand-up.