It used to be that to be a web developer you needed to know how to code often in several different languages (computer programming languages that is) but now a days there are so many programs and help guides out there that you don’t need to know it all to be a great developer.
As a developer you need to take the time to learn about your clients business to be able to advise them accordingly. If you are self-employed or setting up a business, you will need to know how to sell your web design / programming services and how to appeal to the types of customers you want to attract. You need to know what it is they actually need rather than just what they think they want.
Marketing is such a major part of how successful a website is that to be a good programmer you need to be good at marketing too or at least work very closely with someone that is to allow you to offer the full package to your clients. All websites should be designed with a basic level of SEO included. SEO is vital and although your clients may not be able to see how much or little you have done behind the scenes in terms of SEO they will see the benefits when it starts getting indexed by Google.