Как быстро подтянуть свой уровень веб-разработчика, чтобы соотвествовать требованиям работодателей?
=====================================================================================================

 Всем привет!   

  

Моя профессиональная история такова. Чуть более чем 2 года назад я устроилась работать верстальщиком, не имея ни грамма опыта (проштудировала теорию по html/css, сверстала пару бесплатных макетов). Там меня, конечно, подучили основам верстки и научили работать в соответствии с целями компании (нас было всего 2 верстальщика: мой сэнсэй и я). Но поскольку это была не веб-студия, а контора со специфическими задачами, то, например, никаких cms (модных тогда) или, например, препроцессоров (модных сейчас... ну или уже не очень) мы не использовали. Спустя год я осталась единственным верстальщиком, я хорошо справлялась с возложенными на меня обязанностями и единолично верстала все для нашей системы (мы делали облачную ОС), попутно еще и являлась саппортом системы для пользователей, но это к делу отношения не имеет. Всякие новые фичи я не использовала: да, я читала хабр и всякие статеечки постоянно, была в курсе тенденций, что-то немного внедряла в проект (например, самая последняя версия нашей системы построена на флексах), но в целом, большинство из этого читалось и забывалось, поскольку не использовалось.  

  

Суть вопроса такова. Я уже месяц там не работаю и этот же месяц нахожусь в ступоре. Я, конечно же, пытаюсь подыскать работу, пересматриваю каждый день вакансии (тысяча из ларца, одинаковы с лица) и то, что хотят от людей при названии вакансии "html-верстальщик" просто поражает. Всем подавай фрейморко-задрота, js-гуру, фронтэнд-мастера, и под мобильные, и под ретину, и под часы (наверное, тоже скоро станет требованием), при этом желательно еще дизайн дизайнить и юзабилити юзабилить. Я утрирую, но суть такова, что за время работы я не сверстала ни одного сайта (ну ладно, пару лендингов), я не умею юзать jQuery, я никогда не пользовалась less/sass/stylus и boostrap'ом, не верстала с помощью БЭМ, ничего не знаю о всех этих модных JS-фреймворках и тем более я не пишу на чистом JS-е... Я боюсь откликаться на какие бы то ни было вакансии, ибо удовлетворяю максимум 2-3 пунктам из списков, длинною в экран монитора. Я сижу и судорожно перечитываю статьи, уроки, зачем-то прошла все курсы на HTML Academy (хотя это было больше похоже на решение задач по знанию таблицы умножения), вообщем занимаюсь тут черти чем, преимущественно самоуничижением.   

  

Да, я понимаю что все эти штуки не такие сложные и я абсолютно уверена, что обучусь всему со временем, но на данный момент у меня нет опыта использования всего этого офигенного многообразия.   

Что мне делать? Сидеть учить это дома, тренируясь на коленке? Зная себя, я вряд ли освою что-то хорошо, делая это "в воздух". Я очень люблю читать теорию, писать конспектики - у меня уже толстенный ежедневник накопился, можно книгу издавать :) Но это больше похоже на прокастинацию, реального опыта в разработке не прибавляет, как и возможности приписать что-то к резюме.  

Идти наобум лишь бы взяли хоть куда? Но я очень не хочу попасть в ситуацию - еще пара лет "голой" верстки (html и css онли), а для "не только верстки" я, очевидно, еще "слабовата". Я правда хочу стать полноценным JS-разработчиком, а не фронтэнд-огрызком.   

Начать фрилансить? Да, так я точно наберусь опыта, но факт взаимодействия с кучей разных людей меня напрягает, я в это все полезла только ради того, чтобы минимизировать общение с непонятными людьми.   

  

