Что должен знать FrontEnd разработчик в 2023 году

![]()
02.01.2023
![]()
35779
Рейтинг: 5 . Проголосовало: 13
Вы проголосовали:
Для голосования нужно авторизироваться

- Основные технологии
- HTML5 & CSS3
- Flex и Grid CSS
- CSS препроцессоры
- Git & GitHub
- Знание о веб-технологиях и сети интернет
- JavaScript
- JavaScript Core (DOM, AJAX, JSON)
- REST API
- Алгоритмы и структуры данных
- Фреймворки JavaScript
- Инструменты управления состоянием программы (State Management)
- TypeScript
- Основы Figma
- Английский язык
- Паттерны проектирования JavaScript
- Линтеры
- Тестирование
- Webpack
- Gulp/Grunt
- SOLID принципы
FrontEnd – одна из самых легких профессий разработчика в IT. Она выгодно отличается тем, что сочетает в себе программирование и творчество, поскольку девелопер работает над оживлением дизайнерского макета и созданием соответствующей пользовательской логики. Также преимуществом фронтенда является то, что увидеть результат работы можно почти сразу – в любом браузере.
Относительная легкость фронтенда рождает большую популярность среди желающих попасть в IT, а учитывая последствия открытой агрессии по отношению к Украине – особенно большую популярность, ведь это возможность работать удаленно (на IT-компанию или на фрилансе) и получать хорошую зарплату. Соответственно, конкуренция среди Trainee/Junior FrontEnd разработчиков весьма высока, поэтому работодатели вынуждены закручивать гайки и повышать требования к кандидатам, чтобы отобрать лучших.
Так как стать фронтенд разработчиком? Какими технологиями необходимо владеть, чтобы стать Intern/Junior FrontEnd разработчиком в 2023 году? Проанализировав вакансии на украинском рынке айти, мы составили список актуальных инструментов, которые обычно требуют работодатели от кандидатов. Их перечень – ниже в статье.
Frontend developer roadmap. Основные технологии

HTML5 & CSS3
HTML5 и CSS3 — это фундаментальные технологии, без знания которых не обойтись ни одному веб-разработчику. С помощью языка гипертекстовой разметки HTML создается разметка (каркас) каждой интернет-страницы. Затем язык стилей CSS преображает сайт и придает ему привлекательный и эффектный внешний вид. Помимо этого, необходимо владеть:

