How we work

At BigBinary, we work differently and care about uninterrupted time and stuff like that. We have written here what has worked for us for the last 12+ years.

Remote first

BigBinary has been a 100% remote first company since it started in 2011. Working in a 100% remote environment is challenging and not for everyone. In the beginning, we struggled with it. Over the years, we have built tools and habits to support our 100% remote environment.

Writing

At BigBinary, we care a lot about how we write. This is because we write once, and lots of people read it. It's essential that whatever is written has clarity and conciseness.

Whatever is written should also be grammatically correct English sentences all the time. Even in internal chat, BigBinary folks are not allowed to write like "i will attend the call five minutes late". Here "i" should have been spelled as "I".

Reading

We want BigBinary folks to have the capacity to read long articles without getting distracted. In this social media age where videos are consumed mostly, people are getting worse at reading long articles. We want BigBinary folks to have the capacity to be able to read in a concentrated manner.

In many companies, a common excuse is that I didn't read the documents because they were too long. That will not fly here. You must be able to read articles, blogs and comments with concentration.

Asynchronous communication

We believe that the critical thing that makes "remote work" a success is "asynchronous communication". You can chat about anything anytime in the office with your co-workers. That's much more challenging to pull off in a remote environment. We can't ask co-workers to jump on a Zoom call for every small thing.

So, how do we get answers to our questions? Asynchronous communication is the answer. Let's say I have a small question about a billing feature I'm working on. It's not a pressing matter. If I get an answer to this question 4 hours late, then it's okay. In that case, I won't ping my co-worker to hop on a Zoom call. I'll make a video recording of my question and post it to my co-worker.

My co-worker will look at the message at his/her convenience and reply accordingly. The co-worker can respond by posting a message or making a video and posting that video for me.

We believe this change in behavior alone will go a long way toward making "remote work" a success.

Minimize interruptions

At BigBinary, we use Slack. Lots of people don't like it, but we like it. However, we use it a bit differently. One of the common problems people run into with Slack is that there are too many notifications.

If someone is using @channel, @everyone or sending DM messages, then these notifications will appear on your laptop and on your mobile. We call these types of notifications iping. Here "i" stands for "interruption". We call them iping because these messages will pop up without regard for your actions. In other words, these messages scream, "I don't care what you are doing; pay attention to this message". In other companies, people get so many ipings that they need to put their notifications on snooze. Not at BigBinary. Here, folks are allowed to use iping but only for genuine cases which require someone's immediate attention.

The bar is high for sending an iping. It also means that if and when someone gets an iping they are more likely to respond to the message immediately.

Maximize uninterrupted time

Being constantly interrupted is terrible for getting high-quality work done. We are not digging ditches here; we can stop the work and resume anytime. When we are doing creative work, setting up the mind in the proper work zone and understanding the context of the problem itself takes quite some time. Whether you are writing code, writing a blog, performing QA or doing UI/UX work, we can do quality work if and only if we have uninterrupted time for a long stretch of time.

For example, one can spend 60 minutes in one of the two ways. No disturbance for 60 minutes. Six interruptions in 60 minutes. If a person is interrupted six times in 60 minutes by asking that person to look at something on Slack, then on average, that person has only 10 minutes of uninterrupted time. That's too little to get any quality work done.

Nothing gets done when we are constantly interrupted. The Worst part is that these interruptions are disguised as work itself. A ping on Slack, an email notification and a ping from GitHub seem like work. However, if not properly managed, these interruptions do not let us do "deep work". To get work done, we need to have a long stretch of uninterrupted time for ourselves.

The most challenging part is that these interruptions come disguised as work itself. To get work done, we need to do all those things. We need to take the Zoom call, answer items on Slack, reply to emails, and, of course, tend to GitHub.

So, how do we reconcile these two needs? A need to have "a long stretch of uninterrupted time," and then there is a need to "answer the questions others are asking". Asynchronous work and long stretches of uninterrupted time strike the right balance. We focus on getting work done, and then, after an hour or so, we need a break. For some, it could be a few hours before they need the break.

When we are out of our "no interruption time zone," that's a good time to check Slack, email etc. The main point is that it is up to us to decide if we want to check Slack or if we want to do work. When someone interrupts us by sending a direct message on Slack, they are taking that right away from me. I had no choice then, which was not good for getting work done.

Flexible Timing

At BigBinary, people are free to work when they are most productive. Some folks start work early in the day, and some start late at night. Some constraints do apply. You can't work at a time, which would make it difficult to have a call with you. We provide 3/4 hours of overlap with our clients, so please consider your flexible timing.

Work-life balance

We believe that life is bigger than work. We work so that we can have a good life. We all are much more than what we bring to work. We are all part of our society, culture and surroundings and want you to be engaged with your community. Work should not be all life-consuming.

BigBinary is not a family

These days, companies are falling over each other to claim they are part of your family. Not at BigBinary. We are very clear about who we are. If we work together, then we are colleagues. Some of your colleagues will participate in your family function, and some won’t. And that’s OK. BigBinary is not a family. We are supporters of the family.

No micro-management

At BigBinary, we don’t have any managers. Here, no one’s job is just to manage people. We don’t believe in that. We believe that upon being given a responsibility, most folks rise to the challenge and do the right thing.

No monitoring software

BigBinary doesn't use any monitoring software, and we don't work with any client that forces us to use monitoring software.

Handling conflicts

When we work in a team, then conflicts are bound to happen. In a way, conflicts are desirable. If there is no conflict ever and everyone agrees with everyone on everything then that means people are not being sincere and not forthcoming with their ideas.

We don't need to optimize to avoid conflict. The key here is to ensure that the conflict related to work, design, and engineering does not cross over and become a personal conflict. Don't do a personal attack on the other person just because that person pointed out design flaws. We need to handle conflicts professionally and never let them cause any disharmony at a personal level.

The goal should be that at the end of the meeting, even if you disagree with someone, you are impressed by how cogently, thoughtfully and respectfully the other party presented their point of view.