Все вакансии России 0

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

от 75 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

Откликнуться
Источник: zaprlata · 2 дня назад

Похожие вакансии в городе Красноярск

Все вакансии в городе Красноярск →