🔥

Не упустите лучшие вакансии!

Подключите наш Telegram-бот и получайте мгновенные уведомления о новых предложениях из 10+ источников. Будьте первым, кто откликнется!

Подключить бота

Веб-инженер (Python / Node.js / MQTT)

ООО СКМ
Красноярск
Работа в офисе
Опубликовано: 13 Apr 2026
От 70 000 ₽

О нас: Мы строим распределенную систему [укажите суть: мониторинга, IoT, телеметрии, умного дома и т.д.]. У нас нет рутинного верстания кнопок. У нас есть сложная логика взаимодействия устройств/сервисов через асинхронные сообщения, где цена ошибки — потеря данных или падение системы. Нам нужен инженер, способный держать всю архитектуру в голове.

Что мы ожидаем (Наш идеал):

1. Архитектурное мышление и понимание распределенных систем (Самое важное)

  • Глубокое понимание MQTT: Вы знаете не только как отправить сообщение через библиотеку paho или mqtt.js. Вы понимаете, как работает протокол под капотом (соединение, пинг, QoS 0/1/2, Clean Session, Retained messages, Last Will). Вы можете нарисовать схему топиков для сложной системы и обосновать, почему сделано именно так.
  • Идемпотентность и состояний: Вы понимаете, что такое дублирование сообщений при QoS 1/2 и умеете писать код, который корректно обрабатывает повторный приход одного и того же сообщения.
  • Управление(backpressure): Вы понимаете, что делать, когда продюсер генерирует сообщения быстрее, чем консьюмер может их обработать.

2. Глубокое владение стеком (Python + Node.js)

  • Python (Ядро логики):
    • Уверенное понимание GIL, асинхронности (asyncio) и многопоточности (threading). Вы знаете, когда для фоновых задач нужен Celery, а когда — asyncio.create_task.
    • Понимание управления памятью в Python.
  • Node.js (Шлюз / Реал-тайм слой):
    • Глубокое понимание Event Loop. Вы знаете разницу между setImmediate, setTimeout и process.nextTick, и понимаете, как это влияет на обработку MQTT-сообщений.
    • Умение писать устойчивый к утечкам памяти код (знание слабых ссылок, правильная очистка listeners/подписок при отключении клиентов).
  • Взаимодействие стеков: Понимание того, как безопасно передавать типизированные данные (например, через Protocol Buffers или строго валидированный JSON) между Python-бэкендом и Node.js-брокером/клиентом без потери типов и искажения чисел с плавающей точкой.

3. Инженерная смекалка (Умение работать без подсказок)

  • Системная отладка: Если MQTT-брокер (например, Mosquitto/EMQX) начинает жрать память или терять сообщения, вы не идете гуглить «как починить mqtt». Вы идете в логи системы, смотрите TCP-соединения, анализируете метрики брокера и профилируете свой код подписок.
  • Умение читать чужой код: Большую часть времени вы будете разбираться, как данные текут от источника до базы данных через 5 микросервисов.
  • Интеллектуальная честность: Если вы не знаете, как работает определенный механизм сетевого стека, вы честно говорите «я пойду и изучу это», а не выдумываете ответ или копируете непонятный код из ИИ.

❌ Красные флаги (Кого мы НЕ хотим видеть):

  • Кандидатов, которые на техническом интервью говорят: "Я бы попросил ChatGPT написать архитектуру".
  • Тех, кто не может объяснить, как работает свой собственный код на уровне цикла событий или системных вызовов.
  • Специалистов, знающих только синтаксис фреймворков (FastAPI/Express), но не понимающих, как язык работает с памятью и сетью.

Условия:

  • пятидневка с 8:00 до 17:00

Адрес вакансии:

Г. Красноярск, ул. Тамбовская 5

🚀

Ваше резюме увидят первым!

Автоматическое поднятие на HeadHunter каждые 4 часа. Увеличьте свои шансы на успех в 10 раз!

Подключить автоподнятие