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, […]
Early in my career, I prided myself on my technical skill. I was pretty fast at writing pretty good code. I conceived more efficient algorithms more quickly than many of my peers. I took creative approaches to expressing ideas in code that were at least interesting, if (with the benefit of hindsight) not necessarily as […]
Your backlog is an imperfect, always changing, self-fulfilling prophecy for how your software will be built. Not only that, but at a software consultancy like Atomic, it’s also a prophecy for how the engagement will end and deliver on your brand promise. All this to say: Tending to the backlog is one of the most […]
I'm super excited to be giving a talk about TypeScript at Strange Loop this year! The talk, “Understanding TypeScript's Structural Type System,” covers some of the deeper and most exciting ideas at the heart of TypeScript's namesake feature. You can get an overview from the slides. (I'll post a link to the video once it's […]
Successful product delivery requires us to navigate overlapping, competing concerns across a broad spectrum of execution dimensions, all tied together via our tech lead role. This role is complex and multifaceted, requiring the people who hold it to balance a variety of needs and interests.
If you’re like me, you always learn something new on a project, but it’s usually incidental. Your focus is on writing code, and the learning just kind of… happens. I’m here to tell you that you’re wasting a great opportunity. Your colleagues have a lot to teach you—and a lot to learn from you. A […]
One super common problem on TypeScript projects is figuring out how to validate data from external sources and tie that validated data to TypeScript types. In these situations, you generally have a few options: Define types and validations separately, and type them together with Type Guards. Use an internal DSL such as io-ts to build […]
After launching a new Node.js app we built as part of a recent redesign for a high-volume site, we found some performance problems occurring every five minutes:
Recently, we’ve been making heavy use of TypeScript at Atomic Object. We love the great tooling and instant feedback we get with the language’s powerful type system. TypeScript’s structural type system gives us a lot of powerful tools for making invalid states unrepresentable, thereby pointing out bugs at compile time instead of runtime. However, one […]
We’ve been using TypeScript with our React apps quite a bit recently. One common need that we have when programming in a functional style is a good pattern for creating small abstractions that can be used widely in an application.