26.04.2015 Views

Founders at Work.pdf

Founders at Work.pdf

Founders at Work.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

David Heinemeier Hansson 313<br />

One of the technical mistakes th<strong>at</strong> we made early on was th<strong>at</strong> we had this<br />

notion th<strong>at</strong> Basecamp was for cre<strong>at</strong>ive services firms. Set up like th<strong>at</strong>, you have<br />

a firm and you have a client, so it’s a one-to-one rel<strong>at</strong>ionship. Th<strong>at</strong> assumption<br />

went very deep. For instance, in the d<strong>at</strong>abase there’s a client ID and firm ID,<br />

and now th<strong>at</strong> people were using it, you’d have setups where people wanted two<br />

firms. So now wh<strong>at</strong> did we do? Basecamp simply couldn’t do th<strong>at</strong>. And th<strong>at</strong><br />

assumption was so deep <strong>at</strong> the roots of the system th<strong>at</strong> it took us about a year<br />

and a half to fix, which was not a good thing.<br />

Another interesting mistake was th<strong>at</strong> we didn’t consider time zones.<br />

Basecamp ran with the assumption for the longest time th<strong>at</strong> everybody is in<br />

Central Standard Time, even though I was in Copenhagen, which is a 7-hour<br />

time difference from Chicago. So people in Australia would get their milestones<br />

one day l<strong>at</strong>e. We didn’t really care about time, because we didn’t usually<br />

have fixed deadlines. We had stuff we wanted to do, but it didn’t really m<strong>at</strong>ter<br />

whether it was 2 hours l<strong>at</strong>er or 2 hours earlier. Of course, not every firm works<br />

like th<strong>at</strong>.<br />

And it was also disguised by the fact th<strong>at</strong> Basecamp didn’t use a lot of time.<br />

The only place where we displayed the time itself was on the comments. On the<br />

posts themselves, it just said the d<strong>at</strong>e and the milestone. So you wouldn’t be<br />

able to discover th<strong>at</strong>, unless you were in th<strong>at</strong> central time zone, it was off. In<br />

Denmark, for 7 hours after midnight, the system would say it was yesterday. So<br />

it was a big deal for the firms th<strong>at</strong> needed specific times. And it was always a big<br />

deal to people in Australia. Half of the time they would be off by one day. We’ve<br />

gone back to fix th<strong>at</strong> problem too.<br />

Livingston: Were you the only programmer?<br />

Heinemeier Hansson: I was until February 2005 when we brought on our<br />

second programmer. Yes, for well over a year, I was the only programmer and<br />

systems administr<strong>at</strong>or on Basecamp.<br />

Livingston: In addition to all your responsibilities, you were also starting the<br />

Rails project. How did you manage it?<br />

Heinemeier Hansson: When you have to do a project like Basecamp and you<br />

only have 10 hours a week, you can’t spend your time on things th<strong>at</strong> don’t produce<br />

anything. So you get extremely aware of tools th<strong>at</strong> aren’t necessarily helping<br />

your productivity and you go seeking tools th<strong>at</strong> can help.<br />

Th<strong>at</strong>’s how I found Ruby. It was such a nice experience for me and a nice<br />

productivity booster. I was coming from PHP. I had also looked <strong>at</strong> Java and<br />

other environments and I wasn’t finding anything else th<strong>at</strong> would allow me, as a<br />

single programmer, to deliver all this stuff.<br />

And I then built Rails on top of Ruby to allow me to build Basecamp and<br />

drive this project in the way th<strong>at</strong> we wanted to. Because we didn’t want to bring<br />

on more programmers. We wanted to keep those constraints th<strong>at</strong> we had and so<br />

we just had to make tools th<strong>at</strong> allowed us to do th<strong>at</strong>. And I think th<strong>at</strong>’s also a big<br />

explan<strong>at</strong>ion for why Rails is having the success th<strong>at</strong> it is: it was born in an environment<br />

th<strong>at</strong> was so focused on productivity and was so focused on being able

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!