Field Notes from Carbon Five

A blog to help you navigate the world of product management, engineering, and design.

Rit Li

Rit Li

Running Multiple Versions of Postgres with Docker Compose for Local Development

Say we have Project X and Project Y that require Postgres 9 and Postgres 10 respectively. These projects aren’t using Docker to manage their Postgres dependency so it is up to each developer to manage this themselves. How do we get different versions of Postgres running simultaneously on our workstation without making any modifications to

Jon Rogers

Jon Rogers

Why Write Good Pull Requests?

Writing a good, clean pull request description gives us developers a chance to use words (not code) to explain why we are making the change, describe the problem this code is solving, and provide context around why we chose a particular implementation.

Brandy Davis-Balsamo

Brandy Davis-Balsamo

Don’t Drop the Ball on the Demo

Every once in a while an embarrassing product demo gets captured in the media and we all hold our collective breath as the latest source of escalated hype plummets back down to the ground. A version of this happened a few weeks ago when Tesla attempted to show off the “armor glass” on its new

Lo Wheelwright

Lo Wheelwright

Ground Control to Major Tom: How to Excel in Remote Research

At Carbon Five, we believe that to make a successful product – you need to talk to your users often. What, when and how, always looks different as each project has unique circumstances, assumptions, and goals.

Will Ockelmann-Wagner

Will Ockelmann-Wagner

The Best of Both Worlds: HTML Apps & Svelte

At Carbon Five we try to be agile about our technology choices and pick the simplest tool for the job at hand. That means that even in 2019, the era of React and Redux and GraphQL and all the other fancy tools for client-side web applications, sometimes the best tool for our clients is a

Linden Melvin

Linden Melvin

Replacing Component Lifecycle Methods with React Hooks

When writing React components, we sometimes need access to lifecycle events to handle a variety of side effects: fetching data on mount, sanitizing props when the component updates, cleaning up before the component unmounts, etc.

Zoe Madden-Wood

Zoe Madden-Wood

Changes Requested: The Advantages and Pitfalls of Blocking a Pull Request

Each team has their own tolerance for what is and is not a reason to request changes on a PR and block it from being merged. This may be rooted in process, fairness, and expediency, and may be a company or team decision. Whatever your personal philosophy may be, the team as a whole and

Jen Skene

Jen Skene

How to Make Your Daily Stand-up Outstanding

Where else can you learn what your coworkers are doing, get your work unblocked, and get energized, all in 10 action-packed minutes?

Treyce Meredith

Treyce Meredith

Map vs. Path: What’s the Difference?

It’s a simple idea that can help your digital product take shape; when a user enters your system, do you hand them a map or a path? What’s the difference? Great question, and in this case, the metaphor is pretty literal.

Will Ockelmann-Wagner

Will Ockelmann-Wagner

Optimizing Performance in React 16.8

React Dev Tools comes with a profiler that can help pin down performance problems, and React 16.8 came with some features to make it easier to improve performance of functional components. But to use these tools effectively you need to know what the problem is and how to find the culprit.