Frontend разрабатывает клиентскую часть web-интерфейса. Он отвечает не столько за внешний вид, сколько за исправную работу приложения, игры или сайта. То есть он отвечает за то, чтобы в работе продукта не было сбоев и интерфейс работал как часы.
Если провести параллели, скажем, с промышленным дизайном, то UI-дизайнер — это дизайнер автомобиля, который придумывает и рисует концепт новой модели Audi, а frontend — конструктор, который отвечает за то, чтобы все стыки в новой модели были гладкими и не повредились при эксплуатации.
Разработчик должен больше разбираться в программировании, нежели в дизайне. Для него куда более ценным станет знание языков программирования, а не основ потребительской психологии.
Его задача усложняется тем, что инструменты и методы, используемые в построении интерфейса, постоянно меняются. Сегодня есть три столпа, на которых стоит интерфейс: HTTP, CSS, JavaScript. Но нет никакой гарантии, что завтра ситуация не изменится.