Behind the Scenes at Carbon Five

Christian Nelson ·

Most of the posts here are about technology or process. While it’s probably easy to imagine what’s happening behind the scenes at Carbon Five through what we post, I’m going to fill in the gaps for those readers who want to know a little more about us.

What We Do (when we’re not blogging)

Carbon Five builds web and mobile applications. Our clients vary widely by size and industry. Most of our clients are startups, but we also work for non-profit organizations and institutional firms as well. Rather than specializing in an industry (e.g. medical, financial), we choose to specialize in technology and development process: Today Carbon Five is an agile Ruby on Rails, JavaScript and iOS shop.

The Carbon Five Team

Carbon Five is 24 passionate developers and designers who work out of our San Francisco and Los Angeles offices. Most of our staff works at our headquarters in San Francisco. With one exception, every one of our full time staff is a developer or designer (or both). You might wonder why we’re as small as we are despite being around for over 10 years. We’ve grown slowly and carefully by design. Our number one objective may be to provide high value to our clients, but a close second is to have a great time working with an awesome team in the process.

How We Do It

We started using Extreme Programming shortly after the company was founded and we’ve been iterating on it ever since. There’s some variation in the process depending on the team lead, but we all share the same core values: build iteratively, build on small rapid successes, build the smallest whole and get early users involved, collect and react to feedback and keep the quality high.

Historically, our organization sits on the “building it” side of product development. However, given the personalities that make Carbon Five, we’re always active participants in the “what should be built” discussion (read: we have opinions). Over the last year we started offering our clients techniques to help them answer the question of what to build. To be clear, we don’t fabricate requirements or claim to know whether or not an idea is great, we just know how to talk to users in a productive fashion and conduct rapid experiments to validate ideas. Much of our inspiration comes from the Stanford d.school (design thinking) and the lean startup movement.

As part of this shift, we started growing an internal design practice. We’re really excited about having all of the resources required on the same team to quickly explore, design and implement ideas. We also work with excellent, established design firms for projects that need the big guns.

What Projects Look Like

Our teams are 2-6 people working on projects that are typically 4-6 months. Developers are almost always dedicated to projects. Designers are sometimes dedicated and sometimes split. We’re talking about having designers work as teams across multiple projects: team of 2 designers across 2 projects instead of 1 designer per project (LUXr style). There’s a ton of collaboration within and across teams. Developers pair program most of the time (note: pairing is encouraged but not mandated). We write specs/tests all of the time. Clients identify a product owner on their side; sometimes the product owner works in our office at our side, other times we work with them over skype and screen sharing. Either way, there’s a lot of contact. And we build products by implementing stories, one after the other. We keep sane hours and we’re serious about work (without taking ourselves too seriously).

Technology

Ultimately, it’s all about building something that users want, but it’s definitely more fun when there are so many great tools at your disposal. If you’re reading this blog then you already know that we get to play around with some neat technology. Working on new projects all the time, we have the awesome opportunity to take what we learn on one project and apply it to the next. In the last year we used git, github, rails 3, ruby 1.9.2, jruby, rspec 2, capybara, spork, jasmine, evergreen, devise, mongo, redis, mysql, cassandra, resque, haml, erector, sass, compass, blueprint, css3, jquery, raphael, html canvas, vagrant, chef, unicorn, nginx, etc. We’re playing around with sproutcore, node.js, eventmachine and websockets. You get the point.

Other Details

We have a book club style lunch discussions every Wednesday covering anything that’s remotely relevant (e.g. design, development, process, lightning talks, guest speakers). Every other Wednesday we dedicate 4 hours in the afternoon to work on side projects. People work on open source software, build hardware systems using arduino processors, experiment with cool new tech and most importantly, collaborate with others who are working on different client projects. We open our doors and host a hack night afterwards to continue the fun. About once a month or so we host other meetups or geekouts. And we have a very finicky italian espresso maker (repair early and often) and many of the staff make excellent macchiatos and cappuccinos.

In the end, we love building products and working with great folks.

Sound interesting? We’re always keen on talking to developers and designers who have something to offer and think they would flourish in an environment like ours. Tell us about yourself and why you’re interested in an email to jobs@carbonfive.com.

Christian Nelson
Christian Nelson

Christian is a software developer, technical lead and agile coach. He's passionate about helping teams find creative ways to make work fun and productive. He's a partner at Carbon Five and serves as the Director of Engineering in the San Francisco office. When not slinging code or playing agile games, you can find him trekking in the Sierras and playing with his daughters.