Terraform is a great tool for setting up and configuring architecture as code. However, it can be tricky to manage resources that were not created by Terraform. I recently worked on a project where most of our AWS infrastructure had been manually created in the AWS console. When we decided to manage all of our […]
Atomic Object was founded by a computer science professor, and during the company’s earlier stages, it only employed developers. That legacy is still felt today in the tooling we use to run the business. Case in point: We use a code repository tool—Subversion (SVN)—to securely store, manage revisions, and control access to some business documents. […]
Source control is a vital part of software development, but you don’t always want it to keep track of everything. Passwords, temporary changes, and desperate debugging edits are best kept out of version control. I’ve found four effective ways to handle this.
Visual Studio Code has been gaining popularity and has replaced Sublime Text as my editor of choice, and it brought along many of my favorite features of Sublime, including its multiple cursor magic, which is especially great for refactoring. Here are some tips for getting started!
When development relies on database interaction, few things are more frustrating than a database client that gets in the way. On my current project, we’re constantly investigating data, switching from table to table, and writing queries with our PostgreSQL database. After experimenting with a few database clients (SQLPro, Postico, and TablePlus), we quickly noticed that […]
A recent project required our team to transfer knowledge of our code base to another remote team. We decided that remote pairing would be the most effective way to do that. Since our project is written in TypeScript and all of us were on board with using Visual Studio Code, we decided to try Visual […]
If your software team develops multiple new features simultaneously, you need to be able to deploy and test them in isolation. The gold standard for this is to use Heroku’s review apps, which are temporary environments automatically spun up for each pull request. Unfortunately, the feature only works with GitHub; if you’re using another source […]
Most projects that last more than a few weeks accumulate some form or another of automation. Some carefully craft jobs in a package.json file and run them with yarn automation. Some stuff their Makefiles full of .PHONY targets and run them with make my-automation-better. Still others fill up a directory with Bash scripts and run […]
Let’s say you’re creating a feature branch off a master for a new feature you are about to implement. You finish up your work on the feature branch while one of your colleagues is making some changes on the master branch. Before creating a pull request, you might want to make sure you have the most […]
It is no secret that git push --force is dangerous. Without question, it will replace the remote with your local changes—and it won’t stop to check if that will override any changes pushed up to remote in the process. When working in a shared repository, this spells danger for even the most careful developer team.