- кроссбраузерной адаптивной версткой, чтобы уметь создавать сайты под мобильные устройства, планшеты и широкоформатные экраны и для различных браузеров;
- семантической версткой для повышения качества разметки и улучшения поисковой индексации сайта;
- валидной версткой, которая предполагает полное соответствие кода разработчика всем стандартам W3C — организации, которая создает и внедряет технологические стандарты для World Wide Web.
Уделите особое внимание верстке под мобильные устройства, так как современный веб-потребитель очень много времени проводит в смартфоне. Существует даже специальный подход, при котором сначала верстается веб-сайт под мобильные устройства, а только потом под десктопы — называется Mobile First.
Это общие требования по верстке. Теперь же рассмотрим более детально требования конкретно по языку стилей. Здесь вы должны знать основные свойства CSS3: фоны, градиенты, тени, анимации, трансформации, переходы, а также технологии Flex и Grid, о которых мы еще поговорим.
Хорошее владение HTML и CSS уже позволяет заниматься версткой сайтов и зарабатывать деньги. Именно с этих двух базовых технологий начинается путь к профессии FrontEnd разработчика.
Качественно изучить HTML и CSS вы сможете при помощи следующих наших курсов:
- HTML5 & CSS3 Стартовый;
- HTML5 & CSS3 Базовый;
- HTML5 & CSS3 Углубленный.
Flex и Grid CSS
Технологии верстки надежных адаптивных веб-страниц, которые позволяют легче создавать динамические сайты и удобнее структурировать их содержимое. Лучше всего Flex-верстку в действии показывает интерактивный сайт flexboxfroggy.com, а Grid-верстку — cssgridgarden.com.
На нашем ресурсе также есть курсы, которые хорошо объясняют темы Flex и Grid верстки: “Верстка сайта на CSS Grid”, “Верстка сайта на FlexBox CSS”.
CSS препроцессоры
CSS препроцессор — это программа, которая имеет свой собственный синтаксис, но может сгенерировать из него CSS код. Самыми популярными считаются SASS, Stylus, LESS и PostCSS, однако, наибольшее комьюнити имеет именно SASS. Препроцессоры предназначены для:
- ускорения процесса написания кода;
- упрощения чтения кода и дальнейшей его поддержки;
- минимизации рутинной работы при написании кода.
Для повышения эффективности написания CSS кода вполне достаточным будет изучение лишь одного препроцессора.
Git & GitHub
Git — наиболее популярная система контроля версий, которая позволяет вести историю разработки проекта с возможностью доступа к каждой сохраненной версии.
Помимо этого, стоит уметь работать с сервисом онлайн-хостинга проектов, использующих систему контроля версий. В данном случае это GitHub. В тандеме с Git он позволяет разработчикам сохранять свой код онлайн, а затем взаимодействовать с другими разработчиками в разных проектах.
Данные системы позволяют команде программистов работать над одним проектом одновременно, сохраняя внесенные изменения, а также отслеживать выполнение задач каждым членом группы.
Git & GitHub — очень важные инструменты для любого IT-разработчика, изучением которых следует заняться как можно раньше.
Мы рекомендуем изучать Git на ITVDN при помощи курса “Основы работы с Git”.
Тема связана со специальностями:
Знания о веб-технологиях и сети интернет
Чтобы качественно выполнять свою работу, фронтенд разработчик должен разбираться в вебе и понимать принципы его функционирования. Таким образом, необходимо знать:
- как работает интернет;
- протоколы HTTP/HTTPS, веб-сокеты;
- как работают браузеры;
- что такое DNS и как он работает;
- что такое доменное имя;
- что такое хостинг.
Также будет неплохо, если вы попробуете настроить сайт на каком-нибудь бесплатном хостинге, привяжете домен к этому хостингу.
JavaScript
Язык программирования, который используется как при разработке клиентской стороны веб-приложения, так и серверной. При помощи JavaScript (сокращенно — JS) можно писать даже настольные и мобильные приложения, используя определенные программные платформы и библиотеки. Этот язык позволяет:
- динамически изменять разметку;
- осуществлять интерактивное взаимодействие с пользователем;
- анимировать изображения;
- совершать валидацию форм;
- управлять мультимедиа и т. д.
Другими словами, JavaScript “оживляет” страницу и добавляет ей функциональности. Хорошее владение данным языком программирования является обязательным для каждого FrontEnd разработчика.
JavaScript использует официальный стандарт ECMAScript (сокращенно — ES), который подразумевает определенное формальное описание синтаксиса, базовых объектов и алгоритмов. На данный момент существует множество различных версий ES. Работодатели чаще всего требуют знание ES6+.
Однако, вначале необходимо изучить чистый JavaScript (vanilla JavaScript) и лишь потом вникать в новые стандарты. Как ни крути, а классику надо знать. Благодаря хорошему владению JS можно быстро разобраться в любой версии ES и затем освоить любой фреймворк или библиотеку.
ITVDN предоставляет возможность изучить JavaScript с нуля до продвинутого уровня при помощи курсов:
- JavaScript Стартовый;
- JavaScript Базовый;
- JavaScript: Расширенные возможности.
JavaScript Core (DOM, AJAX, JSON)
DOM (Document Object Model) — объектное представление исходного HTML-документа. Ключевым является понятие DOM-дерева, которое описывает структуру страницы. С помощью объектной модели JavaScript получает полную власть над HTML-документом: возможность редактировать, удалять и добавлять элементы и атрибуты HTML, менять CSS код и т. д.
AJAX (Asynchronous JavaScript And XML) — это синтез технологий JavaScript и XML, который фактически представляет собой комбинацию:
- встроенного в браузер XMLHttpRequest-объекта (чтоб запрашивать данные с веб-сервера);
- JavaScript и HTML DOM (чтобы отображать или использовать данные).
AJAX позволяет веб-страницам совершать асинхронное обновление, обмениваясь данными с веб-сервером. Благодаря этой технологии страница не нуждается в перезагрузке — обновляется лишь конкретная ее часть (вспомните ленту новостей в социальных сетях).
JSON (JavaScript Object Notation) — это общий формат обмена данными. Позволяет совершать обмен информацией между программными продуктами, написанными на разных языках. Таким образом, клиент, использующий JavaScript, может легко передавать данные на сервер, который реализован с помощью Ruby/Java/PHP.
Все три технологии являют особую ценность для каждого веб-разработчика и раскрывают организацию работы интернет-приложения.
REST API
API – Application Programming Interface – это набор правил, при соблюдении которых программы могут взаимодействовать между собой. Разработчик создает API на сервере и позволяет клиентам обращаться к нему.
Красноречивым примером будет API от Google Maps, позволяющий веб-разработчику указать на гугл карте расположение определенного здания (точку выдачи интернет-заказов, офис компании и т. д.) на своем сайте. Таким образом, программист лишает себя необходимости самому разрабатывать собственную карту и пользуется уже готовым решением от Google, используя набор правил от API.
REST – Representational State Transfer – это архитектурный подход, регламентирующий, как именно API должны выглядеть. Этому набору правил должен следовать девелопер при создании собственного приложения. Простыми словами, REST – это обычный запрос вида «клиент-сервер» с использованием HTTP-протокола.
Фронтенд разработчику необходимо разбираться в REST API, поскольку эта технология используется везде, где необходимо работать с данными от сервера.
Алгоритмы и структуры данных
Понимание алгоритмов и структур данных — обязательные знания для любого программиста.
К структурам данных относятся: стеки, очереди, связанные списки, графы и т. д. Изучив их, вы сможете управлять сложностью своих программ, делая их более доступными для понимания, а также разрабатывать высокопроизводительные программы, которые будут эффективно работать с памятью.
Знание алгоритмов позволит вам создавать сложные конструкции для эффективного решения широкого спектра задач. Когда говорят об алгоритмах, обычно имеют ввиду алгоритмы сортировки и поиска: сортировки прямым включением, прямым выбором, слиянием, пирамидальная, прямой поиск, бинарный, индексно-последовательный и другие.
Важно разбираться и в нотации Big O, которая описывает сложность каждого алгоритма. Данный механизм помогает определить, при каких условиях выгоднее использовать тот или иной алгоритм.
Отметим, что как новичку, вам не надо нырять вглубь этих тем. Будет достаточно теоретического владения, а также умения написать несколько алгоритмов. В разработке сайтов это не очень нужно, но практически ни одно собеседование не обходит стороной тему алгоритмов и структур данных.
Фреймворки JavaScript
Это инструменты, с помощью которых создаются динамические веб/мобильные/десктопные приложения на языке JavaScript. Они ускоряют разработку веб-приложений и предусматривают четко структурированную организацию кода, повышая его качество и чистоту.
Самыми популярными фреймворками для фронтенд-разработки можно назвать Vue.js, Angular, а также библиотеку React. Каждый из них предназначен для решения своего спектра задач и имеет различную степень сложности: Vue.js — самый легкий (но и с наименьшим сообществом), React — средней сложности, Angular — высокой сложности. Стоит сконцентрироваться на глубоком изучении одного фреймворка, но в то же время очень рекомендуется знать особенности и сферу применения всех вышеперечисленных технологий.
Какой фреймворк все же выбрать? Мнения на этот счет расходятся. Инструментарий выбирается индивидуально под проект и трудно предугадать, какие задачи вам нужно будет решать. На данный момент наибольшей популярностью пользуется React, поскольку он сбалансирован как с точки зрения сложности, так и с точки зрения богатства функционала. К тому же, наибольшее количество вакансий припадает именно на этот фреймворк, а значит, что он интересен не только разработчикам, но и бизнесу.
Видео курсы по схожей тематике:
Сколько учить javascript чтобы устроиться

