The Single-Valued Type Pattern for TypeScript

We’ve been using TypeScript heavily over the last few years at Atomic, and a pattern has emerged for how we deal with cases where we want flexible, composable APIs for dealing with statically-known concerns about an application. Our Wish List Whether it’s data repositories, CMS content types, GraphQL queries, or background jobs, situations regularly arise […]

Better TypeScript Types for Redux Saga’s “Call” Effect

One of the challenges of working with Redux Saga in TypeScript is the heavy and unconventional use of generator functions. This feature from JavaScript does some amazing heavy lifting in enabling the library to be as powerful as it is, but it just doesn’t play well with TypeScript’s capabilities. There’s currently no way to even […]

Atomic Tech Lead 2020 Learning Interests

Last week, the tech leads in Atomic’s Grand Rapids office got together to share professional development interests and brainstorm opportunities for 2020. Atomic has sponsored employee professional development since its beginning, including an internal conference (“Atomic Con”) and funding for conferences, certifications, classes, reading groups, etc. This year, the Grand Rapids tech leads wanted to […]

Align Agile Story Execution to Business Value with Strategy Soundbites

Every project falls somewhere on a spectrum between extremes of short-term, get-it-done-ism and eternal, future-proofed longevity. Unfortunately, while you may have a ballpark sense for where a project fits on this spectrum at the outset, each user story needs its own consideration. Working out the right tradeoffs for each of these stories is the project.

Testing Strategies in the Atomic TypeScript Stack

For the last few years, we’ve been using a universal TypeScript platform including TypeScript, GraphQL, React, and Express. Having TypeScript on both the client and the server (including command-line utilities and background worker processes) has transformed how we go about ensuring the quality of the software we build. When compared to other stacks we’ve used, […]