Бэкендер берёт в руки паяльник: зачем я начинаю изучать Arduino

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

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

Код, который можно потрогать

В вебе результат работы — это ответ 200 OK, строчка в логе или сообщение в чате. Это полезно, но абстрактно. Мои Telegram-боты пересылают сообщения, но физически ничего не меняют.

С микроконтроллером всё иначе. Написал десять строк — и светодиод мигает. Ещё двадцать — и датчик показывает температуру в комнате. Цикл обратной связи короткий и осязаемый: ошибся в коде — видишь это глазами, а не в стектрейсе.

Есть и практический интерес. Я много работаю с ботами и интеграциями, и мне интересно соединить эти два мира. Устройство, которое само сообщает в Telegram, что в комнате душно, — это уже не учебная задача, а маленький продукт, который сочетает железо и бэкенд.

Снова быть новичком

За годы в разработке я привык, что большинство проблем решаю быстро. Вижу ошибку — примерно понимаю, где искать. В электронике этого опыта нет. Закон Ома я помню со школы, но смутно, а слова «подтягивающий резистор» пока вызывают больше вопросов, чем ответов.

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

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

При этом часть навыков переносится. Читать документацию, дробить задачу на шаги, искать причину ошибки методом исключения, вести код в Git — всё это работает и здесь. Посмотрим, насколько бэкенд-опыт помогает, а где мешает.

Почему публично

Можно было бы учиться тихо: собирать схемы, складывать скетчи в папку и никому не показывать. Но у публичного дневника есть преимущества, ради которых я готов делиться даже неудачами.

Текст проверяет понимание. Пока не попробуешь объяснить, кажется, что разобрался. Стоит начать писать — и обнаруживаешь, что не понимаешь, почему схема работает, а просто повторил её из урока. Каждая запись будет заставлять меня разобраться до конца.

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

Честно предупреждаю: это не учебник. Я буду ошибаться в терминах, выбирать неоптимальные решения и иногда делать глупости. Если заметите ошибку — напишите мне в Telegram. Исправлю и отмечу это в записи.