DynamoDB provides a flexible storage solution for web applications. As an application evolves, the data structures stored in DynamoDB change to fit the needs of the system. Managing these data structure changes can be easy with the right patterns in place. I created a small example of how my team migrates user data in DynamoDB. […]
During the course of a sprint, it’s often easy to get lost in the weeds, especially when implementing a new feature. Seeing the feature in the context of the project goals is not usually top of mind. The sprint demo is a great time to remind everyone how new features fit into the larger picture. […]
I want the code I write to be as easy to follow as possible, and proper documentation is key to accomplishing that. Documentation’s role isn’t to give a full explanation of what the code is doing. Instead, it’s a tool for setting up context. It should give other developers the confidence to move through the […]
Recently, I started to customize my Git configuration to fit my workflow. I’ve found a few configurations that should be the default for anyone who installs Git: git config --global pull.rebase true git config --global fetch.prune true git config --global diff.colorMoved zebra I’ve had these in place for the past few months, and I’d encourage […]
Recently, one of my teammates noted that our project’s codebase doesn’t have a lot of classes. The observation wasn’t framed positively or negatively. It was just an observation about a particular code style of the team as a whole. I didn’t think much about it at the time. But looking back, this observation has lead […]
I’ve heard the term “pain” thrown around the developer community quite a bit. This “pain” comes from the vast amount of learning every developer needs to do to evolve in an ever-changing technological landscape. There are always new languages and patterns to learn and countless legacy systems which need to be integrated. Stretching one’s knowledge […]
Recently, I used Apollo Client local cache on a project. Like most features of Apollo Client, it’s powerful but complicated. For my project, I wanted to save a blob of data that represents the current state of a page. This blob would allow a user to navigate away from a page and come back later […]
I recently had to give a short talk for a conference. All the talks at this conference were about 20 minutes long, and it got me thinking about what I like about short presentations.
Out of all the tests I write on a day-to-day basis, acceptance tests are the hardest. In my experience, writing them for web applications is complex. There are many asynchronous actions going on: web requests firing off, responses being processed, UI elements popping on and off the screen, etc. To manage this complexity, I’ve been […]
I’ve been writing software professionally for a few years now, and I’ve been reflecting on the skills my co-workers told me would be useful when I first started working here. Writing quality software takes a lot of skills, and it can be overwhelming to decide which ones to focus on first.