Об особенностях стажировки по JavaScript и своих первых шагах в IT-сфере рассказывает Артем Горбатенко — сотрудник компании SoftSwiss. Артему всего 24 года, но он уже успел поработать в трех IT-компаниях, включая iTechArt и Epam.
Как я попал на стажировку
Все случилось после окончания второго курса — я учился в Белорусском государственном университете информатики и радиоэлектроники.
Во время учебы к нам нередко приходили рекрутеры различных IT-компаний, чтобы рассказать о своих проектах и предложить стажировку с дальнейшим трудоустройством. После одного из таких выступлений нам выдали бланк с вопросами. В нем нужно было описать, что вас интересует в IT, какие технологии вы знаете, что читали по теме.
На тот момент я был неплохо знаком с JavaScript и прочитал несколько книг Кайла Симпсона:
- ES6 & Beyond;
- You Don’t Know JS: Types & Grammar;
- You Don’t Know JS: this & Object Prototypes;
- You Don’t Know JS: Scope & Closures.
Спустя некоторое время мне позвонила сотрудница компании iTechArt и предложила пройти собеседование на стажировку по направлению Fullstack JavaScript. Я слышал много хороших отзывов о компании от других студентов, поэтому согласился.
Как проходил отбор
Первым этапом было общение с рекрутером по телефону. Она задала несколько общих вопросов и проверила мой уровень разговорного английского языка. Второй этап — прескрининг с техническим экспертом, на котором мои технические знания.
После этого меня пригласили в офис компании на интервью с менеджером и рекрутером. В ходе собеседования проверяли:
- знание JavaScript: система типов, DOM, контекст выполнения и замыкания, прототипы, Event Loop, async/defer атрибуты, классы, promises;
- понимание принципов объектно-ориентированного программирования;
- знание клиент-серверной архитектуры: общая концепция, HTTP протокол;
- знание основ реляционных и нереляционных баз данных;
- базовые знания HTML/CSS.
Кроме прокаченных hard skills от будущего стажера ожидали высокий уровень разговорного английского и хорошие коммуникативные навыки. Также компания ценила проактивность, тайм-менеджмент, умение воспринимать критику и способность учиться на своих ошибках.
Собеседование не было для меня трудным: знаний, полученных на лекциях в университете, в книгах и статьях было достаточно.
Об особенностях стажировки в IT-компании
Стажировка длилась два-три месяца. На протяжении этого времени пять дней в неделю я и другие студенты посещали лекционный зал и занимались основными проектами.
Лекции читали действующие сотрудники компании. Нам рассказывали про JavaScript, React, MongoDB. На лекциях можно и нужно задавать интересующие вопросы, поэтому это была отличная возможность для общения с опытными людьми из IT.
Основной задачей стажировки была разработка веб-сервиса. В самом начале нам выдали общее описание и требования, которые нужно реализовать. Передо мной стояли следующие задачи:
- самостоятельно разработать frontend- и backend-части;
- спроектировать модели данных для БД;
- задеплоить веб-сервис для его дальнейшей демонстрации.
Разработку мы вели итеративно. В первую очередь я реализовал макет веб-сервиса, который в дальнейшем дополнял новыми фичами. Frontend разрабатывали с использованием React, backend — с использованием Node.js и Express.js. В качестве базы данных использовали MongoDB, а для деплоя — платформу Heroku. Изменения в процессе разработки отслеживали по коммитам в GitHub. Также в процессе пригодились JavaScript, Redux и HTML/CSS.
К каждому из студентов прикрепили ментора — сотрудника компании, который отвечал на вопросы, проверял результаты и оценивал итоговую работу. Огромный плюс стажировки — отзывчивость команды: все сотрудники были приятными в общении и готовыми дать подсказку или совет.
Как стажировка помогла мне в работе
На стажировке я понял процессы разработки на практике. Из других полезных навыков — я научился в сжатые сроки изучать и применять новые технологии, итеративно улучшать свой проект и делать выводы из обратной связи от более опытных коллег. Я постоянно проходил через код ревью от ментора, самостоятельно тестировал свой проект и научился работать с MongoDB, а также деплоить frontend и backend проекта на облачной платформе.
После окончания стажировки мне предложили работу в компании. В дальнейшем мне хотелось больше сфокусироваться на backend-разработке, чем я и занялся после трудоустройства. В качестве языка я выбрал Golang.
Три совета начинающим разработчикам
Определитесь с интересующей вас областью: frontend, backend, mobile, Data Science или что-то другое. Это нужно, чтобы начать изучать конкретные понятия и инструменты для работы.
Изучите требования к специалистам в вашей сфере. Попасть на стажировку стало гораздо сложнее — повысилась конкуренция. Займитесь изучением вакансий для junior- и middle-специалистов, чтобы понимать, что требуется и ценится на рынке. Изучайте новые технологии и инструменты, создавайте свои тестовые проекты.
Будьте проактивными, участвуйте в различных ивентах, которые организуют крупные компании. Это увеличивает вероятность того, что вас заметят и пригласят на стажировку.
Будьте настойчивыми и целеустремленными. Не бойтесь отказов — это естественная часть процесса поиска стажировки или основной работы. Пробуйте, и у вас все получится.