Back in August, my colleague Sam published a blog post about how we use data-driven analytics to make important product decisions. These situations happen every day at Zocdoc — whether we’re A/B testing the success of a new user experience or evaluating the success of our new Zocdoc Video Service telehealth platform. We depend on accurate and up-to-date views into every dimension of the business.

It’s not enough just to have lots of trustworthy data, however. We also need a robust technical infrastructure to keep that data fresh and available. At Zocdoc, that’s the job of the Data Engineering team.


As I logged on and got comfortable in my seat to attend this year’s virtual edition of the Grace Hopper Conference (vGHC), messages of skepticism and curiosity flooded the #ghc Slack channel we created for Zocdoc attendees to come together during the event.

If you’re not already familiar with the Grace Hopper conference, check out my colleague Alegría’s post here. I, along with many others, expressed disappointment that we couldn’t journey as a group to Orlando (or another warmer destination); my bedroom-turned-office doesn’t quite elicit the same excitement as a stadium full of fellow female technologists.

I wondered: would I…


In part 1, we described the problems we set out to solve with a lerna monorepo; you can read that here. Part 2 describes how we created an actual monorepo and migrated an existing codebase into it and the lessons we learned.

Spoiler: we like it, but it required some work to get to that point.

The Pilot Project

The tool most commonly used in the Javascript ecosystem to manage monorepos is Lerna, which is what we ultimately decided to move forward with.

We were a little hesitant to commit to a full-out migration without a trial period, so we decided on a…


About a year ago, we stood in front of the Zocdoc engineering team and declared that we were going to migrate our shared Front-End web components into a monorepo, at which point our colleagues promptly freaked out.

Some quick context:

  1. A few years prior, Zocdoc made a concerted effort to move from a legacy monolith application to a microservices architecture.
  2. Monorepo and monolith both start with the prefix “mono”.
  3. We software developers are great at freaking out.

A monorepo actually has nothing to do with a single monolithic application — it’s simply the ability to organize a single code repository…


Note: Numbers have been modified throughout the document and are for illustrative purposes only

Like many technology companies, Zocdoc relies on data to make informed decisions about product changes. In fact, even the tiniest changes to our website require in-depth analysis before and after launch to understand their holistic impact on our users. Here’s a recent example of how Zocdoc used data-driven product analysis to incorporate a sticky Book Appointment button on provider profile pages and help more patients book an appointment for the care they sought.

Problem

Patients come to Zocdoc from many different sources. …


The Zocdoc Value Awards, or ZVAs.

10:00 am

It’s December 13th 2019, and I’m standing in a spotlight on the stage of the NYU Skirball Center, an 850-seat performing arts venue in downtown NYC. I deliver my first line:

“For those of you who are new here, this is the Zocdoc Value Awards, or ZVAs.”

My arms are crossed tightly in front of my evening suit because, like Will Ferrell in Talladega Nights, I don’t know what to do with my hands. I am a principal front-end software developer. I’ve never hosted an awards show before, not even a fake one.

“Yep, every year we rent out this…


I will never forget the excitement of attending the Grace Hopper Celebration (GHC), the largest gathering of women in computing, for the first time in 2014. While I wasn’t sure what to expect, I never anticipated the energy and inspiration I felt, nor the influence that GHC would have on me lasting far beyond those incredible days at the conference.

This past October, I had the pleasure of attending GHC once again, this time with a group of my colleagues at Zocdoc. The same emotions rushed back, and I felt very fortunate to be where I am, working on what…


Our mission at Zocdoc is to give power to the patient. One of the most powerful ways we do that is by helping them find the right doctor at the right time. Sounds simple, right? Wrong. Each provider’s available appointments—displayed as a yellow grid of time slots—is constantly fluctuating in real-time, demanding the Availability Team at Zocdoc to make a number of careful engineering decisions.

In the image above, each yellow box is an available appointment slot for a doctor at a given location for a specific medical procedure. …


Writing tests to increase code coverage (test coverage) is generally a good practice. But engineers must also maintain a reasonable velocity of shipping new features. There’s no doubt testing increases application quality and prevents bugs, but we need to make careful trade-offs.

Thus, finding the right balance in this trade-off can be tricky. The famous Test Driven-Development (TDD) process highly values tests, yet oftentimes engineers can’t afford to do so due to external factors like impending deadlines or conflicts among various stakeholders. …


Why is Search important?

Zocdoc recently celebrated its 12th birthday. Over those years, engineers at Zocdoc have developed our product into a feature-rich application to provide better experiences for both patients and providers.

In the process of developing our platform, we have implemented a wealth of features such as insurance card capture using deep learning and used data science to shorten patient wait times. We have also re-architected our services to scale along with our growing number of users, and as a result, transitioned our monolithic application to various microservices.

There is another feature that has changed substantially over this time period that we…

Zocdoc Engineering

The Zocdoc Technology Team

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store