И да, извините за длиннопост. Накопилось тут. 

 Давайте обратимся к [данной публикации](http://ps.siliconrus.com/problem/6158/), чтобы понять примерные тренды, потому что наиболее выгодный вариант – это все же фронтендер.  
  

Вкратце, полноценный клиентский разработчик должен знать:  

– html5/css3 + bootstrap  

– один-два препроцессора (less/stylus)  

– чистый js и пару-тройку клиентских библиотек или фреймворков (knockout/backbone/angular/react)  

– немного node.js, чтобы уметь пользоваться пакетным менеджером (npm) и билд-менеджером (gulp/grunt)  
  

Этот список покрывает большинство клиентских задач в средней студии или стартапе.  
  

В реальности, от разработчика требуется только одно – уметь быстро накостылять какую-нибудь фичу к релизу, который должен был быть вчера. Собственно, если внимательно посмотреть на список, который я привел, можно заметить, что все эти вещи направлены на максимально быструю разработку – тут костыль, там костыль – и в продакшн. Как бы ни пытались нагнать пафоса на собеседовании, в бою будет именно так.  
  

Другой вопрос – что со всем этим делать.  
  

Я обычно предлагаю попытаться начать свой маленький проект. Какой-нибудь простенький личный сайт, игру на js (тот же flappy bird или 1048 – много ума здесь не нужно). Посложнее – свою тему или библиотечку. Это будет хорошим практическим опытом, который не стыдно описать в резюме.  
  

Обязательным навыком является быстрое чтение документации (желательно на английском) и понимание того, что происходит в коде, который вы видите первый раз в жизни. Советую потренироваться на различных проектах с открытым исходным кодом.  
  

Если говорить о личном опыте, то я неплохо подтянул js с помощью [codewars](http://www.codewars.com/) – задачки начинаются от самых простых (преобразование строк, перебор массива), до очевидно тяжелых (собственные интерпретаторы и преобразование данных изображения).  
  

А вот попытка спихнуть на верстальщика UI/UX – это уже экономия со стороны отдельных контор, которые по какой-то причине не хотят нанимать отдельного дизайнера/проектировщика в штат или по контракту. Тут, к сожалению, придется мириться и смотреть статьи по теме – тот же [GoodUI](https://goodui.org/). 

 Вообще да, технологий очень много во фронтенде, и они появляются почти каждый месяц. За всеми не угнаться, многие умирают быстро. Я сам сначала терялся, думал как все это знать и успевать изучать.  
  

Вообще стандарт:  

HTML5/CSS3;  

Адаптивная, кроссбраузерная верстка;  

Git;  
  

Освойте все это на профессиональном уровне, и у вас всегда будет работа. А далее изучайте технологии по мере популярности и востребованности. Заходите на hantim.ru, выбираете: front end, html, верстальщик и тд. Смотрите что больше всего требуют, а затем изучайте, ну и по мере свободного времени изучайте то, что облегчает работу вроде node.js, less/sass и тд.  
  

Создайте **Evernote**, сделайте блокнот по работе, и добавляйте туда новые знания, что вы узнали, интересные статьи, вообщем как сказали выше - структурируйте вашу базу знаний, она очень пригодится. Еще такой совет: к примеру когда начинаете читать книгу, сохраняйте важные вещи, заметки, техники в ваш Evernote, делайте конспекты. Тогда вам не нужно будет возвращаться к книге, потому что все самое важное будет у вас в сжатом виде. Еще такая техника развизает быстрый способ чтения, вскоре вы автоматом будете пробегать мимо бесполезной воды, а впитывать только важное. 

 Приветствую!  

Был в Вашей ситуации год назад примерно.  

Не слушайте советов начинать с jQuery - это путь в быдлокодство без хорошего знания js. Туда же и фриланс, там не будет повода развиваться.  

 Сейчас главный разработчик на огромном портале.   

Пришел туда так как пригласил однокурсник ( сейчас он тимлид ). Знал php на уровне недобыдлокодера. js - чуток Jquery. Html/css более-менее.   
  

Предыдущие разрабы свалили на более "вкусные вакансии" - у одного теперь своя студия а второй теперь заместитель директора одного крупного автомобильного портала.   
  

У нас двоих в итоге "модифицированная" этими злыми гениями UmiCMS устаревшей век назад версии. Задачь с дедлайном вчера на несколько листов a4. И огонь в глазах. Сначала это был ад. Костыли на костылях, контроль версий или бэкапы? нет не слышали! Хакерские атаки и 3 шелла. Постоянные попытки поднять внезапно упавший ночью сервак и сотни тысяч других радостных у ужасных ситуаций.  
  

Сейчас нас уже 5.   
  

Читая хабр, выполняя работу и постоянно развиваясь я вырос в неплохого backend разработчика. Научился классным штукам вроде git с push autodeploy, laravel, nodejs, composer, npm, bower, gulp, scss, haml. Подучил jQuery и создал для проекта 3 плагина, Angularjs, Backbone, Html5 bootstrap.  
  

Однокурсник вырос в тимлида и подучил UX и продвинулся как менеджер, создал проект который увеличил прибыль компании.   
  

После того как к нам пришли 2 дизайнера и один frontend ninja все стало просто замечательно.  
  

Итог - нужно найти компанию где согласятся взять джуна. Сейчас очень многие компании выращивают своих специалистов. Даже если нет наставника - не стоит отчаиваться. Опыт придет с работой. Главное упорно работать и применять мозг для сокращения объема работы, изучать технологии. Создавать для забавы мини-проекты.   
  

Единственный минус - первое время зп будет критически малой. Но это можно компенсировать фрилансом. 

 Возьмите список веб-студий и разошлите им свое резюме и примеры работ с пометкой:   

" ТОЛЬКО ВЕРСТАЮ никаких JS и т.п. , работаю удаленно, стоимость верстки одной страницы такая то"   

Кроме верстки вам ничего не дадут.   

Зато версткой завалят так что мало не покажется )))   

