📱

Deep Dive: Our Engineering Team

We Make Work Matter

We never run out of opportunities for impact. Clipboard Health is growing fast, exploring new verticals, and constantly improving our core product. Our only real bottleneck is talent, and we make sure that none of their efforts are wasted.

That has led us to build a “toeless” culture where there are no feet to step on - people can ask for and get help whenever they need it. They can fix problems they see without red tape getting in the way of the job they know they can do.

Our Engineering Leadership

image

Our Engineering Team is led by Sonesh Surana. A Kuwait native, Sonesh holds a Ph.D. in computer science from UC Berkeley, is a previous startup founder, and grew Optimizely’s engineering team from 3 to 100+ members while rebuilding processes to keep up with the rapid changes of a scaling, growing company.

Engineering Team Values

Integrity

We do the hard work of making well-reasoned decisions beyond self-interest and own the consequences despite the temptations of taking the easy way out or the difficulties of not having enough information.

Fairness

As much as is practically possible, we consider multiple perspectives before making a judgment or decision.

Transparency

In addition to providing context openly for our actions, we have the courage to respectfully discuss challenging situations. No topic is taboo when figuring out how to solve problems and move forward together.

Kindness

We strive to create a safe space to listen deeply and to show empathy while coaching team members through difficult moments, asking that they in turn demonstrate an internal commitment to their own growth.

Reliability

We follow through on what we say. If things change, we communicate that proactively along with a plan to handle the change. Our team is comfortable with failure and the resulting learnings and growth from it but does not tolerate a lack of effort or follow-through.

Firmness

While leaning on fairness and kindness, we press for higher integrity, transparency, and reliability in ourselves and in our our team. In support of this, we communicate clearly, quickly, and decisively when we perceive that the team is falling short of these values.

Engineering Team Characteristics

Compared to other engineering teams, our team places a particular emphasis on maintaining a speed that can scale with a rapidly growing company. We approach this in the following ways:

Engineering Velocity

To maintain our competitive advantage in growing markets, despite the challenges of doing so during rapid growth. We do this by scrutinizing code organization and typical PR sizes. We pay attention to “time to first code” reviews and assess our ability to use feature flags for controlled experimentation and rollouts. We design loosely coupled systems with lessened inter-team coordination requirements, leverage automated tools to manage key development processes and make well-considered buy-vs-build decisions in non-core-business areas.

Organizational Design

Our organizational design is centered around building self-managed, self-sufficient teams that can and do operate autonomously. We constantly reassess our team structure, team execution, and team self-organization to improve workflows and reduce dependencies between teams.

We balance and re-balance individual goals, team goals, role definitions/responsibilities, and key metrics to create an environment that purposefully avoids “organizational debt accrual” while also making sure to maintain team cohesion, camaraderie, and focus.

A Fully Remote, Global Team

We’ve been fully remote since the founding of the company. Every tool we use and every part of how we work is optimized for remote work - to make people more productive and to facilitate communication between team members, no matter where they are.

This lets us cast a wide net for talent. Clipboard Health is a global team comprised of the best, most talented people the world has to offer. For a team member working here, that means working on teams built based on talent, initiative, and a drive to take advantage of a high-impact, high-opportunity environment.

Today our team is 80+ members signing in from all over the world - from the US, Africa, India, Canada and Latin America.

The Code We Want at CBH Engineering

Ideal code:

  • Does what it should (functional)
  • Follows a consistent style (readable)
  • Is easy to understand (modular)
  • Has been well-documented (self-descriptive)
  • Can be tested (testable)

At CBH, our goal is to:

  • Find the shortest path to value
  • Communicate our work and progress to stakeholders regularly
  • Ship working code frequently

Any new project, starting from zero, should have 3 stages:

  • Proof of Concept (PoC) - Make a minimum viable snippet, module or package that is stable and shows that the objective is achievable with the tools you chose
  • Elaborate - Expand the PoC to be more flexible (configurable), powerful (additional tools) or more efficient (infrastructure and optimization) per the needs of the end-user
  • Refactor as needed (rinse and repeat)
  • At each of the 3 stages, there should almost always be a stable branch that can be used by stakeholders while we develop the next stage

Our Tech Stack

Backend & Frontend

TypeScript

Prettier

ESLint

Frontend

Next.js

Tailwind UI

Tailwind CSS○

Cypress.io for frontend e2e testing

Backend

Express.js

Jest unit testing

Redis for caching

Elasticsearch usage is planned for frontend DB queries, log storage

Kafka usage is planned for real-time queues/topics

AWS Lambda functions will also be used

Permissions

Built in-house for now. Simple user-level scope/role/task-based permissions

Identity

Firebase

Database

PostgreSQL

Prisma.io for ORM, schema versioning and migrations

DevOps

Jenkins

Grafana

Prometheus

AWS

Docker

Test automation

Selenium 4 (for Browser automation)

Appium (for Mobile automation)

RestAssured (for Rest API automation)

Java (as the common language of choice for all above automation frameworks)

GitHub Actions (for Continuous Integration)

Docker (for test framework dockerization)

DataDog (for Test run monitoring)

Opportunities In Our Engineering Team

Engineering Manager

Our engineering managers are the best IC engineers on the team even if coding isn’t part of their day-to-day. They lead one or more teams at seed-stage speed, making architectural decisions, mentoring, and driving their team to create robust and reliable software.

Typically requires a minimum of 8 years of related experience with a Bachelor’s degree; or 6 years and a Master’s degree; or a Ph.D. with 3 years experience; or equivalent experience.

Extra credit if your stack includes: Next.js (Express.js/React), Tailwind UI, Flutter, PostgreSQL, MongoDB, Docker

Backend Software Engineer

Our backend software engineers work on scalable/high-performance code in complex technical areas along the way.

We want to hire Engineers from all backgrounds who work with any programming language while here you’ll work with Next.js (Express.js/React), Tailwind UI, Flutter, PostgreSQL, MongoDB, and Docker.

If you are interested, you can contact our recruiters about participating in the interview process, and you can learn more about it here.

Stack Improvement Projects

Our speed requires that we constantly reassess the tools we need to maintain efficiency and flexibility. To give you a better idea of how we make those decisions and the kind of thinking that goes into the process, read on below sampling of articles explaining how and why we made the decisions to go with a few of those tools.

We don’t write up articles for outside consumption for every choice we make, but every tool we use has at least this level of consideration behind it.

Selenide vs Selenium For Test Automation

Functional Programming, Test Automation and MongoDB

Assessing Flutter For Cross-Platform Development

Team Member Profiles

Creating Value Profile: Ron Carroll, Engineering Manager

Ron shares his views on the de-risked opportunity at CBH, giving power back to users, and balancing work and life