Making a Great Place for Developers to Work

December 20th, 2007 by dusty

Kevin and I are frequently asked why we started our own company, and it’s often assumed that we did it to become rich and famous, to have total freedom, to be the boss, or to (insert some other selfish reason). While these benefits were, no doubt, motivational factors, one of our greater reasons involves developer treatment. That is to say, we started BrightMix because we were tired of working for companies that did not treat developers like total rockstars. Period.

You see, we’re deeply committed to many of the ideas that Joel Spolsky has set forth. I guess you could say we drank the Koolaid – and liked it.

For the last five years I’ve been testing that theory in the real world. The formula for the company I started with Michael Pryor in September, 2000 can be summarized in four steps:

Best Working Conditions Best Programmers Best Software Profit!

It’s a pretty convenient formula, especially since our real goal in starting Fog Creek was to create a software company where we would want to work. I made the claim, in those days, that good working conditions (or, awkwardly, “building the company where the best software developers in the world would want to work”) would lead to profits as naturally as chocolate leads to chubbiness or cartoon sex in video games leads to gangland-style shooting sprees.

It’s one thing to pay lip service to providing this kind of environment, and as such I think lots of companies would say that they are “developer oriented.” I mean, everyone wants to hire the best-of-the-best, but how many companies actually do what it takes? Kevin and I think that in Omaha, this concept is truly unique. We believe that the top developers can choose to work where they want, and we want them to choose to work here.

So, What Do Developers Want?

Different folks have different desires, but, as developers and previous employees ourselves, we’re pretty clued in on what it takes to keep developers happy… and how far most companies are willing to go to see that happen. Here are some example developer requests we’ve witnessed or made, followed by a typical response from ol’ Corporation XYZ and then BrightMix’s response.

Developer: I’d like a comfy chair since I’m sitting for numerous hours every day!

Corporation XYZ: No. Then your chair wouldn’t match the rest of the chairs in the office.

BrightMix: Let’s go shopping!

Developer: I’d like dual monitors.

Corporation XYZ: Those are only given to managers and people of higher importance.

BrightMix: Dual 24” LCD’s are standard issue here. Actually, we can probably get you a 3rd.

Developer: Will you buy me this programming book off Amazon?

Corporation XYZ: Maybe, and only if it relates to what you’re currently doing. We can put in an order and have it here in 6 months.

BrightMix: Go for it. Here’s the company card.

Developer: Free Lunch, Soda, and Snacks?

Corporation XYZ: Egregious!

BrightMix: Have all the snacks and soda you want. We’ll even buy you the types that you like. Also, the company will buy you lunch frequently.

See where I’m going here? And really, it’s not just about money or other tangible things, it’s about providing things that the top 1% of developers want and deserve. This will keep them feeling challenged, important, satisfied, and happy. Some examples:

  • Want challenging problems to solve? You got it.
  • Want to create a whiz-bang ajaxy spell-checking thing-a-ma-jig? Go for it.
  • Want to use the latest and greatest technologies? How ‘bout Ruby on Rails, or ASP.NET MVC, or The Next Big Thing?

Office Environment

On top of all of these things, we’re also trying to foster an environment that’s – gaspFUN. We believe its possible to have fun at work; it shouldn’t be a place you dread going, but, rather, work should be a place that you want to go. Sure we’ll work hard, but we’ll play hard just the same, and nobody’s working 100 hour weeks (40 hour weeks are the norm). Again, Joel says it best:

The office should be a hang out: a pleasant place to spend time. If you’re meeting your friends for dinner after work you should want to meet at the office. As Philip Greenspun bluntly puts it: “Your business success will depend on the extent to which programmers essentially live at your office. For this to be a common choice, your office had better be nicer than the average programmer’s home. There are two ways to achieve this result. One is to hire programmers who live in extremely shabby apartments. The other is to create a nice office.”

In this regard, we’re already well on our way. We’ve acquired an office space that doesn’t look anything like the typical cubicle farm office building. We like to think it has a warm and cozy feel to it, and we want to outfit it with various fun amenities. There’s already a pool table/ping-pong table, and we’ve got plans for a dartboard and a Nintendo Wii. Of course, we’re also open to suggestions 🙂

Great place to work = Great developers

Simply put, as we look forward at our company’s future success, we realize that greatly relies on us hiring the right people. Thus, we want to have the very best developers around working for us, and in order to find, hire and retain these developers, we’re creating the type of environment that they’re going to love.

In the coming days, as we prepare to hire our first official employee(s), we’ll be posting quite a bit more on our philosophies regarding hiring, benefits, work environments, and all things related.

More to come…