МЕРОПРИЯТИЯ
Хакатон по кибериммунной разработке 2.0
YADRO X MOSCOW USER GROUP C++ MEETUP
Комментарии
Популярные По порядку
Не удалось загрузить комментарии.ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ
15 вопросов по Python: как джуниору пройти собеседование
Готовитесь к собеседованию на позицию Python-джуниора? Подборка важных вопросов по Python с объяснением и полезными ссылками вам поможет.
Логические и математические задачи с собеседований
Разомнем мозг! В этой статье собраны логические и математические задачи, которые нередко встречаются на собеседованиях и могут попасться вам.
Фриланс для программистов: подборка лучших сайтов
Многие ищут фриланс для программистов, но далеко не все знают, где искать. Мы составили список ресурсов, которые вас заинтересуют.
«В шарашкину контору тоже не прошел»: 3 истории о неудачных попытках найти работу в ИТ

Карьере в ИТ-сфере не всегда сопутствует успех. Иногда начинающие специалисты сталкиваются с неудачами и разочарованием.
Статистика тоже не на стороне новичков: ИТ-вакансий становится меньше, а айтишников — больше. Читатели Тинькофф Журнала, которые решили стать программистами и аналитиками данных, рассказали, где искали вакансии, как общались с рекрутерами и смогли ли в итоге найти работу в ИТ.
Это истории читателей из Сообщества. Собраны в один материал, бережно отредактированы и оформлены по стандартам редакции.
ИСТОРИЯ № 1
«Сказали, что моих знаний недостаточно даже для стажировки»