Верстальщики, которые только верстают тоже очень нужны.  

По поводу адаптивной верстки - там ничего сложного, пишете размер экрана через media запрос и верстаете как обычно.   

По ссылке ниже есть книжка по адаптивной верстке(150 стр. примерно читается за 2 дня)  

Называется "Отзывчивый Веб Дизайн"  

[rutracker.org/forum/viewtopic.php?t=4273362](http://rutracker.org/forum/viewtopic.php?t=4273362) 

 Ох, как я Вас понимаю, сама не так давно из такой ситуации выбралась. Мой совет -- идти за любые копейки junior'ом в контору, где есть нормальный разработчик. В бою все учится намного быстрее. Я сама читала и перечитывала книгу "jQuery для начинающих", и толку было ноль. На реальных рабочих проектах с подсказками старшего дело сразу пошло. И с sass за один день разобралась, потому что дали проект, который уже начали на sass, хочешь-не хочешь, а запишешь. Не могу сказать, что уже гуру, ни с бэм, ни с ангуларом, ни с бэкбоном работать еще не довелось, но я уже присматриваю себе вакансии с приличной зарплатой и возможностями дальнейшего роста. 

По поводу фриланса: не нужно. Вы потратите кучу времени только на поиск первого заказа, лучше посвятите это время более полезным вещам для вас сейчас. 

 Можно попробовать пойти по тому же пути, по которому вы шли в первый раз — найти компанию, где используют все это JS-многообразие, устроиться туда и обучаться в бою. Вполне вероятно, что могут взять верстальщика на вырост до фронт-эндера, тем более если человек устремлен.  

Фрилансить бы не советовал: та же самая проблема останется — как перейти на следующий уровень. Вы будете брать заказы под свои текущие навыки, а что-то новое брать будет уже страшно, так как не хочется портить репутацию и подводить людей. К тому же, заказчики требуют предыдущий опыт, без которого работу не дают.  

В компании же проще и быстрее всего перейти на тот самый следующий уровень. Вы будете находиться в кругу спецов, будете учиться у них и впитывать, как губка (иначе уволят :)). Вам будет проще брать сложные задачи, так как есть люди, которые помогут, подскажут и подстрахуют. Также в компании проще будет разбираться во всем многообразии инструментов и библиотек, так как в команде уже будет налажен процесс разработки, и вам не придется метаться между ангуляром и бэкбоуном, sass'ом и less'ом, haml'ом и slim'ом и т. д.  

