Thoughts, links, pictures on music, food, wine, film, tech etc.


I performed this:

My RubyConf Talk

I just gave the last of my series of presidential address style speeches, for this year anyway, at RubyConf in New Orleans, Lousiana. The strikethrough lines are titles that I used to organise the sections, but didn't actually speak. Here's the script:

I start with a quote From Wikipedia:

“During its debut weekend in the United States, the film opened at #1 grossing an estimated $23 million in 2,771 theaters.[52] In its second weekend it was #1 again, dropping only 31.2%, breaking Inception’s 32.0% record as the smallest second weekend drop for any #1 movie of 2010 [...] As of October 31, 2010 the film has grossed $79.7 million in the United States and $32.2 million overseas for a worldwide total of $132.9 million.”

The movie, is, of course, “The Social Network.” The number one movie of 2010 is about a programmer. Occasionally I hear people bitching about this trend of hiring “rockstar programmers” or “ninjas”. To them, I say: suck it. Today’s real “rockstars” are washed up stinky wannabes who dream of a world where teenagers rebelled against their oppressive parents. Well, you know what? The 60s was 50 years ago. The kids won. Look at Justin Bieber. Rockstars are dinosaurs.

I want to propose, here at Ruby Conf X, in New Orleans Louisiana, that we programmers, you and I, we are the rebels, the upstarts, the dreamers, the believers, the change-makers. And I want to say it in a speech.

The writer of “The Social Network”, Aaron Sorkin, is the writer of “The West Wing,” a show I’m a big fan of. If you know the show, I’d like you to imagine Sam Seabourne and Toby Siegler slaving away all night in the communications department to write this speech for me, drinking lattés to keep themselves awake.

Imagine I’m President Obama, only a little pastier, with some journalistic tendencies, and imagine he would know what you were talking about if you asked him about optimising for functions that call themselves. Imagine he cared, deeply, as much as you do, that you can pass blocks of code about as values, imagine that he wakes up in the middle of the night and thinks “Yes, I have it, the answer to EVERYTHING is an asynchronous event loop!”

Got it? Ok, I think we’re ready to start.

—The talk --

My goal for this talk isn’t to teach you about how to start a successful business. Tom Preston-Werner did a much better job of that than I can, and he just spoke right here, minutes ago. Also: I’m still on this road myself. But I’ve chosen to go it alone. I’ve chosen to build products, and to fund it by whatever way I can: in my case, simply consulting and using those projects to learn new things, write open source code, and figure out my next big idea.

My goal, more, is to fill you with a sense of wonder, a sense of holy shit, a sense of “Hey, this might just be for me.” If nothing else, I’d like for you to leave with a spring in your step.

I don’t have any big company insight, and I don’t have a whole lot of success to draw on myself. So, instead, I took to interviews of a few key players in the Ruby community to get their take on things. I also interviewed a few folks who don’t do much Ruby at all.

I have released one product, Ketchup, a web based note-taking app, and some of the folks I interviewed were instrumental in encouraging me to release that. And I organised a conference this year, funconf, out of which I made some great connections that I drew on for this talk.

I interviewed 11 people in total. José Valim and Mikel Lindsaar, friends from the community, are just starting out, contributing some great open source libraries and working on cool projects. Founder of Freckle, and famous for her early Rails cheatsheets, Amy Hoy, and founder of JS Conf, Chris Williams are a bit of a way along, sparking community by organising conferences and working on their own products.

Joe Stump from SimpleGeo, Tom Preston Werner, co-founder of Github and Jan Lehnardt, co-founder of Couch.io and core CouchDB guy have been doing the rounds these past 5 years, migrating from seed ideas to things that are really starting to get big.

DHH, creator of Rails, partner at 37signals & Tobi Lütke, founder of Shopify are poster boys of the Rails revolution.

And Rich Kilmer is a veteran: he’s been here since the start.

It’s a solid cross section. Talking to these folks has completely inspired me, and I want to share with you some choice quotes from those interviews, and some of the things that have resonated with me.

