Articles on Development

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.

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

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.

Will Ockelmann-Wagner

Will Ockelmann-Wagner

Shallow Testing Hooks with Enzyme

Hooks significantly simplify your code, and you can use them within an existing React codebase that otherwise uses classes. And it’s easy to dive right into using hooks – until you try to test your fancy new components.

Zoe Madden-Wood

Zoe Madden-Wood

Adjusting to TypeScript 101

Super Simple Hacks While You’re Figuring Out Your Workflow There are a lot of really great reasons to use TypeScript, but we’ve occasionally encountered some hesitancy from programmers not sure how much of an adjustment it will be. Learning Typescript is not as complicated as say learning Elm and I’d argue it’s more enjoyable to

Brian Griggs

Brian Griggs

Build Trust and Confidence with Frequent Demos

Part of our approach to software development at Carbon Five is to ensure everyone is playing with the same dictionary. The start-of-project questions we all ask are common: What are the success metrics for our stakeholders? Will our customers dislike our product? But words like “success” and “dislike,” “good” and “bad” are all personal words.

Shannon Wells

Shannon Wells

Taming Technical Debt

You, fellow software engineer, have probably felt the same as I have: while coding some big feature, you find a thing that is inefficient, unreadable, deprecated, confusing, or just buggy. Maybe it’s not bad code at all — you just realize that several packages are out of date, or your framework needs to be upgraded.