Умный дом и фронтенд-разработка для финтеха – где связь? История одной одержимости техникой

Представьте ведущего «Оч.умелых ручек» Андрея Бахметьева работающим в айти. Примерно так выглядит история героя этого текста. Еще в нулевых Виталий заинтересовался идеями, которые сегодня воплощаются в «умном доме». 10+ лет спустя это увлечение очень извилистым путем привело его во фронтенд. Рассказываем, как это было. 

Мне лет пять, и дома часто ломается телевизор

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

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

Радиоприемник, который превратил геймпад от Sega Mega Drive в беспроводной

Радиоприемник, который превратил геймпад от Sega Mega Drive в беспроводной

Эра ПК и начало умного дома

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

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

Дальше — микроконтроллер. Сначала пришлось самому сделать программатор микроконтроллеров. Для программирования микроконтроллеров выбрал Assembler, учил его по книжке. Чтобы писать утилиты в помощь, освоил C#.

cea51c83ba0a0481625881f71715e8eb.png

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

В разные времена управляла настольной лампой, вентилятором и колонками

В разные времена управляла настольной лампой, вентилятором и колонками

В общем, лампа стала умнее. И я, конечно, не остановился. Не хотел вставать с дивана, чтобы поставить на паузу фильм на компе — запрограммировал устройство, которое считывает сигналы с пульта.

Как это было

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

Собран по схеме из интернета

Собран по схеме из интернета

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

41532bc2da559a66f325ea1b19449d7e.png

Что насчет работы?

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

Умных устройств дома становилось больше. К тому времени это был датчик загрузки процессора, датчик загрузки памяти, градусники на семисегментных индикаторах, в будущем переделанные на wi-fi.

Градусник-мутант: 2 датчика температуры, микросхема часов, карта памяти для сохранения данных о температуре

Градусник-мутант: 2 датчика температуры, микросхема часов, карта памяти для сохранения данных о температуре

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

4f11f80c843cf6f1d5321ed394eb11a9.png

Да, уже давно можно покупать готовые комплектующие и делать из них по-настоящему умные дома. Но это не мой путь. Я слежу за тем, как появляются новые технологии, и раз за разом переделываю и переписываю под них свои кастомные устройства. Мне это нравится.

За это время я успел познакомиться с Assembler AVR, C#, С/C++, Java, JavaScript, научился работать с брокером сообщений, базами данных, docker-контейнерами, множеством приложений и сервисов и их настройкой.

Почему я все еще не в ИТ?

Один из стимулов идти в айти для меня — это дать себе больше возможностей заниматься своим техническим творчеством. С каждым годом увлечение дорожало. На зарплату рядового мастера стало трудно покупать Raspberry Pi в тех количествах, которых хотелось, например. 

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

Это был тренинг по JS и React от Clevertec. Здесь спрятаны подробности.

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

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

Итог марафона — это полноценный проект для резюме. В разные годы это были интернет-магазин, электронная библиотека и приложение для тренировок.

Три месяца погружения в React

Марафон по факту — это большой проект, разбитый на спринты. Мы делали электронную библиотеку. В первом спринте была верстка на React. Я к тому времени умел только статическую и посмотрел буквально пару видео, как перевести ее на React. Учился в «прямом эфире». Боялся не успеть, потому что были дедлайны и опоздавшие выбывали. Чем дальше, тем меньше времени уходило на задания. Справился.

e5d478a29e03ae0e7c7ce75c60051017.png

Теперь ничего не мешает кодить

После марафона я сосредоточился на фронтенд-разработке, изучал больше JS, TypeScript, React. Через несколько месяцев получил приглашение в Clevertec.

Сейчас я работаю на банковском проекте. В моих буднях много кода, и это не всегда фронтенд. Есть задачи по бэкенду (node js), рефакторингу. И мне это очень нравится. Я не переключаю контекст, по сути на работе и после нее занимаюсь одним делом — программирую. И мне больше не нужно настраивать манометры.

Ностальгические увлечения для ценителей

Иногда устаю и делаю перерывы от «домашнего» кодинга. В этом году, например, достал все свои приставки: PS 2, 3,4, Xbox 360. За пару месяцев поиграл во все.

Еще у нас с другом есть традиция иногда поднимать кастомный сервер игры MU Online. Это первая онлайн-игра, с которой познакомился, когда появился комп.

Раз в несколько лет мы на пару месяцев запускаем на сервере давний 6-й сезон, чтобы люди поиграли и поностальгировали. 

Серверная часть написана на C++. Код очень старый и написан плохо, приходилось во всём этом разбираться, чтобы исправлять баги и делать доработки. Со сборкой проекта вначале тоже были трудности.

Честно говоря, мне кажется, если я разобрался в этом, то теперь смогу разобраться в любом большом и запутанном проекте.

Clevertec проводит фронтенд-марафоны для начинающих разработчиков каждый год. Обычно мы стартуем в январе. Но уже сейчас открыта предварительная запись. Оставить заявку можно, заполнив эту форму. Перед стартом нового сезона вы получите письмо на почту.

© Habrahabr.ru