Вакансии в IT всегда выглядят заманчиво благодаря сравнительно высокой заработной плате и привлекательным условиям трудоустройства. Одна из наиболее часто встречаемых должностей, на которую ищут претендентов, — front-end разработчик.

Если вы хотите попробовать собственные силы в разработке, учтите, что перспективные вакансии привлекают не только вас. Важно приложить максимум усилий, чтобы именно вашу кандидатуру выбрал будущий работодатель. Но помните: нет ничего невозможного.

Три года назад я сам только начинал осваивать front-end, а требования во всех вакансиях отличались настолько, что казалось, будто компании ищут совершенно разных специалистов. Я не знал, с чего нужно начинать обучение и какие навыки наиболее важны, а потому хватался за все подряд.

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

Все навыки специалиста разделяют на следующие две категории:

  • Технические навыки или хард скиллы — это знания в разработке, без которых вы попросту не сможете выполнять задачи. Именно они задают порог вхождения в профессию. Техническими навыками работодатели интересуются в первую очередь.
  • Софт скиллы — это ваши дополнительные качества как сотрудника и специалиста. На них также обращают внимания при собеседованиях. Более того, для начинающих разработчиков часто именно софт скиллы играют решающую роль при приеме на работу, ведь работодатели часто заинтересованы в том, чтобы вырастить молодого специалиста в собственном штате.

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

Хард скиллы для начинающего front-end разработчика

Знание HTML (HTML5)

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

Дополнительное внимание при обучении уделите следующим пунктам:

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

Владение этими навыками обеспечит вам дополнительное преимущество при трудоустройстве.

Наверное, наиболее ценный источник информации для программистов в рунете — это habr.com. На нем вы сможете найти полезные и понятные для новичка материалы об HTML, а также обо всех технологиях, которые перечислены в этой статье дальше.

CSS

Умение работать с каскадными таблицами стилей также относится к must have. Многие считают, что этот инструмент больше для верстальщика, чем для разработчика но все же умение работать с ним дает важные базовые знания.

При изучении CSS важно освоить:

  • кросс-браузерную верстку;
  • свойство float или работу с flexbox для позиционирования элементов;
  • инструменты в панели xbox;
  • методы очистки потока;
  • управление видимостью элементов — overflow, display, visibility;
  • CSS grid layout;
  • принципы работы специфичности селекторов;
  • верстку для мобильных устройств.

Дополнительно стоит изучить основные принципы mobile-first, которые понадобятся для создания современных интерфейсов с упором на удобство для мобильных устройств.

Навыки работы с JavaScript

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

Вам потребуется освоить:

  • переменные;
  • типы данных;
  • операторы;
  • циклы;
  • функции;
  • преобразование типов;
  • контекст (this).

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

Владение React, Angular, Vue

Во многих компаниях задачи front-end разработчика сводятся именно к работе с библиотеками и фреймворками. Это важный навык, который точно понадобится для разработки интерфейсов.

Но не стоит ограничиваться только этим, ведь довольно сложно найти компанию, где вы будете выполнять настолько узкий спектр задач. Более того, без освоения остальных технологий из этого списка, которые дают базовые знания, будет трудно стать хорошим специалистом во front-end.

При обучении этим технологиям мне не удалось найти что-то лучшее, чем официальная документация:

Препроцессоры

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

Ссылки на полезные материалы о препроцессорах в CSS:

Препроцессоры в HTML — здесь.

Софт скиллы и другие полезные навыки

Умение гуглить

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

В этом очень поможет знание основных операторов поиска, а именно:

  1. Запрос в кавычках (“...”) — искать фразу в прямом вхождении. Это значит, что поисковик будет в первую очередь выдавать вам те результаты, которые максимально приближены к указанному запросу.
  2. Оператор “или” (OR) — помогает искать материалы, где указано хотя бы одно из слов, разделенных оператором.
  3. Минус (-) — исключает из результатов поиска слова, которые стоят после данного оператора.
  4. Поиск с учетом неизвестного слова (...*...) — этот оператор ставится на месте пропущенного слова в запросе (если вы «забыли, что забыли»). В результате поисковик ищет только страницы, где указанные части запроса разделены каким-то другим словом.

Есть еще множество операторов поиска, но они больше полезны для оптимизаторов и вебмастеров.

Знание английского языка

Основная часть технической информации представлена на английском. Чтобы найти ее и расшифровать, вам понадобится базовое знание этого языка. Это даже не дополнительное преимущество, а необходимый для работы навык.

Конечно, уметь свободно разговаривать на уровне носителя языка — вовсе не обязательно. Вам достаточно просто понимать техническую документацию. Освоить даже специфические термины вам будет несложно, так как вы постоянно будете использовать их в работе.

Коммуникабельность

Общение — один из наиболее важных этапов рабочего процесса при разработке. Необходимо постоянно работать над собственной коммуникабельностью чтобы:

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

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

  1. Ставить себя на место собеседника — важно учитывать уровень знаний, цели и мотивы человека при разговоре.
  2. Вовремя просить о помощи и чаще предлагать ее — лучше заранее попросить более опытного коллегу помочь, чем тянуть до последнего, сорвать дедлайн и подставить всю команду.
  3. Чаще общаться с командой в нерабочее время — чем больше вы общаетесь, тем лучше учитесь понимать своих коллег.
  4. Учиться говорить проще — следует постоянно стараться подбирать наименее сложные формулировки, чтобы избежать недопонимания, а щеголять «заумными» фразами лучше в нерабочее время.
  5. Ценить время коллег при переписке — лучше одним длинным сообщением описать проблему, чем отправить в мессенджере «привет», а уже после этого несколько минут пытаться сформулировать свою мысль.

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

В заключение

Еще один скилл, который стоит выделить отдельно, — это умение не пасовать перед трудностями. Множество желающих стать разработчиками так и не решились отправить свое резюме на работу мечты — побоялись отказа, не захотели рисковать своим текущим местом на работе или просто поленились освоить нужные умения. Не станьте одними из них!