Успехов! 

 Что-то в последнее время на тостере стало модно рассказывать собственные истории нелегкого пути веб-разраба))  
  

А по теме:  

1) Верстальщик должен знать, на нормальном уровне JS или хотя-бы JQuery (начните изучать их)  

2) Пойдите на любую фриланс биржу / берите простенькие заказы - верстайте.  

3) Не можете сами работать с людьми? Найдите программиста и/или дизайнера - предложите сотрудничество (таких можно найти в гугле по запросу "блог-php программиста" или "блог-дизайнера" ит.д). 

 Я не верстальщик и не фронтенд разработчик, но занимаюсь веб-разработкой (веб-дизайн, интерфейсы, менеджер проектов). У меня для вас такой совет:  
  

Сейчас, когда вы понимаете, что вашей квалификации не достаточно для того, что бы чувствовать себя уверенным игроком на IT рынке, вам как никогда раньше нельзя устраиваться работать "лиж бы куда-то". Я рекомендую начать неспешные поиски конторы своей мечты и совмещать их с фрилансом.  
  

1) Ищите работодателя, где бы уровень проектов соответствовал или стремился к той области, в которой вы хотели бы работать. Возьмите как обязательный критерий выбора работодателя наличие в компании сильных наставников. В наше время проработать 1 год в не той компании, пускай и за хорошие деньги — большой риск откатить свои навыки, которые потом прийдется наверстывать довольно долгое время.  
  

2) В фрилансе нет ничего страшного. Старайтесь искать работу по субподряду: делайте упор на студии и агентства. В случае работы с 5-10 постоянными клиентами вы являетесь почти полноценными работниками этих компаний. Вас и направят куда надо, и по БЭМ'у работать заставят, и вообще это не тот фриланс, где вы тратите половину времени на привлечение клиентов. А так же, что не мало важно, это не тот фриланс, где вы торгуете узким спектром услуг. Но как и в любом фрилансе по началу, можете забыть про отдых, отпуска и свободное время (которое будет уходить на повышение квалификации). 

 Как же жаль, что вы из Москвы. Мы как раз уже полгода ищем верстальщика, подобного вам - знающего основные азы (способного самостоятельно начать делать), которого впоследствии научить своим лучшим практикам и приветствовать изучение всего что угодно нового в этой области. Казалось бы, это идеальное место для типичного junior'а? Но увы, опыт множества собеседований показал, что порой подобные начинающие работники или с завышенной самооценкой (с ними или просто не хочется работать, или хочется, но просят зарплату они большую, чем у лид-программиста), или имеют свой "багаж" из ангуляр, бэмов, бутсрапов, используя их прямо таки с неуёмным фанатизмом (а иногда даже есть ребята, умеющие верстать только на bootstrap и не умеющие просто открыть блокнотик и что-то реализовать).  
  

Что же касается сути вопроса. Когда сам был junior-программистом всегда критерием движения вперед мне служили сайты с вакансиями. Там я искал подходящие для себя, сортировал по уровню заработной платы и смотрел требования. Те требования, которые упоминались наиболее часто и имели "вес" - те я и изучал, применял, щупал и давал заключительную оценку (добавлять себе в арсенал, если нравится, или ограничиться простым знанием этой технологии). Таким путем дважды достигал на работах уровня overskill, когда компании физически не нужен был тот уровень, который был достигнут на тот момент (не нужен - то есть не был готов платить соразмерно уровню работы. это просто компании было не нужно). Так что в итоге эти знания автоматически просто за шкирку толкали вперед по развитию уровня жизни, специализации и всему прочему остальному. Таков совет -). 

 Классные советы. Прям как в глянцевом журнале.  
  

