Work can be stressful and tiresome, especially these days — it can be hard to find motivation in the midst of current events. And when I’m working, I can’t always reach the same level of productivity that I have in the past. Why is that? I can’t speak for other people, but at the beginning […]
When you’re playing Planning Poker with a small software team, it’s pretty easy to reach a consensus. Everyone can be heard, and the team can agree on an acceptable point value for each story. But the larger the team, the harder it is to get everyone on the same page. People stay silent with questions […]
Jest is a fantastic testing framework. Of the many I’ve used across different platforms and languages, it’s the best by a landslide. Jest is fast to learn, easy to use, full of features out of the box, and simple to customize. One of the opportunities to customize your Jest test suite is to add custom […]
Visual Studio is an excellent integrated development environment (IDE), but sometimes it needs a little hand-holding. Throughout my experience with VS Code, it has never delivered on project-wide type checking and linting. Rather than getting instant feedback from my IDE, I’ve had to rely on my build process as a type checker. Type errors only […]
It can take a long time to get a full-stack React and Node.js app off the ground. Fortunately, with the addition of API Routes, Next.js offers a way to do that in just minutes.
I admit it. I’m one of the worst offenders of the “never leave TODOs” rule. With the intention of quickly finishing a story, I’ll write a TODO comment and then promptly forget about it. Often, a teammate will bring it up again during a code review, and I can address it then. However, there are […]
When I heard that a few of my colleagues were planning on making a game for Ludum Dare, I knew immediately that I had to join them. I’d never tried my hand at game development before, and I figured that I could learn a lot from them. Over the course of a weekend, I learned […]
TypeScript 2.8 introduced the conditional type operator, which allows for building comprehensive and powerful types. One of the more useful ones I’ve found is a “disjoint” type, which ensures that there are no elements in common between two sets or objects. This could also be referred to as “mutual exclusion.”