As with all areas of business, you should assign specific tasks to the people with the appropriate skill set. You should have a designer work on "designing" your website and a programmer to "program" your website. These are two different types of people. The creative designer thinks with one side of their brain and the logical programmer thinks with the scientific side of their brain. Please be skeptical of anyone who says they are both a designer and a programmer as it is extremely infrequent to meet someone who was born with the gift of a balanced creativeness and logical thinking.
On the other hand, someone can learn to be creative after years of experience, and someone can learn how to be a programmer after years of working hard. A programmer can learn to design, but it's akin to painting by numbers. A designer can learn to program, but they will never get to the level to make a website sing and dance with grace.
During the interview process you should ask your potential website person if they have someone else they work with for the design/programming. Hopefully they are willing to admit their strengths or weaknesses, if not, move on... fast! Actually your best choice should be a website company, a firm that has different people on staff for different aspects of your website project.
The cost of your website is not limited to the amount of money you will spend to create it, you also have to consider the amount of money you will lose if you do it wrong.
Here are some aspects you need to consider:
Design for ease of use
Programming for functionality
Copy writing
Photography
Customer Service