—The Community of Rubyists --

I think a good place to start is my chat with Rich Kilmer, CEO of InfoEther and board member of RubyCentral. Rich was at the very first RubyConf in Florida, 9 years ago, where he discovered, as he puts it, “some really interesing folks” at a conference that “was totally different to the JavaOne conferences” that he’d been to before.

“To come and meet a community that [...] talked about the features of different languages and the values of those things, dynamic languages vs. static languages. I never had those conversations when I was doing Java development.”

“It opened up a whole new world for me. The thing it taught me was looking at languages as ‘what is the right language to do the thing you’re trying to do?’”

“Ruby, for a long time, was not a place of entrepreneurship. It was a place of tinkering and people who loved the language. It was what people did on the side. Rails changed that. The Ruby and Rails communities are full of entrepreneurs.”

I chatted with Rich about the Ruby community, this Ruby community, is based on a foundation of language nerds. Matz has said in the past that he is, indeed a language nerd and described Ruby as being a mutant hybrid of Perl, Smalltalk, C and Lisp. And indeed, according to Rich, at that first RubyConf were heavy Smalltalkers who “looked at Ruby as a nice syntactic way of getting to the power of what they knew Smalltalk had.” A community of polyglots, a community of lovers of language. “People really cared about how their code read.”

From humble beginnings, maybe, but humble and significant.

A couple of years later, DHH introduced Rails, and the world exploded. He told me:

“Ruby is the technical lifeblood of 37signals. All the programmers at the company were brought together by a common love of the language.

“It has enabled me to find the best people I have ever worked with and it has given us the productivity to achieve amazing things with a tiny team.”

Pretty much everyone I interviewed mentioned 37signals. They created a movement, empowering developers to think about developing software in a completely different way. “Get Real” they say, and continue to reap the, literal, profits.

Joe Stump is someone who’s done the rounds in San Francisco startups, with a long run at digg.com, a co-founder of his own funded startup, SimpleGeo, and currently working on a bootstrapped project, where he’s using Rails. His perspective is that of an outsider to Ruby. To provide some balance, has his own opinion of 37signals and the movement they created.

“they’re lucky”, he says: ”, they’re fucking lucky that Rails is where it is now. Success is the combination of preparation and opportunity. Sometimes opportunity is based a lot on luck”

Regardless, what has sprung up seems to me to be pretty exciting.

“It’s almost like the difference is that there IS a Ruby community” says Tom Preston Werner, TPW, co-founder of Github “I’m sure there are PHP and ColdFusion communities, but when I was working in them, it never really felt like it was very close knit and the Ruby community very much feels like that. It’s the conferences, the small conferences that are put on. It’s the mailing lists, it’s just people meeting up doing users groups.”

And so, we have a community based around smart, creative developers, and a movement heavily influenced by 37signals, a flagship company who teach us how to be street smart “business guys”, bootstrapping our software companies.

Tobias Lütke, founder of Shopify, puts it really well:

“Ruby was kind of a counter culture thing, but one that was founded on really sound principles. It’s hard to realise now how big java was in 2005 and how heretical it was to say that what java was doing is actually complete shit. That’s clearly what the Ruby community said. This antagonised a lot of people, but it also made a lot of people check out what Ruby was all about, and a lot of people found out that this was a really really good system and a good foundation for building companies or building technology.”

He goes on to illustrate the evolution of the community:

“What happened from the top, a lot of very very smart thinkers in the programming community joined. You had this incredible influx of amazing thinkers coming in from the top.”

“And then on the second side, there was another incredible influx of people from the bottom and those were the designers. So the designers were great at what they were doing but they finally said, you know what, something about this Ruby thing connects better with me than with other programming languages, maybe I should learn programming.”

“What you had was at the top end, the really experienced guys, being augmented by these incredible thinkers, and then the bottom end, people who were starting to program who were massively influenced by these right side of the brain design thinkers, people with incredible aesthetics and sense of design and how things should be put together”