пытается уйти во фронтенд-разработку
Как пришел к работе в ИТ-сфере . Весной 2020 года у меня появилось много свободного времени на работе из-за пандемии. Хотел провести его с пользой, поэтому начал изучать основы верстки. Для этого разбирался в HTML и CSS — сейчас эти темы проходят в школе, но в мое время такого не было. Новые знания получал для себя: о том, чтобы устроиться в ИТ, даже не думал.
Спустя пару месяцев нагрузки на работе снова стало больше, и заниматься версткой я перестал. Через пару лет, уже в мае 2022 года, уволился: начались проблемы с поставками деталей для самолетов, а моя профессия как раз была связана с авиацией. Посчитал, что не стоит рисковать, и решил перейти в другую сферу, став фронтенд-разработчиком — специалистом, который верстает веб-страницы и разрабатывает функциональность сайтов.
За неделю повторил HTML и CSS, а потом приступил к изучению языка JavaScript. Нужную информацию находил в открытых источниках — например, на таких ресурсах, как learn.javascript.ru и code.mu. Темы, которые давались тяжело, осваивал по видео на «Ютубе». Иногда в разжевывании материала помогал школьный знакомый, который был фронтенд-разработчиком, — он выступал моим ментором, но не на постоянной основе.

Поиски работы. После того как разобрался в JavaScript, почувствовал, что могу выложить свое резюме на «Хедхантер». Откликался почти на все вакансии, где не требовалось знание фреймворков, это была следующая ступень в обучении, до которой на тот момент еще не дошел.
Параллельно разбирался в библиотеке React, с помощью которой можно создавать интерактивные пользовательские интерфейсы.
Как правило, рекрутеры отказывали или даже не смотрели мое резюме. Помню, как обрадовался, когда ответили из одной крупной строительной компании и предложили пройти стажировку. Но оказалось, что я невнимательно прочел требования к кандидатам и откликнулся на вакансию по ошибке. Там требовалось писать на JavaScript, не используя библиотеки, а мне это было неинтересно. Пришлось продолжить поиски работы.
К августу я уже мог писать код на React и начал создавать простые веб-приложения вроде списка дел и игры в города. Тогда же решил дополнить резюме — правда, немного приукрасив навыки: соврал, что знаю пакет инструментов для работы с библиотекой Redux и типизацию TypeScript.
TypeScript — надстройка над JavaScript, которая расширяет его возможности
В том же месяце увидел объявление об оплачиваемой стажировке в банке. Откликнулся, позвали на собеседование. На подготовку к интервью у меня была неделя — это время ушло на чтение книг и просмотр видео о том, что такое Redux и TypeScript.
Во время созвона девушка-разработчик задавала базовые вопросы про CSS и JavaScript. Беседа проходила в комфортной и доброжелательной атмосфере. Но это было мое первое собеседование на работу в сфере ИТ, поэтому оно, конечно же , оказалось провальным. Я заранее подготовил шпаргалку с темами, на которые, возможно, пришлось бы говорить, но все равно путался в ответах. Про Redux и TypeScript даже не спрашивали: наверное, интервьюер поняла, что в этом просто нет смысла. По итогам собеседования сказали, что моих знаний недостаточно даже для стажировки.
Я слышал, что начинающие разработчики трудоустраиваются только после десятка собеседований, поэтому расстраиваться не стал. Спустя месяц еще раз попробовал попасть на стажировку, на этот раз в небольшую компанию, о которой не было практически никакой информации в интернете. В ту шарашкину контору я тоже не прошел.
Что сейчас. В конце сентября я перебрался за границу. На обустройство в новой стране ушло около двух недель. Сначала жил в одном городе, потом переехал в другой, и везде были проблемы с интернетом.
Сейчас у меня по-прежнему нет работы, но я продолжаю учиться и уже многое умею. Практику получаю на собственных проектах: например, сделал вариацию на тему «Дуолинго» — интерактивный сайт, с помощью которого можно изучать базовые слова на иностранных языках. Пока занимаюсь только английским: выпустил раздел с элементарными фразами вроде «меня зовут», «мне столько-то лет», «я люблю путешествовать».

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

