guide
  • Introduction
  • Guiding Principles
    • Mission Statement
    • Conflict Resolution Process
  • Operating Model
    • Working Together
    • Holacracy
      • Meetings
      • Specific Roles
      • Terms and Definitions
      • Finer Points
      • Holacracy-Asana Key
    • Getting Things Done
      • Daily, Weekly, Monthly, and Annual Reviews
      • GTD-Asana Key
    • Transparency
    • Language
    • Budgeting
    • By Department
      • Engineering Operations
  • General Guidelines
  • Employment Policies
    • Equal Opportunity Employment
    • At-Will Employment
    • Code of Conduct in the Community
    • Complaint Policy
    • Drug and Alcohol Policy
    • Vacation, Holiday, and Paid Time Off (PTO) Policy
    • Supplemental Policies for Remote Employees and Contractors
    • Supplemental Policy for Bonus, Commissions, and other Performance-based Payments
    • Supplemental Policies for Hourly International Contractors or Workers
    • Supplemental Policies for Hourly International Contractors or Workers
    • Disputes and Arbitration
  • Benefits and Perks
    • Health Care
    • Vacation, Holiday and Paid Time Off (PTO) Policy
    • Holiday List
  • Hiring Documents
    • Acknowledgement of Receipt
    • Partner Proprietary Information and Inventions Agreement
  • Engineering Wiki
    • Code Snippets
      • Front End Code Snippets
    • Setup
      • 1: Overview of development using Audienti
      • 2: How to setup your dev environment on Docker
      • 2a: Setting up on our cloud your dev server
      • 3: Connect to Production using the VPN
      • 4: Import data into your development environment
    • Deployment
      • Docker based deployment of back end (manual)
    • Culture
      • How our development team works
      • Code Best Practices
    • Tips
      • Setting up a new development machine
      • Importing data to Development environment
      • GIT workflow and work tracking
      • Using Slack
      • Using Rubocop
      • Our Code Standards
      • General suggested best practices
      • Tracking your time
      • Naming Iterations
    • Migrations
      • Postgres
      • ElasticSearch
      • Redis
    • Database and System Maintenance
      • Redis Howtos
      • Elasticsearch HowTos
      • Postgres HowTos
      • Administration recipes
      • App maintenance crash course notes
    • Front End
      • 2016 Plan
      • Deploy
      • Assets
      • SearchLogic
      • How to create UI components
      • OMA Standard Tables
    • Monitoring and Alerting
      • Monitoring Systems
      • Monitoring individual controller actions
      • Get notified when a metric reaches a certain threshold
      • Instrumenting your models using Oma Stats
      • Configuring Graphite Charts
      • Tracking your results with StatsD
      • Logging Fields
      • Updating Kibana Filtering
    • Testing
      • Coverage
      • Elasticsearch mapping config synchronization
      • Testing Gotchas
      • Rspec Preloader
      • Test Best Practices
    • Models
      • Backlinks
    • Queueing and Worker System
      • Queueing and Job Overview
    • Processors
      • Rebuilding Spot Instances
      • Deploying processors
      • Running processors in development
      • Reverting to the previous build on a failed deployment
    • Processors / Opportunity Pipeline
      • Opportunity Pipeline
      • Diagram
    • Processors / Enrichment Pipeline
      • Diagram
      • Clustering
    • Processors / Backlink Pipeline
      • Diagram
      • Backlink Pipeline external APIs
      • Backlink pipeline logic
    • Processors / Automation Pipeline
      • Diagram
      • Automation Pipeline Overview
      • Agents
      • Running in development
    • Messaging and Social Accounts
      • Overview
    • API
      • Audienti API
    • Algorithms
    • Troubleshooting
      • Elasticsearch
    • Big Data Pipeline Stuff
      • Spark
    • Our Product
      • Feature synopsis of our product
    • Research
      • Backend framework comparison
      • Internet marketing Saas companies
    • Code snippets
      • Commonly Used
      • Not Used
    • Miscellaneous
      • Proxies and Bax
    • Legacy & Deprecated
      • Search criteria component
      • Classes list
      • Target Timeline
      • Twitter processor
      • Asset compilation
      • Test related information
      • Interface to EMR Hadoop jobs
      • Mongo Dex Indexes to be Built
      • Mongodb errors
      • Opportunity pipeline scoring
      • Graph Page
      • Lead scoring
      • Insights
      • Shard keys
      • Setting up OMA on local
      • Clone project to local machine
      • Getting around our servers in AWS
  • Acknowledgements
  • Documents That Receiving Your First Payment Triggers Acknowledgement and Acceptanace
