На счет SEO следующие:
SEOшник SEOшнику рознь.
Из требований что нужно знать,если Вы Front-End разработчик +SEO, это из той серии когда вы делаете проект под ключ в паре с дизайнером он макет вам в PSD, вы все остальное(верстка, программирование, оптимизация и т п):
1) HTML
2) CSS
3) JS
4) Jquery
5) PHP
6) умение разбирать в чужом коде.
7) опыт работы с популярными JS-фреймворками;
8) опыт работы с системой контроля версий (git, svn);
9) опыт работы с популярными CMS
Это из серии требований чтобы кодить и верстать:( в чистом виде SEOшником мало видел из друзей)
Что касаемо SEO:
1) Алгоритмы поиска
2) Внутренняя оптимизация(стандарты яндекса и google)
3) Внешняя оптимизация
4) Стратегии продвижения
и много опыта на счет аудита сайта(юзабили, технический аудит и т п).
5) Знание фильтров ПС и способов вывода из под них.
p.s. Все зависит "Кем вы хотите стать"
p.s.2.
Что касаемо SEO:
Из опыта:
1) Общение с заказчиком( уметь предложить продукт и услуги, не продаться дешево)
2) Технический аудит сайта.
3) Юзабилити аудит сайта.
4) Далее аналитика области, просчет рентабельности проекта.
( включает составляет семантического ядра, стоимость и сроки вывода в топ, процент вывода в топ и различные факторы)
5) Далее уже идет сама работа, дизайнер+верстальщик+ прогер+ SEOшник и другие рук. лица в виде технического директора, арт директора, все зависит от проекта.
p.s3. хороший SEOшник это 50% маркетолог, знает как правильно преподнести товар или услугу.