Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

So I have this 'great' idea in my head that I want to start working on and build a company around it. Been working on desktop development for 5+ years and the idea revolves around the web. My exposure to web development is purely academic(a few database driven websites etc).

I know I have the wherewithal to get started and build something that works but am also sure that I don't have the expertise to scale whatever I build to huge numbers.

Looking at how some of the web majors started in dorm rooms etc, I am wondering how most web startups approach this problem (I'd find it difficult to believe that all the major startup founders had something that would scale to millions of users in their first jab).

Do you think its wise to run with whatever I can and then worry about scaling if and when its necessary? Or do you think its a sign that I am trying to bite more than I can chew?

share|improve this question
1  
If you're doing it out of your basement, you'll probably want to worry about your internet connection first. Some connections have limited upload bandwidth and my internet provider blocks port 80 by default unless you purchase their business package. –  Peter Smith Jul 12 '11 at 13:20
    
@Peter Things that I can solve by just throwing in more money is not really a concern at the moment. –  NVM Jul 12 '11 at 13:53
    
If you can just through money at it (and you aren't worried about it) why don't you just get a shared host?? –  Jetti Jul 12 '11 at 14:06
1  
@Jetti the question is not really related to scaling as in "need more bandwidth..'. Its more to do with database design, optimization etc. Things that cannot be fixed just by writing a cheque. –  NVM Jul 12 '11 at 14:12
1  
@NVM - I'm sorry but I don't see that in the question. Also, the people/sites that you probably consider majors didn't explode overnight, they had plenty of time to grow. Like tdammers said in his answer, you need to just focus on getting the site up and then go from there. Although I do believe, unless you're using an uncommon stack (such as lisp) shared hosting would be your best bet so that you can just focus entirely on your site and not worry about hardware (at least to start) –  Jetti Jul 12 '11 at 14:15

6 Answers 6

up vote 11 down vote accepted

Just worry about getting it to work at all right now. That's hard enough. When it does, and it threatens to become successful, you'll still have plenty of time to worry about scaling; also, by the time you really need to worry about these things, you'll hopefully have more cash rolling in to fund the operation, and you'll have a much better idea about what it actually is you're doing.

In any case, despite huge success stories everywhere, the most likely scenario (statistically speaking) is that it is going to fail or remain a niche product, no matter how glorious you imagine its future. If you optimize for scaling now instead of getting it rolling, you are wasting effort on the wrong thing.

share|improve this answer
    
Thanks! Although everyone's said the same thing you've put things in better perspective. –  NVM Jul 12 '11 at 13:55

"Don't Scale until you fail"

As others have mentioned, concentrate on your service/product and most importantly your customers. Grow your application technology as needed.

As a side note, even modest hardware and modern web frameworks are sufficient to handle a lot of traffic, unless its programmed in a really horrible way.

share|improve this answer

Do you think its wise to run with whatever I can and then worry about scaling if and when its necessary?

That's the only way to start. Don't address scaling until you have two things.

  1. A working application, with unit tests for good code coverage.

  2. An actual bottleneck that actual limits scalability.

share|improve this answer

Some of those websites that started in dorm rooms still haven't solved their scaling issues.

But really, just make it work. YAGNI is a good mantra to live by when just starting and doing rapid development. Just remember, YAGNI does not mean do what ever you want. You should still be making good design decisions, just less weight can be put on issues that will not be a real concern right now.

share|improve this answer

Sign up with Amazon (or Rackspace) for a cheap cloud server ($7-10/month). If your project starts to grow they provide easy and cheap hardware scaling, which will give you the time you need to get your software scaled properly.

share|improve this answer

I think that YAGNI (You Ain't Gonna Need It) applies here.

To heck with scaling right now. You can worry about that later IF it becomes an issue. If you have a great startup idea and it becomes wildly successful to where scaling is an issue then this is a GOOD PROBLEM TO HAVE! At that point you can get some VC and hire a team of people to help you rearchitect it to scale.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.