Представьте ведущего “Оч.умелых ручек” Андрея Бахметьева работающим в айти. Примерно так выглядит история героя этого текста. Еще в нулевых Виталий заинтересовался идеями, которые сегодня воплощаются в “умном доме”. 10+ лет спустя это увлечение очень извилистым путем привело его во фронтенд. Рассказываем, как это было.
Мне лет пять, и дома часто ломается телевизор
Он – ламповый, огромная коробка с платами, в которой еще нужно умудриться разобраться. Но мой дед – мастер на все руки. Он целый день копается во внутренностях этого динозавра, а я кручусь рядом. К телевизору прилагался мануал – огромная схема. Так получилось, что читать ее я научился раньше, чем обычный текст.
С тех пор во мне навсегда проснулась любознательность. Поэтому я знаком со внутренним миром всех своих устройств. Часто хочется что-то доработать, изменить. Из-за сложности устройства не всегда это возможно. Из любопытства тоже разбираю, но в большинстве случаев ремонтирую то, что сломалось.

Эра ПК и начало умного дома
Первую идею улучшения подсказала лень – двигатель прогресса. Мне не хотелось далеко тянуться, чтобы зажечь настольную лампу. Почему бы не включать ее с клавиатуры?
Для этого нужна была программа и понимание, как соединить лампу с ПК. На тот момент мне был доступен только COM-порт. Сейчас его можно встретить разве что на промышленном оборудовании, а раньше был в каждом компьютере, даже мышка подключалась через него.
Дальше – микроконтроллер. Сначала пришлось самому сделать программатор микроконтроллеров. Для программирования микроконтроллеров выбрал Assembler, учил его по книжке. Чтобы писать утилиты в помощь, освоил C#.

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

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

Сейчас это звучит странно, но то была еще эра проводных устройств. У меня в распоряжении появлялись usb-микроконтроллеры, потом беспроводные устройства, wi-fi. Все проходило через мои руки.

Что насчет работы?
Я занимался регулировкой манометров. Работу тоже хотелось сделать удобнее. Когда купил первый смартфон на Android, решил разобраться и с ним. Подучил Java, который оказался очень близким к C#, написал MVP простой программы, в которую можно было записывать тип выполненной работы: количество и часы. Так избавился от бумажек, блокнотов и бесконечных переписываний от руки в журнал.
Умных устройств дома становилось больше. К тому времени это был датчик загрузки процессора, датчик загрузки памяти, градусники на семисегментных индикаторах, в будущем переделанные на wi-fi.

Захотел показания с датчиков объединить в один интерфейс. Задумался над Android-приложением для планшета, но знаний было маловато и не было желания тратить много времени. Поэтому выбор пал на веб. Вот это и есть мой первый шаг во фронтенд. Сейчас у меня веб-сервер на Raspberry Pi, который выводит все на планшете.

Да, уже давно можно покупать готовые комплектующие и делать из них по-настоящему умные дома. Но это не мой путь. Я слежу за тем, как появляются новые технологии, и раз за разом переделываю и переписываю под них свои кастомные устройства. Мне это нравится.
За это время я успел познакомиться с Assembler AVR, C#, С/C++, Java, JavaScript, научился работать с брокером сообщений, базами данных, docker-контейнерами, множеством приложений и сервисов и их настройкой.
Почему я все еще не в ИТ?
Один из стимулов идти в айти для меня – это дать себе больше возможностей заниматься своим техническим творчеством. С каждым годом увлечение дорожало. На зарплату рядового мастера стало трудно покупать Raspberry Pi в тех количествах, которых хотелось, например.
Я понимал, что знаю много, но это казалось недостаточным для ИТ. Как искать работу, писать резюме, проходить собеседования? Все это было далеко от моего мира. Поэтому начал думать о курсах. Смотрел в сторону тех, что обещали помощь с трудоустройством, и уже почти купил один. Но увидел объявление о бесплатном фронтенд-марафоне и решил – с этим я справлюсь.
Это был тренинг по JS и React от Clevertec. Здесь спрятаны подробности.
Фронтенд-марафон – это онлайн-тренинг длительностью 2-3 месяца. Он не похож на классический курс и ориентирован на самостоятельную работу. Каждую неделю участники получают задание на спринт, подробную инструкцию и список источников, которые помогают сделать задание.
Задания сначала проверяются автотестами. Дальше отправляются на ревью к ментору – он оставляет комментарии и рекомендации. Все, кто дошел до финала, проходят собеседование и по его результатам могут попасть на стажировку в Clevertec.
Итог марафона – это полноценный проект для резюме. В разные годы это были интернет-магазин, электронная библиотека и приложение для тренировок.
Три месяца погружения в React
Марафон по факту – это большой проект, разбитый на спринты. Мы делали электронную библиотеку. В первом спринте была верстка на React. Я к тому времени умел только статическую и посмотрел буквально пару видео, как перевести ее на React. Учился в “прямом эфире”. Боялся не успеть, потому что были дедлайны и опоздавшие выбывали. Чем дальше, тем меньше времени уходило на задания. Справился.

Теперь ничего не мешает кодить
После марафона я сосредоточился на фронтенд-разработке, изучал больше JS, TypeScript, React. Через несколько месяцев получил приглашение в Clevertec.
Сейчас я работаю на банковском проекте. В моих буднях много кода, и это не всегда фронтенд. Есть задачи по бэкенду (node js), рефакторингу. И мне это очень нравится. Я не переключаю контекст, по сути на работе и после нее занимаюсь одним делом – программирую. И мне больше не нужно настраивать манометры.
Ностальгические увлечения для ценителей
Иногда устаю и делаю перерывы от “домашнего” кодинга. В этом году, например, достал все свои приставки: PS 2, 3,4, Xbox 360. За пару месяцев поиграл во все.
Еще у нас с другом есть традиция иногда поднимать кастомный сервер игры MU Online. Это первая онлайн-игра, с которой познакомился, когда появился комп.
Раз в несколько лет мы на пару месяцев запускаем на сервере давний 6-й сезон, чтобы люди поиграли и поностальгировали.
Серверная часть написана на C++. Код очень старый и написан плохо, приходилось во всём этом разбираться, чтобы исправлять баги и делать доработки. Со сборкой проекта вначале тоже были трудности.
Честно говоря, мне кажется, если я разобрался в этом, то теперь смогу разобраться в любом большом и запутанном проекте.
Clevertec проводит фронтенд-марафоны для начинающих разработчиков каждый год. Обычно мы стартуем в январе. Но уже сейчас открыта предварительная запись. Оставить заявку можно, заполнив эту форму. Перед стартом нового сезона вы получите письмо на почту.
Автор: Clevertec_dev