Что все-таки должен уметь делать frond-end-разработчик?
Я работаю в одной компании front end разработчиком всего лишь пол года, даже меньше. Опыта до этого не было особого. Но вот, передо мной встал вопрос. Чем все-таки должен заниматься frond-end-разработчик. Понятное дело это css+html адаптивность, крассбраузерность, семантика, оптимизация, сжатие и прочие нюансы. Понятное дело это знание js. В принципе js уже довольно-таки неплохо знаю. Мне нравится именно frond end. Я получаю огромное видимое удовольствие от проделанной работы. Я не хочу подступать даже краешком ступни к back-end. Хотя имел опыт, и могу свободно разбираться в коде и понимать как что устроено. В данный момент я не использую никаких дополнительных библиотек, фреймворков и прочего. То есть все делаю с нуля. Есть только собственноручные заготовки. Конечно же я хочу продвигаться в своей профессии, так как делаю сайты как для себя. Изучил уже давно все внутренние тонкости браузеров, чтобы эффективнее заниматься оптимизацией скриптов и графики. Но часто слышу, что front end разработчик должен знать framework'и всякие (angular, node, backbone и прочие). Или там должен владеть технологией ajax в совершенстве. Но это же back-end не так ли? Все, что связано с обработкой данных с сервера это же back-end? Мне вообще это не по душе. Хочется заниматься только своим делом, чтобы в стать в нем лучшим. Как же стать профессионалом, если будешь делать все подряд?( Просто насколько я понимаю с помощью js можно выполнить весь back-end на сайте. Также с дизайном. Часто вижу frond-end дизайнеров. Это же называется full-stack - не так ли? Опытные люди, скажите, что "действительно" должен знать хороший frond-end-разработчик.
Тоже задаюсь часто этим вопросом. Помоему слишком много требуется от этой профессии, либо все это только на словах так подается теми кто считает что он все знает, либо действительно знает в силу своей гениальности/опыта. Нельзя стать специалистом в чем то, если распыляться на множество технологий. Считаю что было бы логичным ввести промежуточное звено - миддл-енд. Фронту останется html, css, seo, семантика и т. п., Миддл будет джаваскриптить и возможно что то из серверного возьмет себе, ну и остальное достанется бэкэнду.
Алексей Струков: По сути то есть JS Dev. Это у нас с повелось из фронендера делать верстальщика и программиста, дабы сократить расходы компании, но иногда в больших компаниях, например, есть отдельный верстальщик например. ИМХО есть для такого сочетания код+верстка html coder, но там то не предполагается глубокие знания во всех аспектах. +Иногда вообще лепят фронтендеру и знание backend=full stack. Я тоже не сторонник лепить верстку и код на одного человека, с каждым днем обе темы сильно расширяются и держать хорошие склиллы по всех вопросах становится трудно.
Digital Brain: Сомнительное сокращение расходов для компаний. Месяцами висят вакансии фронтенд девелоперов, которым готовы платить по сотке и более в месяц, хотя можно было бы нанять пару человек с меньшими зарплатами: студента верстальщика, давая ему возможность развиться в нечто большее, и js программиста, что в итоге пошло бы на пользу отрасли, частично утолив кадровый голод, о котором так много говорят работодатели - мол нет специалистов.
Я склонен охарактеризовать нынешнее положение вещей, как "заговор задротов и гениев", когда люди с чрезмерным усердием осваивают разработку так называемого "all inclusive", задавая своим задротством стандарты в отрасли - либо ты знаешь все, либо ты никто и звать тебя никак.
Человек, как личность, должен развиваться разносторонне. Мне например очень интересно программирование, но я ненавижу семантику и аццессибилити. С одной стороны у нас творчество, а с другой - рутина и уныние. Фронтенд девелопер, в нынешнем виде, это гротескная профессия, требующая от человека быть художником и педантом одновременно. Почему так вышло? Видимо задроты и гении прошлого, добравшись до пьедестала в своем развитии, не пожелали видеть рядом с собой простых смертных и установили эти стандарты, которые отфильтровывают всех, не таких как они, тем самым попутно сакрализируя их касту избранных и поддерживая искусственный дефицит кадров и высокий уровень зарплат ))
Если бы новорожденному ребенку показали список наук, которые применяются в его жизне ежесекундно, то он бы захотел разродится обратно. Но время идет и механика, оптика, акустика, внутренние биологические процессы становятся настолько обыденными, что мы даже не думаем о них. Так же и в Вашем случаи, читайте каждый день по несколько умных статей, читайте книги, смотрите скринкасты и все заумные слова сказанные ниже, постепенно станут для Вас повседневностью.
И если Вы задаете такие вопрос работая в компании, то значит это компания очень факнинькая.
Алексей Струков: ну вот по этому лучше искать крупных игроков рынка, они более склонны понимать профит от разделения труда по специальностях. Всякие веб студии в 90% случаев, это вообще только для html coder'ов. Человеку нужно знать все смежные технологии, чтобы быть на одной волне с разрабами других направлений, но все в разной степени глубины. Если есть отдельный верстальщик, это не означает что верстать не нужно уметь скажем js программисту, или не знать инструменты для сборки стилей, просто отдельный верстальщик делает свои задачи быстрее и эффективнее. Так само как эффективнее свою работу сделает архитектор бд, чем backend js || php dev.
Ну а меньше платить человеку, который будет исключительно знать только свою часть - неэффективно. КПД в них все ровно будет меньше чем у команды, где каждый специалист знает все, но с уклоном на свою область продукт будет сделан быстрее. Да и человека хоть как то можно подменить на время. Иначе придется резервировать еще каждого хомяка, чтоб не дай Бог ушел или заболел.