Programador
Un diseñador, toma el concepto y al lado de un analista, dibuja, diseña y diagrama mock up (imagenes que son el prototipo de como va quedar la pagina), corta esa imagenes para que se puedan montar y listo.
Hasta ahi llego, si acaso algo de QA en alguna de las etapas, para ver que la vara este pixel perfect, es decir que encaje.
Un web dev, deberia ser la persona que desarrolla y disena la arquitectura del sitio web; pero en CR, un web dev, es un mark up developer??? es decir, es la persona que conoce de HTML (lenguaje de marcado para hacer paginas), CSS (lenguaje declarativo para darle estilo a las paginas) y quiza, pero muy quiza JavaScript, conoce los estandares de Web Client y las mejores practicas para crear paginas, asi tambien piensa en cross-browser al hacer el codigo HTML.
Al final quedan los ingenieros de software, que es un rol que puede desempenar un computologo o un ingeniero en sistema (alguien que sepa programar), estos ingenieros se encargar de crear los recurso de datos para guardar la informacion y estado del sistema; aka base de datos relacionales, objetuales, en la nube, archivos, indices invertidos, etc; asi como desarrollar un sistema en diferentes capas, distribuido, extensible, mantenible y configurable, para que nutra a las paginas Web de informacion dinamica, como este post que estoy escribiendo.
En mi experiencia, conozco pocas personas que se desempenan en ambas o todas las indoles, osea solia, analizan los requerimientos con el cliente, montan el diseno en illustrator y photoshop, montan los prototipos Web y programan desde la base de datos, hasta el ultimo page dinamico, pero como te digo, regularmente existe una division de tareas, en lo que consiste un sitio.
Y eso sin mencionar a los web master y a los ingenieros en redes, seguridad, etc; que son los encargados de los servidores virtuales y los taros (las granjas o nubes, como mencionaron anteriormente)