
Привет!
Уже больше шести лет компания KTS проводит курсы для разработчиков, менеджеров и аналитиков в школе Metaclass. За это время мы провели 12 потоков и наняли к себе более 50 сотрудников из числа своих выпускников. Больше половины нынешних тимлидов и синьоров KTS попали в компанию через нашу школу, и уже скоро мы открываем очередной поток наших бесплатных курсов:
Начинающий Backend-разработчик на Python (начало 10 марта, для всех желающих)
Начинающий React-разработчик (начало 10 марта, для всех желающих)
Системная и бизнес-аналитика (начало 15 марта, только для студентов)
По традиции мы общаемся с нашими выпускниками и расспрашиваем о том, как прошло обучение и оправдались ли их ожидания. В этот раз своей историей с нами поделился Илья Козлов — выпускник осеннего курса по фронтенд-разработке, которому удалось попасть на стажировку в KTS.
Содержание
Какой опыт программирования был у тебя до Metaclass?
В университете я изучал на начальном уровне несколько языков программирования (Java, C, Python) и базу по алгоритмам. Фронтенд-разработкой активно занимался около 2-х лет. Делал проекты с React, Next, Typescript, Webpack, Vite и миниаппы.
Расскажи, почему ты решил записаться на курс?
Я находился в поисках работы или стажировки. Когда узнал, что KTS приглашает выпускников своей школы на собеседования и отдает им приоритет при найме, я решил воспользоваться этой возможностью.
Как ты попал на курс?
Однокурсник, сотрудник KTS, поделился ссылкой с инфой о курсе. Спасибо ему большое!
Сколько времени занимало обучение?
Первые два модуля были вступительными и длились около двух недель (нужно было решить задачки, сверстать компоненты и отдать задание на автоматическую проверку). Этот этап не занимал много времени, в сумме уходило по несколько часов в неделю.
Остальные четыре модуля были посвящены работе над проектом и длились полтора месяца месяца. "Стандартный" вариант проекта подразумевал работу с Mock API и реализацию по готовому дизайну, но я решил, что этот вариант слишком простой. В "усложненном" варианте было необходимо подключить к проекту Firebase, где хранились данные, и можно было использовать свой дизайн. Я делал "усложненный" вариант со своим дизайном. С начала работы над финальным проектом часов 20 в неделю тратил, может, больше.
Как проходило твое взаимодействие с ментором?
Ментору я отправлял решения заданий на ревью и задавал вопросы, если они возникали. Он отвечал быстро и содержательно и давал полезную обратную связь по проекту. На мой взгляд, он был искренне заинтересован, чтобы я попал на собес.
Что было самым сложным за время учебы?
Проект, разумеется. В качестве проекта я выбрал разработку типового сайта для онлайн-магазина одежды: в нем нужно было реализовать авторизацию, а также функциональность поиска товара по имени и оформления заказов.
Товары я копировал из реального магазина и самостоятельно (кодом) загружал в Firestore — это отняло немало времени. В Firebase я настраивал авторизацию по email и google (надо признать, этот этап был довольно простым).
А вот с реализацией поиска по имени товара было сложнее. Firestore не индексирует документы для поиска сам, это можно сделать только со сторонним сервисом, и не бесплатно. Поэтому пришлось искать решение. В итоге я смог реализовать индексацию самостоятельно с помощью технологии Soundex по гайду с Хабра от 2011 года. Этот вариант уже был бесплатным, но на реализацию тоже ушло много времени.
Еще возникли сложности с MobX: чтобы правильно настроить реакции и организацию сторов, пришлось поковыряться в документации и посоветоваться с ChatGPT. Конфигурация eslint тоже прошла не без проблем, особенно тяжко было с плагинами и их совместимостью.
Но ни одна из трудностей в итоге не стала непреодолимой — Metaclass не дает испытаний сверх ваших сил ☝️
Чувствовал ли ты, что приобретаешь новые знания?
Да, на курсе впервые поработал со стейт-менеджером MobX, сервисом Firebase и настроил Webpack с нуля. Еще полезными были структура папок и best-practices от ментора. Eslint и babel тоже не приходилось использовать ранее, очень понравилось форматирование линтером с упорядоченными импортами.
Попробовал еще несколько новых библиотек: react-infinite-scroll-component для скролла, react-toastify для уведомлений, qs для query-параметров и embla-carousel-react для карусели. Некоторые из них были в программе курса, другие я нашел и освоил самостоятельно при работе над итоговым проектом.
Дам небольшие пояснения для тех читателей, кто впервые сталкивается с некоторыми понятиями — часть из них я сам освоил только на курсе:
Стейт-менеджеры позволяют удобно управлять состоянием приложения. Например, если пользователь интернет-магазина добавил некоторые товары в корзину, эти товары нужно где-то сохранять. Это можно реализовать через стейт-менеджер, куда инфу о товарах можно сложить и потом ей манипулировать.
Firebase — это сервис, помогающий в разработке приложений. С его помощью можно сохранять данные в БД, подключать авторизацию через провайдеры, хостить сайты и т.д.
Webpack нужен для того, чтобы файлы с расширениями, которые браузер не понимает, трансформировать в HTML, CSS и JS. Например, если мы пишем приложение, используя scss или ts-файлы, то их нужно положить в Webpack. Он преобразует файлы в css и js, чтобы браузер смог их отобразить.
Какой ты видишь свою карьеру мечты?
Хочу быть компетентным и разносторонним профессионалом в своем деле (вебе), получать от работы удовольствие и приносить пользу другим людям.
Помог ли курс приблизиться к этой мечте?
Да, с помощью курса я попал на стажировку и получил возможность работать над реальными проектами, перенимая знания более опытных коллег.
Какой момент, связанный с Metaclass, запомнился тебе сильнее всего?
Приглашение на собес.
Другие интервью с нашими студентами-выпускниками:
Сменить профессию и не сойти с ума: интервью с выпускником курса «Начинающий Backend-разработчик»
Открываем курс по Kubernetes и рассказываем, зачем разработчику знать DevOps
Подписаться на канал школы в Telegram