There Be Dragons: Rails Callbacks and Suppression

After a long hiatus from Rails, I found myself working in a Rails codebase this week. Here at Atomic, our recent focus has been on the wins provided by our starter kit. I still love Ruby and Rails, but after digging through a well-intentioned codebase, I was reminded how much I dislike Rails magic callbacks. Read more on There Be Dragons: Rails Callbacks and Suppression…

Three Ways to Build Up New Teammates as a Technical Mentor

As Atomic continues to grow via our Accelerator program, our core value of Teach and Learn is putting some heavy emphasis on Teach. One of our first graduates from the program was feeling nervous about being a mentor to someone new. They asked me for advice and, thinking back on 10 years of working in software at Atomic and training new people, I came up with a list of big things to keep in mind when working with new developers. Read more on Three Ways to Build Up New Teammates as a Technical Mentor…

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…

Open Sourcing “Space Battle 2” – an RTS Game Ready for Your AI Player

With over 50 college juniors and seniors taking part, Atomic Games 2017 was a great success. This year’s participants built AIs to play a custom RTS written in-house here at AO. Since we had so much fun building and playing the game, we decided to open-source it: Space Battle 2: Resource Collectors. Read more on Open Sourcing “Space Battle 2” – an RTS Game Ready for Your AI Player…

Building Concurrent Primitives in Ruby without a Queue

The number-one, easiest way to make Ruby threads communicate and synchronize is to use the built-in Queue class. You can even see this in the Ruby docs: This class provides a way to synchronize communication between threads.

Unfortunately, a Queue isn’t always what we want. So, how can we build our own primitives that are still nice and thread-safe? Read more on Building Concurrent Primitives in Ruby without a Queue…

Making Unexpected Friends at Work by Prepping for External Events

When I joined Atomic many years ago, it was a small group of tight-knit developers. With fewer than 10 developers working in an open office environment, it was easy to build and maintain a sense of camaraderie. Now that the number of Atoms is around 60, it’s not so easy to get to know one another. We’ve done many experiments to help build and foster the family feeling here at AO, but we’re always looking to improve. Read more on Making Unexpected Friends at Work by Prepping for External Events…