How we work

At BigBinary, we work a bit differently, placing a strong emphasis on uninterrupted focus, asynchronous collaboration and deep reading. Here, we've written what has worked for us for over 12 years.

Remote first

Since its inception in 2011, BigBinary has operated as a 100% remote-first company. Working fully remotely brings challenges, and it's not for everyone. Initially, we faced our fair share of hurdles, but over time, we've developed tools and routines that make remote work manageable and a part of our DNA.

Writing

At BigBinary, we care a lot about how we write. This is because in an engineering company like BigBinary, we typically write once, and many people read it. Hence, it's essential that whatever is written is clear and concise.

Whatever is written should also be grammatically correct English sentences all the time. Even in our internal chat, BigBinary folks cannot 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 people consume mostly videos, people are getting worse at reading long articles. We want BigBinary folks 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. Here is an example of an article that is long, and you should be able to read it.

Sense of urgency

It's a known human trait that when we work with a sense of urgency, we not only get more done but also get more satisfaction from the work that is done.

Working with a "sense of urgency" doesn't mean working more hours. It means getting more done in those hours. It means working with deep concentration because there is an urgency to get things done.

Asynchronous communication

In an office environment, you can have an in-person chat with your team members anytime. This strategy doesn't work in a remote environment. We can't ask co-workers to jump on a Zoom call for every small thing. It would be exhausting, and the logistics would take up a lot of time.

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. This is not a pressing matter at the moment. If I get an answer to this question 4 hours late, then it's ok. 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 using NeetoRecord for my team members.

My team members will look at the message at their convenience and will reply accordingly. My team members 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.

Maximizing uninterrupted time

Being constantly interrupted is terrible for getting high-quality work done. We cannot stop the work and resume work anytime we want. 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.

There are many ways to spend time. 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 because of the pings from Whatsapp, Slack, imessages, email notifications, GitHub notifications then on an 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, these interruptions do not let us do "focused work". To get work done, we need to have a long stretch of uninterrupted time for ourselves.

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 this choice is taken away then that's an interruption. I didn't want to be interrupted in the middle of my work but I had no choice in the matter. Those types of interruptions are really bad for work and those types of interruptions should be minimized.

Handling Slack interruptions

At BigBinary, we use Slack. 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, these notifications will appear on your laptop and mobile. We call these types of notifications iping. Here, "i" stands for "interruption".

We call them iping because these messages will appear without regard for your actions. In other words, these messages scream, "I don't care what you are doing; pay attention to this message". Typically, people get so many ipings that they need to put their notifications on snooze.

Here, part of the problem is how Slack has designed communication. When I receive an email, whether I want to get interrupted or not is under my control. Slack takes this control away. If anyone sends a message to me in Slack, then by default it's a DM, and that's an interruption. That's the biggest flaw of Slack.

We overcame this issue by altogether banning DM. For each person, we communicate, we create private channels. In those channels, we can post messages and the other person can read the message as and when they get time. This is how we overcame the interruption issue in Slack.

Flexible Timing

We embrace flexible timing, allowing BigBinary folks to work when they're most productive. Some may start early, others late. While we keep a few hours of overlap with clients, we want you to work at your best time and pace.

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

BigBinary doesn't do micro-management. We trust our team to take ownership and rise to the occasion. No one's sole job is to manage others—we believe in empowering people, not hovering over them.

No monitoring software

We don't use monitoring software, and we don't work with clients who require it. We trust our team to manage their work independently, reflecting our belief in autonomy and mutual respect.

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.

Raising the bar

BigBinary has many engineers, and the average of those engineers is called the "bar". Every new person joining BigBinary should raise the bar. That's possible only if we keep hiring folks who are better than the average.

This is why most people are rejected at BigBinary. We don't want to compromise on our standards, and we will only hire those folks who raise the bar.

No referral bonus

Many companies offer referral bonuses to incentivize their employees to refer others to work at the company. At BigBinary, we do not have any referral bonuses. Let's look at some of the issues with this scheme to understand why we do not follow this practice.

Let's say the new person leaves one week after joining the company. Should the person who was referred still get the "referral bonus"? Probably not. So now, HR will create a new rule stating that a new employee must work for at least six months for the person who referred to get a "referral bonus."

The next issue is that someone needs to decide the referral amount. It's a challenging task. The amount might motivate a person earning less but might not be suitable for senior engineers earning more.

We at BigBinary want to avoid these kinds of issues. We want to keep "HR work" to a minimum and follow a simple strategy.

If you think you will enjoy working with a person or if that person will enjoy working at BigBinary, then you should refer that person without worrying about whether there will be any monetary compensation.