Managing distributed teams and ensuring ongoing communication between them is hard. This is especially so at Datica since we have a very distributed team and two very distinct product offerings. The choice of allowing the development teams to be distributed was something that we thought about hard but felt that the challenges were well worth it because of the caliber of people that we could attract. However, communication and sharing was something that we felt we had to foster and encourage. Especially because we dogfood everything that we sell.
We use our own platform to build mobile apps and will be open sourcing a few of them shortly. We are in the process of moving our BaaS onto version 2.0 of our Platform as a Service (PaaS). The PaaS v2.0 is something we’re excited about as we’re using Docker across the board and have figured out how to solve challenges around multi-container, multi-host linking and are progressing quickly down the path of toward a zero-trust cloud. But that’s a topic for another post. Overlaying the BaaS and the PaaS are the security principles and policies that govern our HIPAA compliance (and HITRUST).
One of the first things we had to figure out were the tools that we would be asking our guys to use. I’m not talking about development workflow tools but rather for communication and sharing.
We tried GChat initially, quickly outgrew that, switched to HipChat for a while but recently moved to Slack and couldn’t be happier. The almost religious use of this tool (voluntary, not enforced) has also had the added benefit that our internal email traffic has dropped to almost zero. We also use Slack integrations to connect up to GitHub, Zendesk etc.
For video communications, we use Google Hangouts exclusively. Hangouts does have some issues but has overall worked really well for us. We very quickly tried and dismissed Skype because it is very person-to-person centric and not team based. Hangouts allowed us to have some assurance that non Datica personnel could not join these calls unless explicitly allowed.
iDoneThis is a great tool for sharing summary information about what each of us got done during that day. Since it is email based, it’s very easy to use. It is a great solution to providing us, as founders, visibility into all the threads and activities into the company and also provides us with a quick way to communicate sales and marketing progress. However, although we, as the founders are consistent with its use, overall usage of iDoneThis has been dropping ever since we implemented Slack and we’re wondering whether we should further encourage the use of this tool or look at leveraging Slack somehow to provide similar transparency. Any suggestions / alternatives, please let us know in the comments below!
Sharing and Learning
As I mentioned earlier, the team is working on a lot of different things - healthcare data models, mobile SDKs, docker, OSSEC etc. and in different (but very small set) programming languages - python, java and go. So there is a lot for us to share and learn from each other.
We, of course, have our daily scrums but that was obviously not a sharing and learning forum. We tried weekly brown bags but realized based on feedback, that it was taking quite a bit of time away from the team. Turned out that although we had insisted that the demos were completely informal, our developers had pride in what they had accomplished and wanted to put the best face possible on it. So they would take the extra time to make it “pretty” - although there’s only so much you can do to make a console pretty.
We have a company wide “all hands” once a month, where we all get together and share everything - income, expenses, prospects, successes, failures. This turned out to be the best possible forum. It’s spaced far apart enough that more folks have more to share, they have time to prepare - although sometimes, we do have last minute volunteers. This has worked out really well for us and we intend to continue this.
Distributed teams are great but nothing beats face to face interactions. That is how friendships are built. We have board meetings every quarter and it is our intention to get the team together at that time as much as possible. This could become expensive but since we spend the majority of the day with each other, building these relationships is critical to our success. Datica is nothing without its people - we’d rather spend the money on this rather than some random set of perks.
Defining culture for a company is impossible. It needs to evolve and just be part of everyday life. The problems that we have set out to solve are big but worthwhile, meaningful problems (healthcare, privacy, security) and these principles - transparency, sharing and learning - are a few of things that we’ve put into place to make Datica into a place that we all love working at because as Jobs said, “Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do.”.