Один из проектов в моем портфолио — вариация «Дуолинго»
ИСТОРИЯ № 2«Менеджер проектов перестал выходить на связь»

Как пришел к работе в ИТ-сфере . Я учился в одном из вузов Дальнего Востока. Окончил факультет информационных систем и технологий — сначала поступил на бакалавриат, а потом в магистратуру.
Первую работу в качестве программиста нашел в своем же университете. В государственных организациях платят мало, поэтому там часто есть вакансии и берут специалистов без опыта.
Спустя два года упорного труда я научился неплохо программировать на языке C# и решил попробовать себя в разработке игр на Unity. У меня были базовые знания, полученные во время учебы, и пара приложений, созданных ради интереса, но не больше. Поэтому я хотел сперва улучшить свои знания, а потом уже начать искать вакансии на «Хедхантере».
Unity — среда программирования для разработки компьютерных игр
Поиски работы. Свои навыки я подтянул за месяц, после чего начал рассылать резюме на позицию младшего Unity-разработчика. Заявки предпочитал подавать только в компании, которые тщательно изучил, поэтому получалось отправлять где-то пару откликов в месяц.
Интересно, что почти никто из работодателей не указывает зарплатную вилку для начинающих разработчиков. Сперва присылают техническое задание, потом обсуждают обязанности на собеседовании и лишь на последнем этапе говорят про деньги. Я рассчитывал получать минимум 55 000 ₽.
Сначала со мной связались из компании — разработчика мобильных приложений для детей. Рекрутер отправил тестовое задание и сказал, что его надо выполнить за три дня. Нужно было создать игру, во время которой пользователь нажимал бы на цифры или буквы, отмеченные определенным знаком. Подсказки, какие фигуры искать, появлялись в левом углу экрана.

