Chapter 5 of 9
How We Do Things
Working Remotely
TEN7 is a completely distributed company; we have no central office space. Though many of us live in the Minneapolis, Minnesota area, we all work from home (or various other places).
It took some trial and error, but we have this distributed office thing down. We depend on several tools to help us communicate and be virtually present for each other. The most important rule of thumb is that it’s better to over communicate than under communicate. Post on Slack, share your status in the #attendance channel, jump on Zoom (preferably using video)—do whatever you need to in order to be virtually known.
Canonical Time Zone
Our canonical time zome is CST, which means that we expect that business is done sometime during CST hours. We’re also a flexible company and work to accommodate each other’s schedules across time zones.
Flexible Hours
We trust each other to put in at least 32 hours per week — whether those hours are before the sun rises or after the kids have gone to bed. It’s not uncommon that a personal appointment runs long during the day, so you log a few evening hours. This is ok! We understand life happens. Do what you need to do, make sure you’re meeting the 32 hour minimum as a full-time employee, and keep everyone apprised of your status on Slack. Please note: We all have different amounts of planned billable hours depending on our role; please talk with your direct manager if you’re unclear on your number of planned hours.
Side Jobs
We understand that you may want to supplement your income or work on cool projects outside of TEN7, and that’s ok. In fact, we fully support any extracurricular work you might do. The rule of thumb about side jobs is that they shouldn’t negatively affect your work at TEN7. We expect that you’ll make TEN7 your top priority.
If you decide to take on other work because you’re not 100% happy at TEN7, please talk with us about it first, and we’ll do whatever we can to help make things better for you. If it’s for any other reason, and you want to share, we’d love to hear about the neat projects you’re working on.
Slack
Slack is the tool we use daily for team and project communication. We’ve installed a ton of custom emoji packs in Slack, to keep things from getting too serious. You’ll be using the Slack status and Slack channels. Please fill out your profile and add your photo and your personal pronouns in parentheses next to your “full name” when you first log in.
Slack Status
Set your status on Slack using the following:
- Here (working)
- Away (lunch, out for a walk, at an appointment, etc.)
- Out (completely out of the office, PTO)
- Meeting
- Focusing
Slack Channels
In Slack, topics are called “channels.” We have several types of channels: internal for everyone, internal for teams or topics, and channels for discussing client projects. With channels, it’s easy to scan them to see if there’s new information to pay attention to.
Here’s a cheat sheet for our most commonly used channels:
- #attendance: We use the Slack status function plus a check-in to this channel to let others know our workday presence. It’s a place to add extra detail about what you’re up to. Say hi when you start the day, note when you’re away from keyboard (AFK) for more than an hour, back at keyboard (BAK), and when you’re heading out for the day. If we don’t hear from you in Slack on any given day, we’ll assume you’re not working.
- #general: Mainly used for general company info and team reminders.
- #random: This is the distributed office water cooler; it’s used for, well, the most random things you can imagine! Check out what’s going on in #random when you’re working—there’s almost always something funny going on, and it’s a great chance to chat with and get to know other team members.
- Project channels: Project channels are used internally to discuss work on client projects. If you’re working on client projects, you’ll be invited to each project’s channel. Channel names always use the client shortcode as the name. For example, #ahs is the channel dedicated to Animal Humane Society.
- Shared channels: Sometimes a client or a TEN7 partner has their own Slack account, so we’ll connect our accounts together in a shared Slack channel. You’ll know it’s a shared channel by the double-diamond shape in the channel name.
To learn more about how we use Slack, listen to our podcast episode “Blueprint Series #2: Slack.”
Zoom Video Conferencing
While we can do a lot of things over Slack, there are some things we just can’t do. We have a loose rule: if there are more than three back-and-forths on an issue in Slack, we take the conversation to a Slack Huddle or Zoom to hash it out. We encourage regular check-in meetings over Zoom as well, as it’s just nice to see the faces of your coworkers if you’re staring at a screen all day.
Another thing that Zoom conferencing is great for is screen sharing. We share screens to review documents, presentations, or code. And I’m sure some of us are still pointing at the screen with our fingers.
IRL
Being remote can be great (puppy time, yay!), but we also know it’s important to come together in person. If you live close to another TEN7 team member, we encourage you to grab a coffee or a meal together! Otherwise, we have in-person meet-ups a few times a year. Sometimes it will be a working session and other times it will be a meal, because we all understand the importance of good food (by the way, check out the #food Slack channel).
Time Tracking
We use JIRA for issue tracking, and we use Tempo (integrated with Jira) for time tracking and — more importantly — client billing. If we make a code commit, the requirement is that there’s an issue in JIRA that maps to the corresponding Tempo client account. It’s easy for us to stick to that, because if we make a code change and there isn’t a Tempo account associated with it, we can’t bill for it. We pull your hours and explanation of work and include it in the invoice to clients. Reporting is available at the account, project, team and user levels, which makes it invaluable for managing projects and client billing.
Time entry is important. And accurate time entry is even more important. We challenge each other to enter time daily (ideally using the built-in Tempo timer) to ensure accuracy. While tracking billable hours for clients are crucial, it’s also important to accurately log time spent on internal TEN7 work, such as meetings and administrative tasks. We’re always looking for ways to become more efficient and accountable, and time tracking helps us do that.
Workweek Time Period
Use Tempo to submit your hours (including any paid time off) on a weekly basis. The Tempo workweek starts on Monday at 12:00:00 a.m. and ends on Sunday at 11:59:59 p.m. Please submit your hours by Monday afternoon.
Billable Time
The workweek is split up into the following buckets:
Billable Client Hours
If your role primarily involves working on client projects, we will do our best to plan you for 32 billable hours per week. We all have different amounts of planned billable hours depending on our role.
Internal Hours
The remaining hours of your day could be spent on activities such as:
- Attending internal meetings and standups
- Contributing to Open Source projects or Drupal on drupal.org
- Participating in blogging, marketing or podcasts for TEN7
- Providing estimates for new projects
- Speaking at and attending conferences and camps
We’re all adults, and we trust each other to use good judgment.
Tempo Ticket for Internal Tasks
Most internal hours should be tracked to your department’s Admin task (e.g. Operations: Admin or Development: Admin) in Tempo. As always, ask if you have questions on how to do this!
Meetings
We don’t believe in meetings for meetings’ sake. We’ll only hold meetings if we have a goal, if we need to meet with a client, or if it’s more efficient to hash things out in a meeting vs. doing it over Slack.
We have a weekly company meeting each Monday at 9:30 a.m. CST. Ivan will share updates, the team can connect, and anyone can bring any topic to the table. We’ll always record this meeting so you can watch it later if you’re not able to join.
You’ll also likely have a daily standup, depending on which projects you’re working on.
Wednesdays are typically meeting-free, focus days. We try to keep Fridays as clear as possible, too.
Money Things
Getting Paid
Payroll is processed biweekly, and your salary will be direct deposited every other Friday. When you receive your first paycheck, please verify that taxes, insurance, and 401(k), were accurately deducted.
We use Gusto to keep track of payroll - you’ll receive an invitation to setup your account for direct deposit.
Tools
We’ve written about the complete list of tools we use in a post titled TEN7’s Tech Stack that you should read. We also keep a list of the most up-to-date stack as a public Notion page as well.
We ask that you please keep all TEN7 tools and their contents separate from any personal tools you might use. Please avoid using your personal email inbox for TEN7 purposes or connecting any personal tools with those of TEN7.
Please also avoid storing anything personal on TEN7 services (example: Google Drive, Google Calendar or Google Contacts). Anything stored on TEN7 services is property of TEN7.
Website Accessibility
We’re building things for humans, and the people who use the sites we make are all different. Some of us are visually impaired, others are hard of hearing. Every single thing we build will be experienced uniquely and we should always keep in mind that these experiences should be accessible. We strive for WCAG accessibility in everything we do. It’s not a checkbox to be completed, it’s a continual improvement of our products. And it’s not something that a developer does once and forgets about. It’s a goal that each and every one of us needs to continually champion for the user, in every line of code we write, in every design we publish, and in every minute of support we spend on behalf of our clients.