It all started for Hasura in 2012 when the original team behind the service was developing applications and websites for several of their clients. But engineers weren’t happy with the development process: it took unnecessary long. As Shahidh K. Muhammed, a senior engineer at Hasura states:
“At that time the web development ecosystem was scattered; There were no clear guidelines.”
After releasing a couple of services, the team came up with a platform of their own that would help build apps and websites more efficiently, reducing the development time from months to weeks. Eventually, the team concentrated on the product, and that’s how Hasura was born.
In 2018 Hasura GraphQL Engine was open-sourced, and since then the product has attracted tens of thousands of developers that used it to speed up their development process. By instantly composing a GraphQL API that is backed up by databases and services, Hasura makes accessing data easier, whereas developer teams get immediately more productive.
Now with thousands of satisfied teams and Fortune 500 corporations using the service, Hasura is growing by leaps and bounds, hiring engineers from all over the world to make their product even greater.
But the road to success wasn’t always sunshine and rainbows, and a rapidly growing team had their own share of struggles. Fortunately, with the right management and effective tools, they were learning fast while making necessary adjustments to the way they work.
We sat down with Shahidh K Muhammed, a senior engineer at Hasura, to talk about the challenges of a quickly growing global team and how Geekbot helped to address them.
“The way we communicate our updates has been taken care of. There used to be a mental overload with meetings early on, when we didn’t do asynchronous standups with Geekbot.”
Shahidh K. Muhammed
SeniorEngineer at Hasura
Challenges of Growing Remote Team
There weren’t that many problems when the company was small and local. It was easy to organize engineers.
The team followed an Agile development process, conducting daily five-minute stand ups to communicate their current progress and roadblocks with each other. “Everyone just says ‘Hi’ and ‘This is what I did’, and ‘This is what I’m blocked on’, and so on,” explains Shahidh.
It worked like a charm with a small team where everyone was in the same office. Yet, the opposite happened as soon as the team started to expand and hire engineers from other countries.
At first, Hasura managers tried to include a few remote employees in their daily office standups. “We had people in the office, a couple of people on the screen,” adds Shahidh. “But doing this every day was becoming very hard because of the time differences.” Hasura team geography was starting to become pretty impressive at that point. “We have a lot of colleagues from US, Central Europe, Australia, and South-East Asia,” he says, “For a lot of us the standup will happen in the morning, and for some in the evening.”
At some point, the Hasura team realized: bringing new people and following the old process would result in the managerial chaos. They needed to find a new solution to keep their team on the same page. “We had to figure out the way to make these standups asynchronous,” adds Shahidh.
It was crucial that the new solution had to smoothly integrate with all the other tools they were familiar with. “We started using Slack pretty early. The communication and collaboration happen on Slack, Zoom, and email,” says Shahidh, “That’s when we found out about Geekbot.”
“At first we set it up for the engineering team,” explains Shahidh. Geekbot would send engineers directly in Slack three simple questions every day:
There was no longer this struggle of bringing people from several time zones into a single meeting. “Every day around 10 am Geekbot asked them what they were up to, and then it would send all their updates to the shared channel”.
The solution worked out great for two reasons:
- Engineers could send their updates asynchronously. No longer did the team waste hours on finding the right time that fits everyone from four different continents.
- Engineers were no longer distracted. The whole process would take them two minutes instead of half an hour when they were waiting for everyone to share their updates.
“There used to be a mental overload early on, when we didn’t do these asynchronous standups,” Shahidh adds.
In fact, Geekbot worked so well that Hasura set it up for their other teams as well. “Now even marketing run their own standups, even though their team doesn’t consist of many members”, shares Shahidh, “We have three engineering teams now, and each one of them runs their own Geekbot standup.”
“The way we communicate our updates has been taken care of”
But the benefits didn’t end there. Even though initially Geekbot was a solution for the distributed team that was struggling with different time zones, it ended up bringing a few other key advantages.
How Geekbot Helped Make Planning Easy
Having lots of talent on the team is an advantage only when you can effectively manage your people. “There are around 60 people currently working for Hasura”, says Shahidh, “By the end of the next quarter we plan to grow even more.”
So far Hasura has been doing a great job at organizing their workforce into smaller teams with very specific zones of responsibility.
“We have three engineering teams in the company,” explains Shahidh, “One team works on our main server, the other with our console, or front end admin dashboard UI. The third team develops our enterprise product.”
Geekbot helps managers in these teams to effectively allocate resources and sort out any roadblock that engineers might have. Shahidh manages a team of five people at Hasura: “I start by looking at Geekbot notes every day. It gives me a very good idea on where the team is right now.”
“It became habitual for me to look at Geekbot standup notes. I can quickly decide what we’re going to do next. Ok, this person is blocked; I need to take action.”
Shahidh K. Muhammed
SeniorEngineer at Hasura
Managers at Hasura no longer need to request their team for status updates or frantically take notes during standups meetings. If they need to allocate resources based on time constraints or goals at hand, they simply look at their Geekbot notes. “The planning and tracking became very easy”, Shahidh adds, “Information has already come to me.”
This structure allows managers to effortlessly report the progress overview to the CEO and founders. At the same time Hasura product leads can look at reports from all the teams and quickly come up with a roadmap of issues that teams need to work on next.
Note: Geekbot keeps an organized historical record of all status updates. Thus, team leaders can roll back, skim through the reports, and eventually take more effective decisions.
A Welcomed Side Benefit: Team Transparency
Curiously, there was yet another benefit that the Hasura team later revealed after using Geekbot for some time. Here’s a story that Shahidh shares: “One time we were working on a feature that required input from two different people. And one of these people just recently joined the company.”
Usually, it takes time to get used to the new team, and people can be uncomfortable asking for help, or offering it in the unfamiliar environment. But something different happened there. “These two engineers shared their updates using Geekbot. And one of them left a note that the feature he worked on might need some changes.”, Shakhid continues, “So the other person saw that and jumped in to help.”
Geekbot reduced the barrier between newly hired engineers and the unfamiliar environment. It’s far easier to write notes and propose ideas using Geekbot than talking about them in front of a dozen strangers.
“The questions are simple and pretty straightforward, so people don’t find it that difficult answering them” shares Shahidh, “Collaboration starts from Geekbot notes now.”
Hasura’s mission was always simple and straightforward. “Our mission is to make data access fast, secure and scalable,” says Shahidh
At Geekbot we are very pleased to take our small part and help the Hasura team to stay organized and productive no matter how large or distributed their team grows. And by the looks of it, Hasura is not going to stop making the web more accessible and secure anytime soon.
Frequently asked questions
What is GraphQL used for?
GraphQL is used for building and querying APIs, or, in other words, for loading data from a server to a client. GraphQL allows you to easily evolve your APIs over time without being attached to any specific database or storage engine.
What exactly is GraphQL?
GraphQL is an API query language, or a syntax, for writing queries that load data from a server to a client. It describes the data in your API and gives clients the ability to ask for any data they need.
Does GraphQL replace SQL?
Even though GraphQL capabilities are far richer than that of SQL REST, GraphQL is not an abstraction of SQL and is not designed as its replacement. Whereas SQL is not usually exposed directly, GraphQL is very much so, which means replacing one with another may yield security risks in certain contexts.