Процесс создания игры для разработчика детских мобильных приложений
Были и технические требования, например применение принципов SOLID — набора правил и подходов к программированию, который делает код более гибким и чистым. Кроме того, кандидатов просили применять тип объектов ScriptableObject — он позволяет хранить пользовательские данные в виде файлов, — а также модуль анимации DOTween.
Условия, которые поставили в задании, меня сильно удивили. Я был уверен, что на начальном этапе надо только создавать код для обработки кнопок, которые нажал пользователь, а, например, хорошо знать плагины не обязательно. То же касалось требований к коду: я разбирался в C#, но для создания приложений на Unity нужно обращать внимание на другие вещи.

На создание игры я потратил 12 часов. Отправил задание, и мне ответили на следующий день: написали, что в работе не соблюдаются принципы SOLID, и подробно объяснили другие ошибки. Я был рад, что получил обратную связь: в большинстве случаев выполненное задание никак не комментируют.
После этого я начал активно изучать разработку игр на Unity: смотрел лекции на «Ютубе» и шерстил англоязычные ресурсы. Теперь отчетливо вижу ошибки в той работе.

Полностью согласен с замечаниями разработчиков, которые проверили мое тестовое задание. Но мне кажется, что в этой компании к новичкам предъявляют завышенные требования
Спустя три месяца я прошел собеседование в небольшую компанию, которая искала начинающего Unity-разработчика. На интервью попросили рассказать, почему я решил заняться созданием игр. Мне было сложно ответить структурированно и внятно, поэтому предпочел ограничиться простым объяснением: сказал, что мне это нравится.
Затем дали тестовое задание — создать игру, в которой нужно подбирать кубики. Я сделал это за три часа. Казалось, что моя работа неплоха для новичка: я выполнил все по правилам, поэтому добавлять в код новые детали было бы легко и просто. Но менеджер проектов перестал выходить на связь, и мое сообщение осталось без ответа.

Суть игры для тестового задания: на арене появляются кубики, которые нужно подбирать и относить в специальное место. За это даются монетки
У меня сложилось впечатление, что ИТ-рекрутеры относятся к кандидатам неуважительно. Возможно, это происходит, потому что на вакансии откликается много школьников. Кроме того, к начинающим специалистам часто предъявляют высокие требования за мизерную зарплату. Тем, что мне предлагали делать, обычно занимаются разработчики с опытом — это несправедливо.
Что сейчас. Уже почти полгода я работаю в компании, которая производит мобильные игры. Как такового тестового задания при приеме не было: соискатели сразу участвовали в разработке готового продукта. Это была игра, которую потом выложили в «Гугл-плей» и «Эпстор». Я успешно справился с задачами и мне предложили именно такую зарплату, на какую и рассчитывал, — 55 000 ₽ на старте. Очень рад, ведь занимаюсь тем, чем хотел.
Как общаться и понимать друг друга
Бесплатный курс о том, как бережно общаться с окружающими и чаще получать желаемое
ИСТОРИЯ № 3
«На каждом собеседовании мне не хватало каких-то знаний»

хочет стать дата-сайентистом
Как пришел к работе в ИТ-сфере. Я окончил совместную программу бакалавриата по экономике НИУ ВШЭ и РЭШ. Во время обучения можно было выбирать курсы из разных областей знаний, в том числе из компьютерных наук.
На первом курсе я погрузился в язык программирования Java, но благополучно все забыл, как только сдал экзамен. Потом познакомился с Python: нам рассказывали про основы синтаксиса и прикладные библиотеки для анализа данных. А в последний год мы немного затронули тему машинного обучения — науку о том, как заставить компьютер учиться и действовать, как человек.
Еще в университете я понял, что меня интересует дата-сайенс . Специалисты в этой области исследуют массивы больших данных и находят в них закономерности. В результате получаются модели, которые помогают прогнозировать поведение пользователей, загруженность транспорта, погоду и спрос на товары или услуги. Для работы в дата-сайенс нужно знать математику, программирование и разбираться в машинном обучении.
На четвертом курсе бакалавриата я устроился в Центробанк. Мне обещали, что я буду работать с большим количеством данных, но в итоге я занимался обычной аналитикой, просто с уклоном на специфику этой организации. Проработал там несколько месяцев, а потом уволился, чтобы сконцентрироваться на дипломе и поступлении в магистратуру.

