Live data from Hacker News

Diary of a Failed Startup

diffle-history.blogspot.com

11–20 of 35 posts

Re: Diary of a Failed Startup

#11
post #2

"Solve a problem, not a class of problems." I, for one, think this is good advice for code in general. At least "at first, solve a problem, not a class of problems". I have noticed that if I write my code too general at first, it ends up solving one class of problems kinda poorly, and ends up being re-written. If I write it for the specific problem I need to solve, and then generalize it to include another similar pr…

This is often referred to as YAGNI (http://c2.com/cgi/wiki?YouArentGonnaNeedIt).

Re: Diary of a Failed Startup

#12
"The initial idea does change, and it's almost certainly wrong. The thing is, the initial idea determines how the initial idea will change, which is crucial to all the execution that follows it"

I completely agree with this. Paypal would not have got it right if they didn't start with encryption technology or Microsoft with some kind of software.

You may miss the exact product initially but it has to be the right direction.

Re: Diary of a Failed Startup

#13
post #2

"Solve a problem, not a class of problems." I, for one, think this is good advice for code in general. At least "at first, solve a problem, not a class of problems". I have noticed that if I write my code too general at first, it ends up solving one class of problems kinda poorly, and ends up being re-written. If I write it for the specific problem I need to solve, and then generalize it to include another similar pr…

I've always liked the rule of three; the first time, solve just your immediate the problem. The second time, notice that you solved the same problem twice. If the same situation occurs a third time, write a general solution.

Re: Diary of a Failed Startup

#14
post #9

"I didn't realize how slowly I was working until I worked with a YCombinator company. I was making about 6-8 commits/day; they setup a new Subversion repository 2 days ago and it's already on revision 100." Subversion commit rate is an abysmal measure of work speed.

They are, but nearly everything else is more abysmal. What else do you measure, lines of code/day? Hours spent working? Bugs fixed? New files created? The nice thing about svn commits is that if you're doing atomic commits (and both organizations were, though I got a little sloppy about it with GameClay), 1 commit ~= 1 feature. There're still issues about what you consider a feature - if you do a feature right the fi…

What else do you measure, lines of code/day? Hours spent working? Bugs fixed? New files created?

Joy.

Re: Diary of a Failed Startup

#15
post #9

"I didn't realize how slowly I was working until I worked with a YCombinator company. I was making about 6-8 commits/day; they setup a new Subversion repository 2 days ago and it's already on revision 100." Subversion commit rate is an abysmal measure of work speed.

They are, but nearly everything else is more abysmal. What else do you measure, lines of code/day? Hours spent working? Bugs fixed? New files created? The nice thing about svn commits is that if you're doing atomic commits (and both organizations were, though I got a little sloppy about it with GameClay), 1 commit ~= 1 feature. There're still issues about what you consider a feature - if you do a feature right the fi…

I don't think there is one specific metric. It seems like SVN commits would be more accurate than LOC, but when I hear numbers like that, I begin to seriously doubt it. You have to take a lot of things into consideration when trying to measure "forward progress".

In theory all of our commits are approximately one feature, and I can't, for the life of me, imagine finishing 100 features in 2 days (even split between all three of my team). Clearly there's some disconnect between what different people consider to be a feature.

For the record, we've made a little over 1000 commits in the last five and a half months. I certainly don't think that makes us 20 times less productive.

Re: Diary of a Failed Startup

#17

This is one of the better posts on this site. Long, insightful and educational. I'm sure Tang will be successful in the future, as he comes across and intelligent and humble.

Thanks. :-) There's actually a whole archive of posts (linked on the right) that detail my thinking at various points in the venture; I haven't seen it mentioned here, so I dunno if people don't know about it or haven't gotten around to reading anything but the postmortem or just aren't interested. Some of them may be helpful to folks though; there's a bunch on quitting the day job from July 07 and a lot of Pylons/Django comparisons in Dec 07.

I'm going on vacation in about 10 minutes, so I'm not going to see the rest of the discussion. If folks find other articles on the blog interesting, feel free to submit them; I have more than enough karma already.

Re: Diary of a Failed Startup

#18
Thoroughly enjoyed this post, especially since I remember a lot of these events as they happened. I was peripherally involved in the startup also for a good amount of time, and absolutely agree with everything he's said. I would also add that a big reason we had trouble getting off the ground was that Jon was really the only serious coder we had. The rest of us involved in the startup had skills in other areas (marketing, graphic design, etc), which although useful, were really NOT what the project needed at that point.

I would also say we probably fell in love a bit too much with our first idea, and probably held onto it too long.

Oh, and think (1) low cost, (2) sustainable, and (3) ability to monetize. We had #1 and #2 down pretty well, but had absolutely no real concept of how this thing could possibly make money. Most startups are NOT going to get taken over, so unless you are in it for non-$$$ reasons, it is probably a good idea to at least come up with some way you can profit if you manage to attract an audience but not a buyer.

Re: Diary of a Failed Startup

#19
post #2

"Solve a problem, not a class of problems." I, for one, think this is good advice for code in general. At least "at first, solve a problem, not a class of problems". I have noticed that if I write my code too general at first, it ends up solving one class of problems kinda poorly, and ends up being re-written. If I write it for the specific problem I need to solve, and then generalize it to include another similar pr…

Joel calls this "Architecture Astronomy." http://www.joelonsoftware.com/articles/fog0000000018.html

Re: Diary of a Failed Startup

#20
post #3

More posts like this, pls.

Shout out to HN and to the community!! This is awesome!! I'm always encouraged and pumped learning from you all!! I don't think I would be following my passion and dream of hacking a webapp without you guys!!! =) Nick
Post reply on HN