I am in the process of creating my first website which I hope will have a small to medium following. I have the basic tools to get it going, but with each step further into the project I’m confronted with the feeling that the site will be inadequate, especially when I look into concepts that I know very little about such as Memcache, datamappers, frameworks and MVC.
Now my question is, what would you, the pros, recommend I do. Should I just hack at it so I can launch it asap and then gradually update the code or should I study and implement these techniques and features before launch?
If I could except comments as answers I would.
First off most of the things you mentioned (MemCache, etc) aren’t needed for the vast majority of sites out there.
If you start off trying to build the “ultimate” site to handle millions of users, you will fail. Utterly. That type of architecture takes awhile to do, even by people who know exactly what they are doing.
To do this “right” means you are going to rewrite it several times. FB, twitter, etc didn’t start out with the architecture they have today. They started small, tweaked, rewrote whole sections and at some point along the way, started over. Then went through it again.
Just know that going in. Put your site together, learn a few things, and launch. You’ll learn a lot more by watching how people interact with it and how your code responds than you will be trying to build the uber site now.
Another reason for starting small is that you might have an idea of what you want, but ultimately your users are going to stick around based on what they want. Hopefully you can figure that out and iterate.