He tells a wonderful story of a cute experience at the first RailsConf in Chicago:

“in the elevator someone asked me what this conference was all about (an elderly gentleman). I told him this was a programming conference. He said he was really surprised because the people are way too well dressed for a developer conference. He said most of the people walking around seem to know how to put together a good outfit. That doesn’t look like a programming group…

It doesn’t quite look like when you go to the linux user group. It’s a bit of a different crowd.”

And so we have The Ruby Community: a well dressed, tightly knit community. A community of folks who CARE deeply about the language and about languages in general. A place of tinkering. A place of pragmatists.

A place, I think, that is a bastion, a harbour for entrepreneurial spirit. A good group for making change in the world.

—What the hell is an entrepreneur? --

One question I asked of everyone I talked to was “Do you consider yourself an entrepreneur? What does being an entrepreneur mean to you?”

I was all ready to say that “everyone I spoke to considers themselves entrepreneurs”, when DHH shot me this:

“Entrepreneur is an overloaded term these days and even in it’s purest form, only really relates to the start. You wouldn’t call Steve Jobs an entrepreneur any more. I prefer to just go by business owner.”

Judging from the other responses, I have to say, it’s easy to see why he’d think it was an overloaded term.

“a person who creates a business or a non-profit” “somebody who looks at a problem not with negativity, but with positivity and potential for finding solutions.” “An entrepreneur looks at lot of different ideas, taking the good ones, idea after idea, and executing on them on a monthly, quarterly basis” “Someone who is willing to assume a great amount of risk to see an idea exist in the world” “It’s like basically not taking no or impossible as an answer, ever” “An entrepreneur is someone who is happier building their own stuff than working on someone else’s stuff”

It’s a bit difficult to draw a conclusion from this melting pot of definitions. Where does a programming language even fit in to all of this?

It makes me think of Yehuda Katz’s keynote, at RailsConf this year, where he unleashed this rallying cry: “Ruby makes easy things trivial, hard things easy, and impossible things possible.” That, to me, that sums it up well.

—Bootstrapping vs. VC --

So I’ve talked about community, and a bit about what it is to be an entrepreneur. So what about bootstrapping?

Of everyone I spoke to, no-one thought that bootstrapping was a bad idea. Having spoken to countless folks on the topic in the past, I’ve rarely heard anyone disagree.

That said, it hasn’t shaken my interest in raising money through Venture Capital and Angel Investment, and before rejecting something outright, I want to know what it is I’m rejecting, and why.

Tobi gave me some super balanced advice on playing the VC game. “Taking investment”, he says ” is simply a tool in the toolbox”

About this “tool,” DHH illustrates the strong 37signals party line, epitomised in their blog series “Bootstrapped, profitable and proud”

“VCs aren’t evil unless you fall for their temptation. They will do “evil” things to protect their investments the best way they know how (often with crude and brute force). The base fact is that most software businesses just don’t need capital, so taking it is a bad idea.”

Joe Stump cites Zappos as an example of why VC can be a bad idea. Faced with a VC fund wrapping up its 10 year cycle, Tony Hseih, who wanted to continue growing the company, was essentially forced to sell to Amazon.

But we’re not all Tony Hseih, sitting on an already fantastic business, disappointed to have to settle for a $214 million dollar exit.

Rich Kilmer elaborates: “I would never go to a VC these days if you don’t have something that’s already bootstrapped”

“You want to go to a VC always with velocity. You don’t ever want to go to them with an idea. It’s too inexpensive to actually make the idea gain velocity”

“It’s too inexpensive to actually make the idea gain velocity” ... that’s the consensus here.

Tobi furthers the thought:

“The right way to build a company is to try to do it without financing. Maybe allow an angel investor in to get the contacts. Then create your product, try to get to profitability; follow 37signals mantra all the way. Once you get to the point where you know your business really well where you say ‘I know how marketing works if I put 1 dollar in I know that I can get 1.80 in 12 months later’ then you start having a very clear case where you say ‘if I could get a couple million dollars to put in to this’ I can get a couple more million dollars out. That’s when a company like ours (SaaS businesses) should really use what’s available from the VC community. And the VC community is ecstatic if you approach them like this. In fact they rarely get opportunities like this. They love it.”

