We're Hiring!

Projects Jobs About

Making a Great Place for Developers to Work

December 19th, 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…

Ian 7 months ago

Dusty, I couldn’t agree more. I happen to be fortunate enough to finally work in an environment similar to the one you describe, and I can’t tell you how nice it is.

I actually like my job… I’ve always liked programming, but never like who I’ve programmed for… until now!

I think the other important thing to mention here is that when you create an environment like this, and run your organization as such, it is also important to not adopt a “too cool for the room” attitude. I turned down a great opportunity for a company that touted all these fun benefits, but they turned out to be a bunch of cocky jerks that thought I should feel privileged to work in their presence. Just ‘cause you have a Wii and a cool loft-style open office, doesn’t mean that you’ve got it down. The attitude of the management is equally important, and it sounds like you guys have the right one.

Keep it up!

Holden 6 months ago

This environment is ideal for most developers assuming Brightmix doesn’t fall into the “elitist developers sipping cappuccino and walking on hardwood floors” pit where it’s decided on day one whether you will be liked or not based on your wardrobe, haircut, iPod playlist, and requirement that you be under age 30.

e.g. Ikea Web Development, a neo-beatnik company.

Hiring your first developer is a critical time. This is where the tone of company culture at Brightmix will be set for all time. It’s easy at this point to hire someone that’s a friend, who will in turn recommend a friend when you bring on your fourth, and so on and so forth. Then next thing you know the office is one big click. Then comes along the one guy who wasn’t hired off of employee referral who walks into work, realizes it’s a good ole boy club, and hates it. Or worse, you have to let someone go and their half dozen friends quit with them and you lose your entire development staff.

As you employ more people and take on more work, more of your time will be spent running the company and handling the clients than writing code. In a three person company, everyone codes. In 15 person company, someone has to process payroll, do annual reviews, administer benefits, deal with a much larger client list, resolve problems between conflicting team members, remember to order flowers because Bob’s grandfather passed away, deal with the neighbors because your employees are taking up more than their fair share of the parking lot, provide evidence when a former employee files for unemployment, handle accounts payable and receivable, send bad clients to collections, deal with that new client in the financial industry that wants to know if your employees have all had criminal background checks and drug screenings, etc..

It’s a real pain when you’re so big that you can’t accomplish those things in just one afternoon and too small to cost-effectively hire non-technical support staff to do them for you.

At that point, who the bosses are becomes less important to the employees as who their co-workers are. Why? They’re working less and less directly with you and more and more directly with their peers. Is that 40 year old developer that brings much needed experience, maturity, and industry contacts to the table going to get along with the 21 year old developer that just can’t get over the fact that his co-worker is 40?

Basically, you need someone that is going to fit into a homogenous group of 3 developers but in a few years will also fit into a diverse group of many more developers. Additionally, at your current size they’re going to need to fill many roles. They have to be developers that don’t mind talking to clients, putting on their business hat, or changing light bulbs.

Leave a Comment

Formatting Tips
*strong* → strong
_emphasis_ → emphasis
"linktext":http://link.com → linktext
<pre><code>x + y = z</code></pre>