Peek behind the curtain as we build the financial engine of tomorrow.
Our recent launch of Digits Search represented the culmination of over 30 human-years of software engineering work, from a team with hundreds of years of combined experience. All to make a financial search box… work.
Of course, there’s a lot going on under the covers.
From stateless request authentication to streaming data processing pipelines to search index generation and efficient view serving, the Digits engineering team continues to push the bounds on how modern, secure, highly-scalable, and highly-available SaaS products are built, tested, and (continuously) deployed.
Today, we’re excited to launch Building Digits, an engineering blog dedicated to sharing the details behind what we’ve built, how it works, and the tips and techniques we’ve learned along the way.
Deep Learning, live, in production
And to kick things off, what better topic than machine learning? While seemingly every startup pitch now mentions AI and ML, the harsh truth today remains that very few companies run deep-learning models live, in production, and that efficiently training, deploying, and tuning these models is still quite challenging.
At Digits, we’re firm believers in the benefits of continuous deployment across our entire stack, and we’ve invested heavily in ML infrastructure to address those challenges and support these workflows.
For a peek under the covers of how we process and classify financial transactions, and an introduction to how we train and deploy transformer models to production, check out Training and Deploying State of the Art Transformer Models at Digits.
A novel playground for innovators
Digits stands at the unique intersection of big data, continuous development, and consumer-grade design—focused by our team’s shared obsession to modernize business finance.
From designing Ferraris, to building the origins of Twitter Mobile, to authoring Building Machine Learning Pipelines, our team brings a diverse array of backgrounds and unique skillsets to tackle the most impactful problems in this space.
If you have a passion for hard problems, deep technology, and human-centered design, we would love your help shaping the future of business finance.
Come build with us 🙂 We’re hiring!
Back in early March, before the full extent of this pandemic set in, I kicked off our introduction to remote work at Digits as follows:
To be sure, working remotely is not for every business, and not for every individual.
Little did I know how soon so many businesses and individuals would be forced to make do, and how quickly fully-remote work would become mainstream.
It’s been an abrupt transition… and for many, it hasn’t been easy.
Over the course of the year, I’ve heard from countless startup founders, small business owners, and team leads looking for more advice on how to build effective, collaborative, productive, and happy fully-distributed teams. The last, of course, being the most challenging.
For those of you that have held-off implementing major process and collaboration changes to optimize for remote work, the time to reconsider is now.
While there may soon be light at the end of this tunnel — thanks to the incredible vaccine development efforts by scientists and researchers worldwide — I foresee no quick reversion to “normal”. Remote work is here to stay, and every industry that can do so will embrace it.
Success in 2021 and beyond will be defined by those who adapt to remote work most effectively.
Here’s what we’ve learned at Digits.
If you’d rather listen than read, Stanford University has published a full interview covering our approach to remote work, as well as a short 7-minute summary as part of their free Entrepreneurial Thought Leaders podcast.
What We’ve Learned, Remotely
Digits went fully-remote the day we started the company in 2018, with my co-founder Wayne in Los Angeles and I in San Francisco. We knew it would be a fools-errand to try to build the company we envisioned in just one city (there’s simply too much great talent everywhere) and we both shared distinct, negative prior experiences managing multiple remote offices: the “second-class citizen” effect felt by those not frequently present at HQ is hard to overcome.
So (and despite distinct skepticism from a few of our investors — don’t worry, we appreciated the push-back!), Wayne and I made the decision to embrace remote work wholesale: Digits would never own a physical, shared office, and we would design our approaches and processes from the ground-up to champion distributed work.
After seeing so many different attempts at remote work by so many companies over the course of this year, and after reflecting on the most effective aspects of our own culture at Digits, it’s become more clear to us than ever what’s really important.
There are now thousands of online articles pitching countless techniques for improving the remote work lifestyle — it’s overwhelming.
As founders, here are the practices we believe have had the most positive impact at Digits, and the ones that we would recommend you try out with your teams today, even if you’ve previously preferred an in-person work experience.
For many, remote work is black and white: you’re either in the office together, or you aren’t. But degrees matter. Time zones matter.
In our experience, productivity and happiness go hand-in-hand with collaborating live, so we’ve made a conscious decision at Digits to agree to all work roughly the same hours: in our case, US Central Time. Folks out West tend to fire up their computers a bit earlier than they otherwise would, and those back East tend to stay on a bit later, or check back in after dinner, or once their kids are asleep. There is still a bit of skew on each side, but to have our entire team online together, every day, simultaneously, for the core hours of US Central Time is magical.
Sure, there are downsides. There are incredible folks (and former colleagues from prior companies!) in EMEA and APAC that we would adore the opportunity to work with, but we have assembled an incredible team that can collaborate live across North, Central, and South America synchronously. The pros outweigh the cons dramatically, and we communicate this upfront in our recruiting materials: when you join Digits, you’re free to move wherever you want within continental American timezones.
For those of you who already have colleagues spread around the globe, our advice would be to strive for team synchronicity. Here’s how.
The Buddy System: Scaling Synchronicity by Shrinking Teams
The traditional “two-pizza” team of 8–10 folks gathered around a conference table may work well in person, but we’ve come to realize it’s unwieldy on Zoom.
Even on fast Internet connections, latency often makes it awkward to get a word in edgewise in group settings, and inevitable background noise from pets, children, construction, or everyday city life motivates a default-to-mute culture, which adds another layer of friction to highly-participatory group dialogue.
That’s ok — we’ve never found large group meetings to be productive to begin with 😉
At Digits, we consciously break teams down into their smallest possible units: every project is tackled by tiny teams of 2–4 people, and in practice we found that 4-person teams often self-divide pairwise to get work done more effectively. We call this the Buddy System.
Working on something by yourself is lonely.
Working on it by yourself, in your home, with nobody else around, is just sad.
Working on it with a buddy is awesome.
In practice, substantially everything we do at Digits is tackled collaboratively by 2–3 people. They work together, synchronously, throughout the day, and decide when they want to pair on Zoom, Tuple, or Slack Audio, and when they want to go heads-down and sync back up in an hour or two. But they always know who they can count on to brainstorm with, or get feedback from, or have review their work, and they know they won’t have to wait around for it because that person isn’t elsewhere working on something else.
Yes, this means we take on fewer projects simultaneously than we otherwise might, but in exchange, each work-stream gets completed far faster, at a far higher quality level, and the work day is far more enjoyable.
We default to coordinating work between teams asynchronously: via shared Google Docs and Trello, in order to minimize meetings and maximize flow. Input is welcomed, and actively sought from broad groups across the company, but that doesn’t take a meeting to accomplish. Let people chime in on a doc when they have time, and then grab time with them and their buddy directly if it deserves a live conversation. After all, they’re unlikely to be in another meeting…
The Maker Schedule, Writ Large
One of the most challenging aspects of almost any large organization is the meetings. An endless parade of prescheduled time-blocks, which require abrupt context switching and leave little time for thought, creativity, or even a snack. How easy it is to end the day exhausted, yet with the gnawing feeling that you didn’t actually accomplish anything of note?
For those with the maker mindset — with roles that require creativity and execution — this sparks terror. There is no better way to ruin the productivity of your design and engineering teams than a few poorly placed meetings. Losing half a day or more due to a couple preset commitments is not an exaggeration. At large companies, it’s a way of life.
At Digits, we discovered something we hadn’t realized: scarce resources are largely to blame.
Conference rooms are evil.
At a traditional company (all of Silicon Valley included), I need a place to hold a meeting. It would be rude to stand around and make noise somewhere public, where others are trying to work, so I book a conference room. Genius.
Except, conference rooms are in high demand, so I must reserve one in advance, and my meeting must conform to the room’s list of available slots. Without thinking about it, my meeting must now be 30 minutes or an hour long, and the time it will happen is now fixed on the calendar and broadcast in advance.
This is a nightmare.
It turns out that the maker schedule is not all that disrupted by the meeting itself… but rather by the presage of said meeting.
There is nothing more distracting than seeing a hard-stop on your calendar in 90 minutes. Do I have enough time to build out this feature before then? Can I really sink my teeth into this design problem in less than two hours? Should I just spend this time replying to email, or triaging bug reports, or grabbing coffee?
Don’t worry, I’ll dive into my real work after that meeting. (I tell myself)
Oh no. I also have a 2pm!?
At Digits, we have full-company, all-hands meetings 3 times a week, spaced every 48 hours:
- Monday morning Kick-off (30 mins)
- Wednesday morning Check-ins (30 minutes)
- Friday afternoon Show & Tell (75 minutes)
They are scheduled to fall at the beginning or end of the day, to minimize disruption.
More importantly, we aim to schedule no other internal meetings.
Sure, interviews need to be booked, and customer and partnership calls need to happen, but it’s easy to distribute interviews across the team (and monitor how frequently any given engineer is pulled into an interview) and external-facing roles tend to be less maker-schedule driven.
This does not mean people don’t talk! Instead, we highly prioritize an ad hoc, interrupt-driven culture. Remember, the meeting itself is far less painful than the upcoming hard-stop on the calendar. And with no conference rooms to book, there’s no need to schedule anything in advance, so we don’t bother.
Much to our initial surprise, this has lead to a bit of a utopia: our typical “meeting” is 5–7 minutes long, includes less than 6 people, and happens with just a couple minutes of notice. Everyone is typically available because they’re all working US Central Time, and they aren’t tied up with any other pre-scheduled commitments, so why not join? And in just 7 minutes, they’re right back to being productive, because the meeting wasn’t long enough to “page out” or forget what they were doing and shift them out of flow.
This sounds too good to be true. It isn’t. It’s reality.
Remote Work At Digits
Taken together, our days and weeks at Digits look like the following:
- High-bandwidth all-hands, every other day, so we all know what everyone else is working on and how it’s all progressing. The complete, cross-functional visibility these provide builds confidence that the whole company is rowing in the same direction, and immediately surfaces any duplicate or conflicting efforts.
- Empty calendars, devoid of pre-scheduled internal meetings, so everyone can stay in flow and focus on getting work done.
- Tight-knit, synchronous collaboration with a buddy, day-in and day-out, so you’re never alone during the day, and you always have someone you count on to brainstorm with and get feedback from.
- Asynchronous, cross-team collaboration via shared Google Docs and Trello cards. Input and feedback is actively sought, but never blocked on, and each team is empowered to deliver their work end-to-end.
- Ad hoc check-ins throughout the day, as needed. With no notice or preparation that takes you out of flow, it’s trivial to pause for 5 minutes and share an update, or get input from another team and then go right back to being productive with your buddy.
Spreading the Word
A few months ago, it was an honor to be invited by Stanford to share Digits’ approach to remote work as part of the university’s Entrepreneurial Thought Leaders lecture series, and they have published the full talk here.
With 2020 coming to a close, Stanford eCorner just recently published a recap of their key entrepreneurial takeaways from this year, and I was floored to be featured again. Thank you Tina 🙂
Enjoy our new mini-series w/ short podcasts highlighting insights from our summer ETL series. The first one showcases @jeffseibert of Digits on how to make remote work work – 2020 Insight: Innovating at a Distance https://t.co/LyTPUnTk8d @ECorner— Tina Seelig (@tseelig) December 3, 2020
Join us at Digits
We’ve been heads-down for the past two years, building out our full vision for Digits, and we can’t wait to share it with the world in 2021.
If you’re excited to join a passionate, fun-loving, fully-remote team that’s obsessed with building delightful business finance software, we’d love to get to know you! See our open positions here.