I have the unusual distinction of being a programmer in a business school that is currently experiencing something of a startup fever. Penn also happens to have a relatively small but enthusiastic CS community in which I consider myself active. One result of these circumstances is that I am frequently approached by students1 who have ideas for a business or have started a business that requires a website, but who have no idea where to start. I've been on the other side of that table too, hiring contractors for startups I've worked on. Here's the basic outline of how I answer this common question.
How you should accomplish getting a website built depends a lot on how fundamental the technology is to your business, how complex it is to build, how much money you have to spend, and what tradeoffs you're willing to make between quality and time.
If your business revolves around the technology you need to build, you should first consider whether you really have the right person or team to take on this project. The most important roles in an early-stage tech startup are the people building the technology and the people selling the technology, and if your team is more hustler than builder, there may be other ideas better suited to your skills. If you want to stick with your idea, you may hit the barrier of finding a technical co-founder. This is a notoriously difficult task and there is really no straightforward solution. On the other hand if you can make a persuasive case that you are bringing something uniquely valuable to the table, then you're already halfway there.2
If technology is an enabler to your business, meaning it is the means of delivering value but not necessarily the primary reason people would want to give you money, then you may not need a technical co-founder to sit next to you every day. Instead your best option may be to hire a developer in a CTO or VPE position or hire an established web development shop or reputable independent contractor if you can. You should try to make sure that whoever builds your website remains a resource for you after it's built, because if any changes need to be made later there is a much longer on-ramp time for someone unfamiliar with the code base. If you have the money, hire a consultant or find a developer friend to help you make your first technical hire or choice of web-dev shop because it's critical that these people know what they're doing and it's easy to make misguided decisions. This will be more of a traditional hiring experience in most cases. It's also the most common situation and the most expensive in terms of up-front costs.
If your website is an auxiliary experience, i.e. if your business could still exist in some form without the website, or if there is little prospect of you finding a technical co-founder or the money to hire a CTO or development firm, then the last option is to outsource the work or find a fellow student willing to work as an independent contractor. This can be a much cheaper way to get off the ground, though you'll likely need to invest more money down the road. Use websites like Odesk or Elance to hire contractors or attend tech meetups in your area or hosted by clubs at your school. Be respectful, but also be careful to check for prior experience. Good contractors will sit down with you at the beginning of a project to work out a detailed plan of all the requirements and then check in with you usually twice a week to keep you updated on their progress. Ask for intermediate revisions so you can make sure you're getting what you envisioned. If you're outsourcing the work you may need to do most of the detailed work to map out requirements yourself. An example I often give is that iOS has the option to display a numpad keyboard when inputting a phone number, but some contractors will not implement this feature unless explicitly told to do so.
A final point: many undergrads underestimate how much money it can take to start a company if you don't have the technical skills to build your product yourself. If you have to hire someone, you're looking at a few hundred dollars minimum in most cases (which is still way less than most other sectors). The only shortcut to this is to bring people onto the founding team who have the skills to do the things you need at no cost to you, but finding those people is hard (and even harder if you don't have the money to hire people).
1 This article is mainly about my interactions with MBA and Wharton undergrad students. I sometimes get approached by engineers as well and those conversations tend to go very differently (perhaps a subject for another time). Additionally, as the author of a number of rather widely used open-source projects, I am sometimes solicited for other development or consulting projects either remotely or in the Philadelphia area. These discussions also take on a very different flavor. [back]
2 A common answer to the question of how to find a technical co-founder is to learn to code yourself. This answer overlooks the fact that coding is hard and takes a lot of time that could in many cases be better spent on things you're already good at. Though coding is undoubtedly a useful skill that will make you more attractive to work with, you may get better returns from working your network. Reach out to people on LinkedIn. Attend local tech meetups. Your selling point should be that your technical co-founder will be free to work on problems they find interesting because you have the skills and connections and other unique resources to deal with other startup burdens. [back]