Попытки найти работу. На вакансии в сфере дата-сайенс начал откликаться в августе 2022 года, когда уладил вопросы с учебой. Стажировки меня не интересовали — только полноценная работа.
На некоторые должности, где требовались знания в сфере разработки, откликался «на дурачка». Прикладного опыта в этой области у меня не было: я изучал языки программирования в университете, но не применял их на практике. В таких случаях мне отказывали на этапе отбора, что неудивительно.
Первое мое интервью проходило в хедж-фонде — я пытался туда устроиться на позицию дата-аналитика . На собеседовании проверяли знание Python, для этого дали решить несколько задач. С ними я справился хорошо, а потом мы приятно побеседовали с директором. Но через неделю он неожиданно написал, что прием приостановлен. Это выглядело странно.
Второе собеседование было в управлении крупного банка и тоже на аналитика. Эйчар уверял, что со мной просто поболтают о жизни и предыдущем опыте работы. В реальности все оказалось иначе: сперва руководитель спрашивал, почему я хочу именно к ним, а потом начал гонять по финансовым терминам. Отвечал я не так хорошо, как мог бы , но в итоге меня пригласили в следующий этап отбора. Решил отказаться, потому что офис компании находился слишком далеко.
Следующее интервью тоже проходило в банке — подавался туда на должность количественного аналитика. Сначала я рассказывал руководителю о своем опыте, а потом отвечал на теоретические вопросы. Среди прочего интервьюера интересовало, насколько хорошо я разбираюсь в инструментах Python, умею ли работать с Pandas и какие существуют принципы написания качественного и читаемого кода.
Pandas — программная библиотека на языке Python для обработки и анализа данных
Второй частью отбора стало тестовое задание: требовалось построить определенный алгоритм машинного обучения. Я потратил на это около двух недель, а в итоге выяснилось, что на должность взяли другого сотрудника компании. Было очень обидно.
На каждом собеседовании мне не хватало каких-то знаний: где-то — по финансам, в другом месте — по программированию. Еще я ощущал, что недостаточно хорошо разбираюсь в современном машинном обучении.
Тем не менее работу я в итоге нашел. В начале сентября в чат выпускников ВШЭ переслали сообщение от девушки, которая искала продуктового аналитика в одну крупную финансовую организацию. Вакансия меня заинтересовала, и я на нее откликнулся. Написал, что у меня был похожий опыт и я готов пройти собеседование.