Super, clear advice.

It’s also important to know your investors.

“They don’t really care about you as an individual. That’s something you should know about. They care about your company.”

“They’re investing in an entity. The entity is the thing that gets acquired or that is successful and makes revenue and not the individual.”

“They’ve been burned” says Rich “over and over again by the founder of a company not being able to go to that next level. There’s a time when you’ll most likely have to transtion out of your position of running this company.”

Interestingly, he leads on: “Really, if you’re bootstrapping your company, you need to think of it in exactly the same way. Do you really want to run a company with a thousand employees?”

Tobi goes back and muses about angels:

“Luckily, probably for the first time in this planet’s history, many of the people who have the money are also nice people. I don’t think that ever happened before. Many of the guys who got their millions through the Google IPO”, for example ” there couldn’t be a nicer crowd of people. Those guys are all amazing, every single one I’ve met. “

So there are nice people with money out there.

“I’m an engineer” continues Tobi ” ... I never really believed in all this handshaking and meeting people and all of that, but I’ve played this game for a couple of years now and it’s really amazing what can happen after you just meet people. You really do want introductions and you want to take these lunch meetings which people always recommend. It sounds stupid, but I’ve seen just absolutely tremendous things happen.”

Going back to the former Googlers, the nice guys with cash:

“Some of them are so rich, the amount of money they give away to these startup companies, doesn’t amount at all to them. To them, investing to startups is much like what normal people have an aquarium for. Think about it, it’s like these pretty fish, swimming around being all pretty and you can check it out, and you don’t even have to clean the fish tank. It’s really cool for them. It allows them to keep an ear to the ground and see what’s going on. You know, many of them are geeking out about technology like we do. It’s just a wonderful arrangement for them.”

On the flip side, TPW wants to keep control:

“We are very profitable, and so we can run the company however we damn well please and not have to worry about anyone’s approval at all. And so that’s what we want right now, and so maybe VC doesn’t work so well for us”

“It’s all about what you want as a founder.”

—The Opportunity --

Once you figure out what you want, you need to figure out what to do. Is now a good time to be a programmer with their own business?

“There’s lots and lots of opportunities. Everywhere there’s software that people hate, there’s an opportunity.” says Amy Hoy.

“There’s so much pre-existing legos for you to get started with.” interjects Michael Lopp

“The lesson of the iPad” says Michael Lopp, is “there’s no file->save metaphor ANYWHERE” ... the paradigms of how software looks and feels is changing, and we can ride that wave.

There are buzzwords, there are techniques, there are tools, tips, hints and guides. Really though, says Michael, people just “want to send a picture of their cat” ... We can help them with that!

Says Chris Williams: “Programmers have an innate curiosity of trying to solve stuff that’s similar to what an entrepreneur is. It’s a perspective on the world and you need that curiosity as a main ingredient”

“It’s resident in every programmer.”

And if you’re new to the game, you are very welcome, says DHH:

“I’m happy that we’re getting an influx of inexperienced people! That means that we have a unique opportunity to teach these people about good software practices and get them on the road to improve. What better way to help the world of software move forward than to educate the “masses”.”

Welcome to the Ruby community. You’re in good hands here.

—Why Ruby? --

So, _why Ruby?

“Ruby made me famous!” says Amy. She rode the wave of increased popularity in the language by providing helpful cheatsheets to explain the tough concepts that she herself had had trouble getting to grips with. Again, Tobi has some great insight:

“We started doing these Ruby weeklies. We employed every single person who came to those meetings. It was people who were spending their free time talking about technology. That’s awesome. That’s just such a great cross section of people who are really into this. People were showing up to these meetings who were clearly the kind of people you can go into battle with.”

My friend Mikel: “Ruby has enabled me to rapidly create from nothing an intensely agile business that can adopt to changes as they happen.”

