Field Notes from Carbon Five

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

Shannon Wells

Shannon Wells

Reflections in Go, for Cats

Several months ago, I had a story requiring metaprogramming in golang. I wasn’t very familiar with reflections in Go, and the available docs and write-ups aren’t the best for me, since I’m a learn-by-example kind of person. Having come to Go (ha) as a Rubyist, the lack of generics left a little bit of a

Brandy Davis-Balsamo

Brandy Davis-Balsamo

Shifting to A Work From Home Policy: A Mini Survival Guide for Your Company

Given the COVID-19 crisis, most companies that can have shifted to temporary work from home policy. While about a quarter of those companies are likely already adept at working remotely — at least to some degree. The rest are completely new to this way of working and it’s not an easy shift. I’d like to

Linden Melvin

Linden Melvin

Authorization and Authentication in GraphQL

Introduction GraphQL is growing in popularity because it allows applications to request only the data they need using a strongly-typed, self-documenting query structure that enables an API to deliver data that can evolve over time. Unlike traditional REST APIs, GraphQL exposes a single endpoint to query and mutate data. Upon learning this, one of the

Carbon Five

Carbon Five

Recap: Running Remote Product Teams Fireside Chat

Carbon Five has worked with a variety of clients across the globe and within our own five offices that require remote collaboration while maintaining a sense of camaraderie and team cohesion. With a lot of teams transitioning to remote workforces, we opened up the conversation to share some of our best practices. We would love

Sarah Port

Sarah Port

Writing ZSH Themes: A Quickref

Customizing your terminal is a fun way to streamline and personalize your digital workspace. People are more productive when using tools they enjoy and tend to value things they made themselves at a premium, but, as with all technical adventures, it can also be a little tedious to track down all the relevant documentation. This

Wil Wade

Wil Wade

What Are These $%^&* Chores Doing in My Backlog!

Beyond Just Features and Bugs Projects tend to have three types of “tasks” for developers to do: features, bugs, and chores. Features and bugs are mostly self-explanatory. Features deliver direct customer value. Bugs are features that are not working as intended. These two tasks focus on direct connections to the users. Chores provide indirect customer

Carbon Five

Carbon Five

Human-Centered Learning Loops with IDEO

Carbon Five San Francisco hosts Talk Nights and invites the community to join the conversation on how we can build better products together. This month we were joined by two guest speakers from IDEO, Kaitlyn Irvine, an Interaction Designer, and Nadia Surtees, a Design Researcher. Together, they discussed Human-Centered Learning Loops and some of their

Brandy Davis-Balsamo

Brandy Davis-Balsamo

Working with Guests: Seven Tips for Getting your Company Ready to Leverage External Firepower

Companies have been successfully partnering with consultants since the dawn of time. Think IDEO’s work with Apple to create the mouse or Microsoft’s work with IBM to create MS-DOS. Our nation’s competitive strength comes, in large part, from this openness to collaborate, to learn from each other, to move quicker, and to leverage outside strengths,

Elixir-Docker-Carbon Five
Prakash Venkatraman

Prakash Venkatraman

Cross-Platform Elixir Releases with Docker

While releases are meant to be self-contained executables, they still call out to native system libraries to do things like open TCP sockets and write to files. That means that the native libraries referenced at compile time need to be exactly the same as the ones on your target machine. Unless you can guarantee that your workstation and cloud are exactly the same, releases can seem like only half the promise of a stress-free deployment.

Eric Fung

Eric Fung

Migrating From Sprockets to Webpacker

Starting with Rails 6, Webpacker became the default asset compiler, replacing sprockets–better known as the asset pipeline. While the asset pipeline was a big step for its time in making it easy to package JS, CSS, and images, webpack has matured enough to do all of the above and more, due to modern JavaScript’s support