Monday, July 18, 2011

Validating your idea

Last week a guy added me in Facebook because he said we have similar interest in startup and found my blog (the one you're reading now) quite amusing.

I usually only approve cute chicks and people I know—because in my experience random guys who added me happen to be gay and they thought I am too (I am NOT). Since he introduced himself (and his intent), I'm more than happy to approve his friend request. He happen to be a smart person, and has a female wife :)

We exchanged messages, and I thought one of my replies worth to post in blog, so I asked his permission and he agreed, so here it goes:

Hi bro, thanks for your length reply. I think you should stop reading and start jumping to action. In startup, first-hand experience is much more useful.

The simplest is to create a landing page to validate your idea. If it doesn't get satisfactory traction (i.e. low signups), either the idea sucks or the landing page needs refining.

It might hurt to know the truth (since your idea is most likely your ambition), but it will save you the time from building product nobody wants and you can move on to another idea.

A couple days ago I read Ash Maurya's Running Lean which mentioned Eric Ries' Lean Startup. I didn't finish the reading, but it made me realize that I've been taking the wrong approach.

I've been spending too long developing the product and also sidetracked by "research", but nothing towards validating my idea early. I'm afraid that when my product has complete, it doesn't get the traction I expected, and I will feel demotivated. I've been in this situation.

But there's a lie within landing page approach: Sometimes the traction doesn't translate to actual product usage. It might be because the product is "less interesting" than what you promise in the landing page, or the product launched too late (the guy who subscribed already forget who you are and what you do), or any other reasons. Just be prepared with this.

So, to answer your question on how am I doing with my journey, now I'm doing "temporary pivot". I'm focusing on building a landing page.

My co-founder is currently in Jakarta for his first baby born and also to pitch to some VC. My project with him requires significant capital and network investment, so it's essential to raise some money (and make friends).

As for my other project, Neytap, now I'm thinking on how to solve the chicken-and-egg problem. As you know it's a classifieds for room rentals, a marketplace of buyers (tenants) and sellers (landlords). I need to figure out how to grow both sides in balance. Do you have suggestion?

Anyway, regarding US as your target market, I think you're right, aim the ones you're most familiar with. But isn't US already saturated?

I'm so happy to meet like-minded people :)

Saturday, July 16, 2011

How much should you pay developers?

Two days ago I started a discussion in StartUpLokal group, "How much should you pay developers?" Basically I shared a link I found regarding compensation plan in StackOverflow.

Teddie followed up with an interesting question (copied as-is), "As a much U willing to Pay Your Programmer (honestly)?" Wenas Agusetiawan replied, "rockstars deserve to be paid well," but Teddie didn't seem satisfied with the answer thus asked again, "how much?"

My answer is: "It depends." Let me elaborate.

I'm a programmer myself. If I were to outsource/delegate programming tasks for any of my startups, it must be because (1) I'm not good enough to do it myself, or (2) The tasks so boring I'd rather do something else, like sleeping.

So, how much?

If I were to pay the programmer for the first reason then I must award him well. He's smarter than me, he deserves at least same salary I'd get if I were to do it myself. If for the second reason, I'll base on industry standard, or, "How much I'm willing to be paid if I don't have better option." (Which is logical—if you're the programmer, would you take the boring/repetitive job if you have better option?)

Of course, being a startup founder, you must squeeze expenses as much as you can. So for the first case, I'll negotiate with him but focus on retainment (I don't want to lose him). For the second case, I'll focus on minimizing expenses (I don't want to lose too much money).

Note: Change "him" to "her" for your convenience.

Tuesday, July 12, 2011

Birds of the same feather flock together

You are who you surround yourself with. You tend to be more productive when you hang out with like-minded people.

I usually work solo on my personal projects, and it's damn tiring (on the plus side, I can do whatever I want, haha). I do have a partner in one of my startups, but since my internet is crappy and my co-founder lives in a different continent, communication is hard.

So it was a very refreshing experience when last month I attended Google Hackathon App Engine. It was a very productive weekend indeed.

From Wikipedia: A hackathon is an event when programmers meet to do collaborative computer programming. These events are typically between several days and a week in length. A hackathon refers not simply to one time hacks, but to a specific time when many people come together to hack on what they want to, how they want to - with little to no restrictions on direction or goal of the programming. Translation: party for geeks.

I didn't manage to launch anything there, but I made significant progress; made some friends too. Looking forward for another similar events. So guys, if you have the chance to attend such event, don't miss it :)

Sunday, July 10, 2011

On using new technology and setting up infrastructure

It's very hard to build a startup; it's even harder to build two at the same time, especially since I have a full time job. For the past few months, most of my free time were spent on coding. Let me share some progress.

My first project is Neytap, a classifieds for room rentals—which in Bahasa Indonesia is called kos (correct term is indekos, although sometimes people write it as kost or kos-kosan). I'm aware that there are some similar websites already, but competition is always good :) It has just reached version Private Alpha and right now is under development for Private Beta.

My second project is a location-based service. I can't tell you much about it since it needs to be in stealth until certain stage of development. I can only say that, for this project, I have a co-founder.

On using new technology

Both projects use JVM-based languages: Java, Groovy and Scala. I'm currently learning Scala, so I try to use it as much as possible. Groovy is used for scripting (like one-time off code) and Java when I'm stuck with Scala :D

There's an important lesson that I want to share with technical founders who, like me, like to tinker with new technology: Building startups with technology you're not familiar with is a bad idea.

I'm not talking about quality (since you're not familiar, you might develop sub par solution), but it's all about time allocation. The point is, every time you want to use some fancy stuff in your project, ask yourself, "How much the distraction from achieving my target (delivering project)? Will it add significant value (i.e. "worth the time")?"

I spent a significant time learning new stuff instead of working on actual product for these two projects. Knowledge-wise, it's not a waste. Goal-wise, it is. I decided to fallback to technologies I'm familiar with, and adding just a bit new stuff that I'm sure will improve my productivity.

Infrastructure setup

You can code immediately without any documentation (URS, Diagrams, etc), which is exactly what I did. But at some point you will realize that you need some order. You need at least an issue tracker.

Important lesson: Use what you're familiar with and don't spend too much time setting it up. I'm familiar with Trac, Redmine and JIRA, but all of them are not trivial to setup for me (YMMV). I end up using YouTrack. It's free for 10 users, no installation. Just download the JAR file and run from command line: java -jar youtrack-3.0.jar 9999. This assume you have Java runtime installed,

The next thing in mind is a version control system (VCS). You must use VCS. Use the one you're most familiar with (if you're familiar with none, then stop coding and learn one, Git is good).

Important lesson: If you don't like to wait, make sure your infrastructure is fast. Get a good computer with enough CPU and RAM. If you work alone, setup issue tracker and VCS in your workstation (localhost). If working with team, use the fastest server-based solution. I use Unfuddle for Git and installed YouTrack in an EC2 located in Singapore. If submitting an issue or comitting code take too long, you'll be tempted to open Hacker News and not working :D

In conclusion, remember not to spend too much in either "research" or setting up infrastructure. In the end, it's your code that matters.

Looking for my geek side?