Девочка, ответь сперва на свой вопрос себе сама. Я помогу. Смотри.  

" чтобы минимизировать общение с непонятными людьми" - молодец, ты очень старалась. Написала целую "простыню" ;) склько труда для Общения! Общаемся? Онлайн.  

А мы разве здесь все понятные люди?  

Вопрос: Неужели ты боишься? Даже если бы стоило.  

Думай. Ты способная. Поверь мне. Поверь себе.  
  

Ключ проблемы - "Я боюсь" откликаться на какие бы то ни было вакансии, ибо - начинаешь оправдываться. Прекращай.  
  

Не бойся откликаться. Привыкай к отказам. (Прочти притчу как Овидий милостыню просил.) Стучись всем. Кто нибудь возьмет на работу точно. Тем более стаж трудовой уже открыт.  
  

Скорее всего это будет какое нибудь мелко-подвальное Чп, но сможешь и ставку получать и серфить по учебкам. Повышать свой Дан.  
  

Иди ищи, пробуй, пытайся, выбирай! Главное не бойся. 

>  Я правда хочу стать полноценным JS-разработчиком, а не фронтэнд-огрызком. 

  

Стремление отличное, только все мы так или иначе начинали как фронтэнд-огрызки, и каждый выбрал для себя тот путь развития который ему ближе. Так что, лучше не «распыляться» и понять чем конкретно ты хочешь заниматься, таким образом прокачивая себя в этой области.   

Нет ничего постыдного в том, что ты 80% времени верстаешь и 20% времени пишешь js, крутых верстальщиков так же мало, как и крутых js-программистов. Напрягает скорее то, что сейчас на рынке все больше становиться посредственных спецов, которые нахватались всего по «верхам», и создают впечатление вполне профессиональных разработчиков, что на деле не всегда так.  

Опыт со временем придет, главное следить за трендами и не переставать практиковаться в написании новых штук. И да, реальные задачи гораздо сильнее помогают развиваться, нежели чатики и тудушки) 

**Категорически не разделяю** свинячей радости некоторых здесь как все просто и быстро у которых получается. (знание -> умение -> способность)  
  

1) чтобы использовать любую элементарную фишку - нужно знать как грамотно ее применить и где.  

2) устал писать - есть паттерны которые нужно использовать (будь то css js или бекенд).  

3) опыт опыт и еще раз опыт (практика рулит).  

4) от основ к сложному - не надо учится оперировать модулями и ангулярами, если не знаешь как работает элементарное замыкание в js  
  

для тех кто не согласен - элементарный вопрос - сколькими технологиями можно продуктивно и грамотно оперировать.  
  

и не говорите чушь типа за год из грязи в князи... единственный возможный вариант - сидеть и программировать с наставником за ручку, который будет сразу на практике все объяснять - но таких дураков думаю нет. 

 Напишу и я свой ответ.   
  

Составленная вакансия это то "желаемое", что хочет фирма. Но как известно "желаемое" и "действительное" расходиться, причем довольно часто.  
  

Первое это осознание, что вы хотите работать на предложенной работе.   
  

Второе, что должно быть для устройства на работу – резюме. Спросят все, прочтут может быть, но оно должно быть.  
  

Третье ваш отклик на вакансию. Вы не узнаете, что на самом деле твориться в фирме, что они хотят и что предлагают для вас, пока не начнете с ними общаться.   
  

Собеседование это **двухстороннее** общение. Выбирают не только вас, но и вы. Почему бы вам не предложить на собеседовании, что вы начинаете работать за меньшие деньги и показываете результаты, попутно обучаясь технологиям. Уже спустя время, и показав результат, имеет место поговорить о повышении. 

 Странная ситуация, не правда ли? Реальность такова, что жизнь меняется. И удивительно слышать, что человек почти не думал об увольнении (как антипод профессионально растущему карьеристу).  
  

