Seven Practices for Growing Your Code Review Skills

Code reviews are becoming more and more essential to the software development process. The days of cowboy coders building software alone in private offices with no collaboration or oversight are mostly gone. Instead, we’ve realized the value of building things with others who can point out hazards in our blind spots and spur us to think about and justify our decisions. No matter how much experience you may have, there are a few things you can do to develop this valuable skill. Read more on Seven Practices for Growing Your Code Review Skills…

Debugging Strategies You Can Use on Every Project

I’ve wanted to write a post about debugging for a while, but it’s a topic that can be really difficult to discuss in a general way. Approaches to debugging vary wildly and span multiple technologies and domains (hardware vs. software vs. other).

Bugs can also exist on all types of scales—everything from users reporting an issue in your production application, to code failing to compile, to your app crashing when you use it in a certain way. Read more on Debugging Strategies You Can Use on Every Project…

Three Keys to Success with Remote Pair Programming


By now, most people understand the benefit of pair programming. Sharing knowledge (and pain) provides a lot of advantages for both junior and senior developers alike.

I really enjoy pair programming, not only for the learning, but for the social aspect as well. It gives me a chance to get to know my co-workers better: the way they work, the kind of work they like, and even just random common interests we have. I’m a fairly extroverted person, so getting to work with someone to solve problems throughout the day leaves me feeling energized and ready for more. Read more on Three Keys to Success with Remote Pair Programming…

Improve Your Autocomplete Timing with Debouncing

We have an application with an autosuggestion search box that’s driven by a query to our GraphQL server. When the user types in a string, such as “at,” we can query our server for the term our search engine thinks we should suggest—maybe “atomic.”

We wanted this search box to be fast and efficient; what’s the point of an autosuggestion if it takes as long to generate as it does to type? So, we had to be thoughtful about how to power the search box. Here’s how we went about designing it.
Read more on Improve Your Autocomplete Timing with Debouncing…

Mob Programming: How We Stumbled Upon and Learned to Love It

I’ve been reflecting on how my current team is both super-productive and fun to work with. One key element of this is that we recently started to practice mob programming. We did this organically without actually knowing what the practice was, but we have since learned how to apply it in certain situations. The results have been extremely positive.
Read more on Mob Programming: How We Stumbled Upon and Learned to Love It…

Mocking React/Apollo Data Tables for UI Development

Recently, I was tasked with creating a new screen containing a table of data for a project using React and Apollo. In the past, we would typically start by defining the database table, other access layers in between that and a GraphQL query schema, and finally the query on the front end using Apollo. This has been quite tedious, and often, we ended up tweaking the schema many times until we ended up with precisely what the front-end UI needed. Read more on Mocking React/Apollo Data Tables for UI Development…

Three Common Misconceptions Junior Developers Have About Refactoring

One tool that junior developers often undervalue is refactoring. Since young developers probably haven’t worked on many projects where maintainability is important, it’s easy for them to overlook the importance of writing clean code. In this post, I’ll clear up some of the common misconceptions about refactoring. Read more on Three Common Misconceptions Junior Developers Have About Refactoring…

Seven Ways We’ve Learned to Work Smarter, Not Harder

Here at Atomic, we’re always striving to get better at our craft. From our guiding principles to the nitty-gritty details of implementation, we strive to reduce the repetitive and mundane at every chance. It makes our lives easier and improves our efficiency and quality for our customers.

This concept isn’t new, but I wanted to walk through some examples in my current project to help illustrate the idea. Read more on Seven Ways We’ve Learned to Work Smarter, Not Harder…

Best Practices for Solo Development

On most projects at Atomic Object, teams have at least two developers, allowing for pairing, code reviews, and other common practices we follow. On occasion, though, a smaller project needs only one developer. I’ve spent a portion of my current project working on my own and have found a few practices that make solo development easier. Read more on Best Practices for Solo Development…