Sunday, May 03, 2009

How to work on cool stuff

I attended the Bay Area Erlang Factory last week. It was a great event. I met many Erlang hackers, attended interesting talks, learned about cool projects (CouchDB, QuickCheck, Nitrogen, Facebook Chat), gave a talk about ErlyWeb, and drank beer (without beer, it wouldn't be a true Erlang meetup).

My favorite talk was by Damien Katz. He told the story of how he had decided to take a risk, quit his job, and work on his then amorphous project. He wanted to work on cool stuff, and that was the only way he could do it. Even if nothing else came out of it, he knew it would have been a great learning exercise. Something great did eventually come out of it, as he created CouchDB (which looks awesome btw) and IBM eventually hired him to work on it full time.

Damiens' story reminded me of the time I started working ErlyWeb a few years ago. After I left the company I was working for at the time, I decided to take a few months and work on something cool. I didn't know what exactly it would be or how long it would take, but I knew that I wanted to build a product that would help people communicate in new ways, and I wanted to build it with my favorite tools. I knew the chance of failure was high, but I figured the learning alone would be worth it. I also viewed open source as an insurance policy of sorts. Even if I couldn't get a product off the ground, my code could live on and continue to provide value to people.

Doing it paid off. My savings dwindled, but I learned Erlang, created ErlyWeb and Vimagi, met many like minded people, and it opened new doors. Now I work on cool stuff at Facebook, ErlyWeb lives on, and every day people are using Vimagi to create amazing art and share it with their friends.

The moral of the story: if you're not working on cool stuff, take a risk and try to make it happen. Don't worry about building the next Google or making lots of money, because you'll probably fail. But the lessons you learn and the connections you make will be worth it.


Carlo Pecchia said...

Nice post Yariv!
Near great technical post, we (as developer/engineers/etc) love to read some "human" stories like this one... :)

Loreto Parisi said...

Absolutely right!

Working on boring things, doing something unuseful stuffs will bring you nowhere.

You have to risk to make on your own, but this risk is the due to pay to achieve success.

PS. CouchDB was a great idea (I'm working on it for mobile devices light databases), so this is a lesson to learn from!


Jeremy Kunz said...

I use ErlyWeb and love it. It lives on here.

Anonymous said...

Just wondering: when you say "a few months off", how many months are we talking about? I'm guessing that some people can take one or two months off and work on something that they really enjoy.
However, not everyone has this freedom.

It would be interesting to hear how you (or anyone else) accomplished this, and anything that you would do differently now.

Yariv said...

@Anonymous That's a good point. I was lucky to have had some savings and no debts or dependents. I was also 27 at the time and living by myself in a small studio. It would be much harder for people with more obligations.

The main thing I would do differently now is to have a cofounder and be more focused on creating a real product that could reach ramen profitability relatively quickly (this is essentially Paul Graham's advice to entrepreneurs). This was too hard to accomplish by myself.

Nathan Youngman said...

Thanks for the well-timed inspiration, I've been thinking of something like this, and my current employment contract ends this week. Also reminded me that I still need to read Hackers & Painters.

Ray said...

Best thing to do is save enough to live for 6 months (assuming you have neither house nor significant other to support) and have a plan for something cool. Build it, open source it, then look for the opportunities the community find for it. It may turn out to be a business or not but it will be a great experience that you can only do when you are young and unencumbered. Carpe Diem!!

jason said...

I like you. I think you are smart. More people should subscribe to you.

I can't dwindle my savings, unfortunately. At least, not without MAJOR life changes :0

Yariv Sadan said...

testing facebook connect

Wenew Zhang said...

great ErlyWeb,hope erlang-mysql have new update too

Luke Shepard said...

That's great advice, Yariv, I'm glad you did it so you could spend the last year+ on our team :)