I first heard about CDBaby at a Billy Pilgrim concert back in 2000 or 2001 (oh, how I wish they’d make more CDs available) and when I checked out the site then I immediately thought it was the perfect example of how to use the internet as a platform for small business. Looking at it today, I still feel the same way.
Derek Sivers, the founder of CDBaby, has built a business that started as a hobby simply so he could market his own CD without having a distribution deal. Seven years later, CDBaby has become home to over 100,000 independent musicians resulting in the sale of over 1.7 million CDs…all with one programmer.
I’ll start off with the question that’s most interesting to me. How does one go from being a full time musician to being a programmer?
When I started CD Baby in 1998, I didn’t mean to start a business. It was just a little website I through together as a favor to some friends. I hardly knew HTML.
As it grew, I realized I needed to create a server-side database-driven website, but couldn’t afford a programmer.
So - I went down to the bookstore, got some books on PHP and MySQL, and threw myself into it.
Pure necessity. I had to!
Now, 7 years later, I’m just more into the programming than ever. It really satisfies me. It’s my favorite part of the job.
What are the biggest benefits of being both president and programmer of CD Baby?
Being both president and programmer in the company is like being both singer and songwriter in the band. Like some singer/songwriters, I can’t imagine it any other way. It’d be a drag to sing other people’s songs. It’d be a drag to write songs to please others. It’d be a drag to leave the programming to someone else, wishing it was different. It’d be a drag to just do the programming for someone else’s vision, not quite able to do it like you want it.
I have an idea. I hack it out. I implement it immediately. I never need anyone’s approval.
Also - I think the design of the system IS the design of the company, and the more those two things can be coming from one vision, the better.
What are the similarities between being a programmer and being a musician?
Derek has a post that answers this question so rather than shortening anything I’ll just direct you over there. [Brian]
How long did it take to create version 1 of CDBaby?
Just a few long days. In hindsight, it was the perfect way to go. The first version only had 10 CDs, and when you placed an order, the details were emailed to me. That’s it. Absolutely no frills at all.
So all I’ve done since then is just make it more powerful, more automated, more interesting. Small incremental improvements.
Why did you decide to go with Ruby when you did a rewrite of the CDBaby software?
I learned Ruby a couple years ago just for fun, and really loved it, but couldn’t find many practical day-to-day reasons to use it. Except for some backend shell scripts, almost everything I do is on the web, and PHP was still perfect for that.
Really, there were a few reasons I chose Rails for my rewrite, and they’re not the usual ones:
(1) console! ./script/console is a brilliant way to check your models in-context, without needing to do var_dump or test-pages in your website.
(2) helpers - wonderful way to de-complicate your intelligent templates, but not putting that logic into the model itself since it really only applies to the display-logic
(3) Ruby itself. I really love Ruby. Rails was a nice excuse to use Ruby.
How long did it take for the rewrite?
It’s still going. If I was only going to duplicate the existing functionality of CD Baby, it would have taken two months. But I’m really completely overhauling the way it does everything behind-the-scenes, so it’s taken about five months so far, and a couple more to go.
What have been the biggest challenges as CD Baby has grown over the years?
The internal people-politics. For the first 6 years, we were entirely focused on what goes on outside. Focused on the customer/client.
Then after 6 years (well… after 40 people), it started becoming a full-time job just to manage the internal stuff. Schedules, hours, insurance, raises, disputes, etc. Ugh.
You’re pretty explicit on the CDBaby site where you point out that you used no Microsoft products whatsoever. What’s your take on Microsoft and the other big software companies today?
Microsoft has written some great stuff, so I’ve got nothing against them in particular.
But I’ll tell you a very specific example that to me made all the difference:
When I was first starting CD Baby, and it was clear I was going to need to make it a database-driven website, I looked into what tools were out there.
There was one called “Drumbeat 2000″ that looked pretty popular, “Cold Fusion” by Allaire, and a couple others. All of them were selling you on how easy it was to create your own database-driven website.
Though it was tempting, and I almost went that route, something inside of me really likes to know the guts behind things, not just see the end result. Luckily before I made my decision, helpful people on mailing lists told me that I should stay with open-source tools like PHP and MySQL. They warned me it would be harder up-front, but that it would be much more supported in the long-run, and nobody could start charging more money for the software that runs my store.
They couldn’t have been more right. That one bit of advice changed everything for me, still to this day. I’m SO glad I went the PHP + MySQL route and built everything myself on open-source tools.
“Drumbeat 2000″ is LONG-gone. Allaire was bought by Macromedia, which is now being bought by Adobe. Is Cold Fusion still around? Not sure. Good thing I didn’t base my whole business on any of that stuff.
What development tools are you currently using?
None. Text editor (vi or kate) and a web browser. That’s all I’ve used for years.
What kind of music do you listen to while programming?
Groove Salad! http://www.somafm.com/
Lots of middle-eastern music on in the background.
Nothing too dramatic or lyrical. Nothing in English.
Not that this is a big threat for CDBaby, but piracy is a big issue in both the software and music industies. Do you think more time should be spent thwarting pirates or accept that its part of the business?
Piracy is not an enemy until you are famous.
Until that point, obscurity is your enemy.
I think independent creators should spend all of their attention fighting obscurity until they are famous, and only then should start to worry about piracy.
Do you do any marketing outside of the evangelizing done by musicians and customers?
Nope. Can’t afford to. It never pays off.
We just aim to make our existing clients and customers thrilled, then hope that they tell their others.
What does the future hold for CDBaby?
Localization. A big part of my rewrite was removing every phrase, every word from the website, and putting them all into a language config file, pulled by a key. The website itself only references that key, so the only thing you need to do to translate your site into another language is to hand that config file to a translator, and give customers the option which language-file they want to be viewing. So the future CD Baby will be in at least six languages, maybe more. But also localizing things like mailing addresses and such, so that you know the mailing standards for all 240 countries, which use postalcodes, which use provinces, which don’t, etc. For some reason this stuff is exciting as hell to me.
What advice do you have for someone looking to start a software business?
It’s not that hard to launch a business. Start small. 1-2 people working for free in a house. Once it’s profitable, then take on some more. You never need investors. You don’t need to make things huge. Keep it as small as you can for as long as you can.