Прямо говоря - будет тяжело. Если нет денег, лучше вернуться на схожую работу с вывеской "на все руки мастер". А пока перекроить график и выделить от 2х часов в сутки на обучение: интенсивную практику языка и технологий. Сначала язык и css3 с html5, потом инструменты (grunt итп), потом фреймворки (jquery сначала, всякие MVC потом). Ну и в конце концов фриланс не так страшен - будет практика на кошках. Потом берете себя в руки и с боем штурмуете компании на позицию фронтендера, даже на начальные позиции.  
  

Главное понять - не нужно никого стисняться и скромничать. Увольнение или уход во фриланс не должны формировать мрачных картинок в Вашей голове.  
  

Бейте грушу на досуге. 

 Как уже посоветовали, я думаю, стоит сначала разобраться с бутстрапом, так как из всего списка это, пожалуй, самое легкое. На то, чтобы разобраться в нем уйдет день, максимум два.   

Потом, скорее всего, стоит начать изучать Jquery и less. Немного информации о less есть на lesscss.ru, для того, чтобы понять что к чему её будет вполне достаточно. Параллельно изучая Jquery и less можно отсылать резюме в разные компании, **даже** не полностью подходя по требованиям, но уже можно будет указать, что находитесь в процессе изучения.  

И да, я бы не начинал учить JS не имея малейшего опыта работы с JQ. 

 Мы как раз ищем начинающего Front-End Ninja, со знанием JS/CSS3 и адаптивной верстки для написания веб морды для нашего Daminion Server - клиент-серверного каталогизатора медиа-файлов. Все технологии типа jQuery/bootstrap/node.js/angular/backbone можно изучать походу работы. 

 В плане прибамбасов к верстке - потестите бустрап, если так хочется, одного макета вполне хватит, чтобы в нем разобраться. Поковыряйте какой-нибудь препроцессор. Неделя - и у вас еще пара пунктов в резюме, если вас это так беспокоит))  

Большинству маленьких веб студий с головой хватает именно jquery. Проблема в том, что потом довольно тяжко переходить с него на нативный js.   

И не парьтесь в плане работы, если хорошая студия - то всему вас научат. Если фигня - никто не держит. 

 Создайте сайт со своими работами, или хотя бы на флешку их киньте. Грубо говоря, портфолио создайте. Чтобы было, что показать на собеседованиях.  

Я так делал, когда по собеседованиям ходил. Задачи для портфолио придумывал сам. 

 Кучу фрэймворков осваивать нет необходимости, зная основы вы сможете очень быстро справится с любым из них, прежде всего 1) html 5/ Css далtе js jquery так как там нужно знать css, понимать принципы работы страниц и их методы GET POST и т.д, плюс посмотреть в сторону json xml, для моностраничных вэб приложений будит полезно, а далее все зависит от выбранной технологии, на одно js приложение не напишешь, тут уже что по вкусу php, asp.net, java, и тд 

 Добрый день, для примера напишу свою историю. Я владеют знаниями HTML, css, немного Photoshop, достаточно чтобы нарисовать макет, и несколько cms. Все что мне нужно чтобы мои клиенты были довольны, ищу клиентов в своём городе, пишу маленькие сайты для местных частников, крупные проекты мне не нужны, зароботок 60 к в месяц меня устраивает, просто нужно уметь вертеться, изучаю технологии на ходу и просто применяю их, на готовых сайтах, до всяких студий и крутых разработчиков мне все равно, я просто самоучка, и живу как хочу 

Если Вам нужны все эти статейки и дополнительно полезные материалы в одном месте, заходите на огонек:   

<https://t.me/frontend_WEB4PRO>  

И да, не стоит бояться откликаться на вакансии - напишите честно, что вы умеете, чего вам не хватает, расскажите, что вы хотите учиться. Уверена, найдете своих работодалей, которые помогут быстро подтянуть уровень до необходимого. Особенно, если будете работать в команде с куратором.