As I approach the completion of my first six months at Atomic Object, I wanted to take a step back and reflect on working here. The switch to Atomic was a big change for me—moving from the automotive-embedded space at a very large company to the consumer-facing web/mobile domain at a small company presented some major contrasts in technology and environment.
I’d like to talk about three of the biggest differences that I have observed between the culture, environment, and processes at Atomic Object and those of other companies I have experienced.
Team Size and Productivity
One of the most obvious differences that I noticed at Atomic was the team sizes. We divide ourselves into small, self-sustaining teams. And when I say small, I mean, in some cases, as few as two people and maybe a part-time designer. This was crazy to me, coming from a company where my team might have 150 software developers at any given point.
What’s more, these small teams are very productive, spending little time on team coordination and communication—something which used to consume easily 50% of my time. There are no team hierarchies, no hurdles to jump through, no message passing, and no meetings just for the sake of meetings. I was blown away that I would be able spend practically 100% of my time actually writing code. I realized that my current team, with only two developers, was just as productive as a team of 15 in previous experiences.
“Own it” Mentality
Another major difference at Atomic is the strong emphasis on ownership, which is actually one of Atomic’s five values. From start to finish, makers at Atomic truly own their product, and they care immensely about the success of the project and the overall happiness of the client.
This sense of ownership is an Atomic maker’s biggest intrinsic motivator—we work hard because they’re “our” projects. And because we love to make cool stuff, too! This unanimous and unchallenged sense of ownership is fairly unique, and I believe it is one of the top contributors towards Atomic’s success.
Quality Trumps All
I think every good software company would agree that quality is everything, but, in my experience, you can’t force quality. Either your developers care about it, or they don’t. Either they will willingly and relentlessly write tests without being told to, or they won’t. Quality is grown, nurtured, and enforced via the culture of the company, not by enforcing a new process and the hope for a better year-end review. And quality is one thing that we have deeply ingrained in us at Atomic.
We spend a considerable amount of time and resources creating automated tests, and we are continually refining our methodologies, tools, etc. I had never previously worked with a group of developers who didn’t somewhat resent the fact that we had to test our own code. At Atomic, there isn’t a single process document that says, “You must test your code in these ways.” We just do it because that’s how you make great software. Testing is not an afterthought. It is not another box to check. You are never done testing, and your tests are never good enough.
Overall, the past six months of working at Atomic Object have been great. The people are great, the company is great, and we get to work on some really cool projects. I can’t wait to see what the next six months have in store!