Web site design is more an art than a science. To be exact it it's virtualized graphic art. Science or not website design is the 'skin' of the site and it's appearance. A balance of form and function with a focus on performance. Website developers can look to a website designer to create a theme or 'style'. The interior designer of the Internet: web designers don't build sites but they hang the drapes, position the love sofa and match the wallpaper. In no means a putdown as much like building a house a web site has many different trades associated with it. Many times there is confusion about designers and developers, depending on the size of the job you may see one or 6 different trades all working together to develop a content rich Website or ecommerce site.
A Website Application Programmer designs database driven applications that store sales transactions, customer data, email address lists and other client management functions. Website programmers typically specialize in Microsoft based programming like .NET SQL while other programmers use MySQL and PHP which are open source programming languages. Open-source provides a community supported application whereas closed-source is owned and supported by a corporation. By it's nature open-source projects are non-profit. It's hard to determine which is better off hand as many closed source software applications started as a open source project.
Many times a website application programmer is confused with a webmaster, web designer or a website developer. The roles are largely different and deal with different issues. An website application programmer's primary focus is the logic of the application and the accomplishment of various requirements. As many things can be done different ways it becomes the interaction with the website designer, website developer and end users that helps guide the programmer build for the greatest usability. Website developers can have programming skills but usually by the nature of project management and the multitude of roles required that programmers stick close to meeting the requirements specified the application