Конкурс на эту позицию проходил в три этапа. Сначала я на протяжении часа отвечал на несложные вопросы по математике, в том числе по теории вероятности и математической статистике. Затем давали продуктовый кейс: нужно было попробовать себя в роли аналитика и помочь компании решить проблему. Заключительной ступенью отбора стало интервью с командой, во время которого коллеги присматривались ко мне, а я — к ним. В итоге меня взяли, и я приступил к работе с октября.
Что сейчас. Я работаю продуктовым аналитиком в отделе Системы быстрых платежей. Изучаю, как пользователи взаимодействуют с этим сервисом, и помогаю компании его внедрять и продвигать. Могу сказать, что мои текущие задачи более глубокие и интересные, чем те, что были у меня в Центробанке, — местами я даже применяю свои знания из дата-сайенс .
Мне нравится, что работа дает много новых навыков: я начинаю лучше разбираться в языке SQL и развиваю деловое чутье.
В долгосрочной перспективе мне все же хочется стать аналитиком данных, или дата-сайентистом . Для этого продолжаю учиться и закрывать пробелы в знаниях, только уже в магистратуре Школы анализа данных и ВШЭ — поступил туда в августе.
Успешно прошли собеседование и приступили к работе? Покажите свое рабочее место и станьте героем следующего материала
Показать и рассказать
Обложка — Gorodenkoff / Shutterstock
Мария Беликова
С какими трудностями вы сталкивались при поиске работы?
Не понимаю что в этих историях «неудачного», типичные истории поиска работы в ИТ, вообще ничем не выделяются.
У меня стаж разработчиком 15+, последние 10+ лет — высоконагруженные проекты с большими командами, каждая смена работы — несколько десятков собеседований, минимум 2-3 месяца по времени и сотни часов на подготовку.— Не надо переживать что что-то не знаешь — всегда что-то не знаешь, это совершенно нормально, даже со стажем 100500 лет.
— Не надо расстраиваться что отказали, вообще пофиг, работу всегда найдешь.
— Ходите на собеседования вообще во все компании, даже в те что не интересны или точно знаете что туда не возьмут, или наоборот они слишком токсичные и туда не пойдете ни за какие деньги. Собеседования — это всегда опыт.
— Никогда не врите в CV, как я писал — ничего страшного что что-то не знаете, но при этом хорошее СV — 50% успеха. Можно попросить помощи в составлении, например, у коуча — невероятно, но это не бесполезные полуHR, а очень даже полезный специалист. У моего CV составленного с помощью специалиста рейт откликов и приглашений стремится к 100%.
— Подготовьте elevator pitch, проработайте что и как подать (и про какой опыт стоит умолчать), soft skills решает, встречал вечных джунов для которых и через 10 лет стажа надо все прожевывать по 10 раз и перепроверять результат, и ничего — работают как-то, если не касаться работы — отличные люди с которыми приятно пообщаться.d1mmmk, тоже опыт 10+ лет. Но к сожалению не получается спокойно относиться к тому что что-то не знаешь. То ли синдром самозванца, то ли ещё что.
Но то что работа всегда найдется, это даKonstantin, со временем это проходит, раньше я изучал всё подряд: каждый новый фреймворк и каждую его новую версию, вышла очередная библиотека? — минус вечер на её исследование. Очередной es2013, 2015, 2020. Что-то из этого мне особенно помогло? Вообще нет, инструменты и технологии меняются, глубоко изучать всё подряд нет никакого смысла. Знаешь название и что-то слышал — замечательно, знаешь что именно этот инструмент/технология помогает решать — вообще супер, если надо то по ходу работы изучишь. Но базу знать надо, потом все новое начнёшь щёлкать как орешки.
>> Там требовалось писать на JavaScript, не используя библиотеки, а мне это было неинтересно. Пришлось продолжить поиски работы
Азазаза, ахаха. Когда будет 10+ лет опыта, тогда уже можно выбирать что хочется, а что нет. А сейчас, когда на одну вакансию джуна присылают несколько сотен резюме — сам себе злобный Буратино. А такая вакансия, кстати говоря, лучший вариант чтобы прокачаться в скилах.
>> Спустя месяц еще раз попробовал попасть на стажировку, на этот раз в небольшую компанию, о которой не было практически никакой информации в интернете. В ту шарашкину контору я тоже не прошел
Много о каких компаниях нет информации в интернете или её очень мало — это не значит, что там работают непонятно кто.
В целом удачи автору, с таким подходом лет через 5 может и получится что-то найти.
>> Были и технические требования, например применение принципов SOLID
Очень странное требование на младшего разраба, звоночек что на такой работе не стоит долго задерживаться.
>> Но через неделю он неожиданно написал, что прием приостановлен. Это выглядело странно
Дайте угадаю: написал он это после 21 сентября?