Powered by GitBook
On this page
  • Working Remotely
  • What Full-Time / Flex-Time Means
  • Scheduling and Availability
  • Open, Permissionless Communication
  • Scheduling Meetings
  • Todos and Assignments
  • Getting Things Done
  1. Operating Model

Working Together

How, when, and where we work together.

Working Remotely

With the exception of partners that need to be on site, we are a remote team. You are not required to work in our office.

All weekly tactical meetings are held remotely via Google Hangouts. We agree to show up on time and ready for these meetings.

These meetings will be scheduled ahead of time and all participants will receive a calendar invite with a link to the Hangouts room.

We use all-remote meetings because it is smoother to have every participant logged into a video conference than to have one group in person with the rest remote.

What Full-Time / Flex-Time Means

"If you want to go fast, go alone. If you want to go far, go together"

Full-time can mean very different things for different people and organizations. Our goal is to develop a healthy pace for the long haul.

We recognize that for the company to achieve its goals, we need to be productive, efficient, and resilient. It is easier to fill time with any work than to prioritize work. One hour of focused labor on a core competency is better than two hours of distracted work that is misaligned with our current strategies.

We agree to work as much as we can and feel inspired to do, but not so much that it erodes our ability to maintain pace, or depletes our lives outside of work. As a general number to aim for, we use 35 (full, productive) hours a week.

Managing time is a skill; when working remotely, it is difficult to not work too much or too little. We have to hold ourselves and each other accountable to find our balance.

We seek to avoid the Cult of Productivity anti-pattern. Too often, organizations reward quantity of work and idolize members who burn the candle at both ends. This not only distracts from the more important metrics of quality and accuracy (to org mission) of the work, but is a prime recipe for burnout.

Productivity means different things to different roles. For example, if your job involves dealing with outside parties, you will need to overlap your work hours to the hours of the outside world (i.e. 9am to 5pm). Not doing this makes you less productive, and does NOT match the spirit of this flexibility.

tldr: Work when you're most productive. Work smart on stuff that energizes you rather than depletes you. Aim for 35 hours of productivity a week.

Scheduling and Availability

We encourage partners to be available for communication (either in person or on Slack). Essentially, slack is "in the office." If you're not logged in on slack, then its assumed you are not working.

Communication, as they say, is the key to every relationship. Working remotely makes synchronous communication a choice, not a requirement. While the benefits of being able to "go dark" and focus on a task without risk of distraction are great, we must also make time to be explicitly available to the team.

Open, Permissionless Communication

In some companies, nobody talks to each other unless they schedule a meeting first, even if it's just for a quick question. Let's not do that please.

For quick conversations, just reach out!

The best place to do so is on a public Slack channel. That way, other partners can chime in to provide useful information.

If the conversation needs to be private, the next best option is to either (a) send them a private message in Slack or (b) give them a phone call.

If you know that you'll need to spend some more serious time with them (more than 10 minutes or so), or you want to book time in the future, then it is a good idea to schedule a meeting.

Scheduling Meetings

For meetings that involve more than 2 people, the best option is to create an event in your Google calendar and invite them by email. Use our group email addresses to invite lots of partners at once.

Todos and Assignments

If you need someone to do something, assign them a task in Asana. Make sure that if you assign a person a task, they understand what the task is, where they can find the information or resources you have available to perform the task, and what is expected of them as output on the task.

Giving a person a task that does not explain what they are supposed to do, makes it hard for a person to get something done for you.

If you assign a task to a person, and they reject it, you should find out why, do it yourself, or assign it to to someone else.

Getting Things Done

Getting Things Done (GTD) is a well known and effective personal productivity system that formalizes this process. We all use Asana for GTD, and we even have a bot that automates tedious tasks and helps us use it better!

PreviousOperating ModelNextHolacracy

Last updated 7 years ago

All partners in OMALAB commit to practicing . The requires that partners be responsible for tracking their next-actions and projects in a database that is constantly updated and reviewed.

Check out the section of the Guide for more information.

Getting Things Done
Holacracy constitution
Getting Things Done