and José Valim, in Brazil:

“Ruby has not hindered us at all. Being one of the pioneers, in the still growing brazilian market, just brought us benefits.”

The wave, spreading out, is still happening across the world. From my own experience, In Ireland, people are only now really taking Ruby and Rails really seriously. It’s a big deal. Ruby attracts smart people.

—Thinking Big --

And so, we bootstrap, and we use Ruby and we are “stupefied by how pretty the language” is. Build simple software. Charge real money.

Michael Lopp got me thinking:

“The language doesn’t fucking matter at all. What matters is whether you’re going to innovate by finding the right people that bring different skillsets to the table, are going to error correct you better than you yourself.”

Maybe the language, in and of itself, doesn’t matter. It’s the people, the people. Over and over, DHH, Tobi, Rich, Tom mentioned the people they found through a common love of Ruby. Ruby brings us together.

It also got me thinking about how these principles don’t need to be applied just to software, it doesn’t have to be just a web app. Amazon and eBay sell stuff. Zappos was a shoe store. But they are software companies. Improving the world with software. There’s just so much opportunity. And Ruby enables you to “get up and running very quickly”

If you’re the guy that designed an API that I can’t stop writing because it’s so beautiful: I want to fly on an airline that you set up.

If you spent a year making sure every part of your app exposes an elegant, simple API to a complex, powerful system: I want to stay in your hotel chain.

That’s the crux of why I think Ruby is so attractive to me as a language, a community, a spirit with which to start new businesses: Ruby says: “I care about you Paul, I care about giving you the best experience possible.” I want that. Everywhere. And means it.

—Preface to conclusion --

The people in this community will bend over backwards to help you out. People WANT you to succeed. We’re rooting for you. I’m rooting for you.

I don’t really know what the hell the word entrepreneur is supposed to mean. But for any and all of the definitions that I listed above, I do know, that, like Rich Kilmer says, now is “an incredibly fun time to be an entrepreneur” ... We’re the folks that understood what Mark Zuckerberg meant when he said “I just needed to fire up emacs and modify that perl script.” And we’re the ones that thought to ourselves, sheesh, why the hell was he using perl?

Now is an amazing time to be alive; that the differences that distinguish wealthy folks from not so wealthy folks; they’re shrinking. We can all play the same game.

The conclusion that I’m drawing, is that there is only one rule in this game of business, of entrepreneurship: there are really no rules. For every strong argument there is an equal and opposite strong argument. For every lover, there is a hater, and for every hater there is a troll. We all need to find our own way.

—Conclusion --

We’re sitting on the pinnacle of 10 years of not only a language, but a community that fosters creative spirit, welcoming of ideas and peers from the outside, and grounded in the principles of programmer happiness and productivity.

I don’t know what the next ground breaking shift in momentum will be. Neither do you, nor do any of the folks that I interviewed. The future, you see, is anyone’s game, and since we are inventors, creators, magicians, we invent the future as it approaches.

So I say this: invent the future, reimagine the world and implement it, break down the rules and build them back better, one at a time.

Michael Lopp says that Ruby is “the place to start” but that maybe ”’there’s too much magic” I say: embrace the magic. Embrace the future. Make it your own.

When it comes to building a business, it doesn’t really matter what the language is. It doesn’t really matter what the framework is. It just better fucking work. And I know that everyone here cares about that too.

What matters is not that you’re using Ruby, or Rails, or whatever, but that you care deeply about the choice of language and framework. And that’s a trait I see over and over in Rubyists.

My friend Jan says: “If you’re a person to turn ideas in to products, today is pretty good.”

Now is a fantastic time to be a programmer doing business. The Ruby community is a great place to be, and the Ruby language is a great place to start.

The folks I spoke to in preparing this, and the people I’ve met: Ruby folks. Artists. Enthusiasts. Early Adopters. Visionaries. Friends. Supporters. Entrepreneurs. My heroes.

Thank you.

Made by Paul Campbell. paul@rushedsunlight.com. Twitter. Github.