Работа в Wiren Board

Компания Wiren Board разрабатывает и производит электронику для автоматизации инженерных систем: промышленных и коммерческих объектов, частных домов и квартир. Среди клиентов - как профессиональные интеграторы, так и энтузиасты умного дома.

Wiren Board была основана в 2013 году тремя выпускниками Физтеха. Владельцы компании - это люди, которые сами умеют делать суровые инженерные вещи, и у них есть чему поучиться. В компании западный стиль управления. Отсутствует строгая иерархия, дистанция между топ-менеджментом и персоналом минимальная, общение исключительно на “ты”. Любой сотрудник может предложить идею на общем собрании. Сотрудники вовлечены в процесс принятия решения.

Основной офис в Долгопрудном, но много сотрудников работает удаленно.

В планах — масштабирование производства, открытие офисов в Европе и в Азии, захват мира =)

В нашей инженерной команде больше 20 человек. Работу можно условно разделить на три большие части:

  • Схемотехника устройств (новые устройства и улучшение старых)
  • Разработка и поддержка ПО для Linux
  • Разработка и поддержка ПО для микроконтроллеров

Схемотехника устройств

Все начинается с изучения потребностей клиентов: спрашиваем, чего им не хватает, думаем, как это проще сделать. Это творческий процесс, требующий коллективной работы инженеров и менеджеров, понимания потребностей рынка и наших возможностей.

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

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

Разработка и производство устройств на одном этаже —сразу видно, что получается, и можно оперативно вносить изменения в продукт.
Мы делаем автоматизацию доступной для людей!

Разработка ПО для Linux

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

  • для опроса устройств на шине RS-485;
  • для работы с KNX;
  • для взаимодействия через GPIO и чтения напряжений с АЦП;
  • движок правил для написания сценариев автоматизации на языке JavaScript;
  • web-интерфейс;
  • и ещё много других.

Все они взаимодействуют через протокол MQTT, стандартный для IoT. Мы применяем открытую архитектуру, так что возможности контроллера можно расширять за счет стороннего софта, например, Zigbee2MQTT, Z-Way, Rapid SCADA и IntraSCADA. А вот интеграция с Node-RED была разработана силами сообщества. Использование MQTT также позволяет легко подключить контроллер к облачным сервисам.

Большая часть кода в Open Source и выложена на GitHub. Именно открытую архитектуру мы считаем основным достоинством контроллера Wiren Board.

Для того, чтобы поддерживать надежность нашего ПО, используется многоуровневое тестирование: unit-тестирование при разработке отдельных сервисов, интеграционное — для проверки функциональности контроллера, в целом. Сборка и тестирование автоматизированы с помощью CI (Jenkins). Разработка ведется по Скраму, в процессе проводится code review, что позволяет выявлять недочеты на ранних этапах.

Также мы перешли на периодический выпуск стабильных релизов, чтобы за счет небольшой задержки во времени доставлять уже проверенные обновления для тех, кому надежность важнее новых фич. Для желающих же пользоваться самым свежим ПО у нас есть публичный testing, который также проходит автоматическое тестирование.

Разработка ПО для микроконтроллеров

Мы исповедуем UNIX Way: любим консоль, пишем прошивки на plain C, для сборки используем самый базовый тулчейн: gcc + make. Это позволяет легко автоматизировать процессы сборки. Каждый использует ту IDE, к которой привык.

В отличие от мира Arduino у нас довольно большой парк устройств, и это заставляет нас использовать «взрослые методы»: систему версионирования и процедуры ревью кода, — в этом нам помогает Git и GitHub. Большая часть кода для проектов общая и вынесена в субмодули.

Мы используем CI/CD. Прошивки собираются изолированно на отдельном сервере из Git, и это позволяет гарантировать чистую сборку. У нас нет зависимостей от библиотек, установленных локально у разработчика. Для каждого устройства генерируется файл обновления с прошивкой — эти файлы автоматически попадают в публичное облако. Клиент может мгновенно обновить любое устройство или автоматически поддерживать актуальное состояние всех устройств. Мы планируем архитектуру таким образом, чтобы можно было покрывать коды прошивок юнит-тестами, и стараемся это делать.

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

Конечно же, у нас есть еще и менеджеры по продажам, монтажники и другие специалисты, которые составляют немаловажную часть нашей команды. У нас прекрасный офис и очень уютная кухня, где всегда можно выпить чай или свежесваренный кофе со сладостями, в том числе, и полезными. Видеоэкскурсия по нашему офису:

Ищем программиста микроконтроллеров.

Задачи: разработка, доработка и поддержка прошивок для наших устройств для автоматизации: датчиков, реле, счётчиков, диммеров.

Почти все наши периферийные устройства построены на микроконтроллерах STM32F0. Прошивки пишутся на C и собираются gcc, большинство без ОС.

Мы серьёзно подходим к качеству наших прошивок, поэтому у нас внедрён CI (прошивки автоматически собираются из веток), мы внедряем автоматизированное тестирование на разных уровнях. Для разработки используется Git и JIRA.

Мы ищем в команду человека, который:

  • отлично знает микроконтроллеры STM32;
  • хорошо знает Linux;
  • имеет хорошие знания об электронике;
  • умеет работать в команде.

Будет плюсом:

  • Владение системами контроля версий
  • Опыт автоматизированного тестирования ПО для микроконтроллеров
  • Опыт работы (или хобби) с встраиваемым железом c Linux (Wiren Board, Raspberry Pi, роутеры, андроидофоны и т.д.)
  • Понимание особенностей функционирования компьютеров в широком смысле (устройство ОС, загрузчиков, сетевых протоколов и т.д.)

График гибкий, удалённая работа возможна, но как минимум два дня в неделю надо появляться в офисе в Долгопрудном (МО, 5 км от МКАД, 5 минут от МЦД-1 "Новодачная").

Ищем senior-разработчика C++ или Python.

Мы хотим дать пользователям силу современных программных инструментов, чтобы сделать разработку на нашем оборудовании простой и быстрой. Чтобы энтузиаст смог за 15 минут собрать умный гараж, а крупный интегратор легко управлял сотнями объектов из одного места.

Будет много задач на архитектуру, рефакторинг и разработка “с нуля” решения для управления большими группами контроллеров.

Мы даём:

  • з/п от 200 до 250 т.р. по результатам собеседования;
  • удалённая работа, либо работа в офисе в Долгопрудном (5 км от МКАД) с кофемашиной и печеньками;
  • свободный график.

Мы хотим:

  • C++ или Python 3 на уровне senior;
  • опыт разработки сетевых приложений (Web, MQTT);
  • опыт построения архитектуры систем, рефакторинга;
  • Linux (Ubuntu/Debian), понимание устройства ОС;
  • Git, работа в команде, опыт code-review;

Не обязательно, но пригодится:

  • опыт работы со встраиваемым железом (Arduino, Raspberry Pi, устройства с Android);
  • Docker, Ansible и другие технологии развёртывания;
  • знакомство с Golang.

График гибкий, возможна полностью удалённая работа из любой точки мира или в офисе в Долгопрудном (МО, 5 км от МКАД, 5 минут от МЦД-1 "Новодачная").

DevOps-инженер

от 200 000 до 250 000 рублей

Ищем DevOps-инженера.

Мы хотим дать пользователям силу современных программных инструментов, чтобы сделать разработку на нашем оборудовании простой и быстрой. Чтобы энтузиаст смог за 15 минут собрать умный гараж, а крупный интегратор легко управлял сотнями объектов из одного места.

Будут задачи на конфигурирование системы CI/CD для доставки обновлений, мониторинг, управление группами контроллеров по сети и на поддержку работоспособности наших сетевых сервисов.

Мы даём:

  • з/п от 200 до 250 т.р. по результатам собеседования;
  • удалённая работа, либо работа в офисе в Долгопрудном (5 км от МКАД) с кофемашиной и печеньками;
  • свободный график.

Мы хотим:

  • хорошее знание ОС Linux (Ubuntu/Debian), systemd и сетевого стека;
  • опыт автоматизации в Jenkins или другой системе CI/CD;
  • Docker, создание контейнеров и развёртывание приложений;
  • Bash, Python 3 на уровне, достаточном для автоматизации;
  • опыт настройки сетевых сервисов (web-серверы, vpn, базы данных);

Не обязательно, но пригодится:

  • опыт работы со встраиваемым железом (Arduino, Raspberry Pi, устройства с Android).

График гибкий, возможна полностью удалённая работа из любой точки мира или в офисе в Долгопрудном (МО, 5 км от МКАД, 5 минут от МЦД-1 "Новодачная").

Middle/ Senior Frontend-разработчик

от 200 000 до 250 000 рублей

Ищем Middle/ Senior Frontend-разработчика.

Мы хотим дать пользователям силу современных программных инструментов, чтобы сделать разработку на нашем оборудовании простой и быстрой. Чтобы энтузиаст смог за 15 минут собрать умный гараж, а крупный интегратор легко управлял сотнями объектов из одного места.

Что надо будет делать:

развивать web-интерфейс для управления контроллерами (сейчас написан на AngularJS), в перспективе создание web-сервисов с нуля (опыт backend или full-stack разработки приветствуется). Готовы поменять фреймворк, если сработаемся.

Условия:

  • з/п от 200 до 250 т.р. по результатам собеседования;
  • удалённая работа либо работа в офисе в Долгопрудном (5 км от МКАД) с кофемашиной и печеньками;
  • свободный график.

Требования:

  • Опыт разработки web-приложений (HTML, CSS, JS);
  • Умение читать чужой код (даже ужасный);
  • Желательно знание AngularJS.
Инженер-электронщик

от 70 000 до 120 000 рублей

Ищем инженера-электронщика.

Мы хотим дать пользователям силу современных программных инструментов, чтобы сделать разработку на нашем оборудовании простой и быстрой. Чтобы энтузиаст смог за 15 минут собрать умный гараж, а крупный интегратор легко управлял сотнями объектов из одного места.

Обязанности:

  • Тестирование и отладка образцов электронных устройств.
  • Сопровождение производства.
  • Сборка проверочных стендов.

Требования:

  • умение работать самостоятельно, прямые руки;
  • опыт работы с Linux уровня пользователя;
  • знание основ цифровой и аналоговой схемотехники;
  • основы устройства компьютеров и компьютерных сетей;
  • английский на уровне чтения даташитов.

Будет плюсом что-то из списка:

  • опыт разработки электронных устройств;
  • опыт программирования МК;
  • опыт командной работы;
  • знания о промышленной автоматизации;
  • опыт работы с Arduino, Raspberry Pi.

Условия:

  • стандартная рабочая неделя, без переработок;
  • просторный и удобный офис, с теннисным столом и массажным креслом до которого легко добраться: пешком от платформы Новодачная (МЦД-1), на бесплатном автобусе от станции метро Физтех или на машине по Дмитровскому шоссе.
  • молодой коллектив;
  • З/п: от 70 т.р. в зависимости от квалификации.
Инженер по продажам

от 80 000 до 140 000 рублей

Задачи: помощь клиентам, подбор оборудования, технические презентации заказчикам, участие в выставках, оформление отчётов о внедрениях.

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

Мы ищем в команду человека, который

  • Отлично разбирается в оборудовании для автоматизации
  • Умеет и любит хорошо и грамотно говорить и писать
  • Имеет начальные знания об электронике
  • Умеет работать в команде

Не обязательно, но будет востребовано:

  • Знание английского языка
  • Опыт работы с Corel Draw, Autocad и т.п.
  • Опыт разработки проектов

График гибкий, удалённая работа возможна, но как минимум два дня в неделю надо появляться в офисе в Долгопрудном (МО, 5 км от МКАД, 5 минут от МЦД-1 "Новодачная")..

Вакансия предполагает поездки по Москве и общение с существующими клиентами. Командировки возможны редко и щедро компенсируются.

Условия покупки

Общие положения

1. Настоящие Правила продажи разработаны на основании Гражданского кодекса РФ, Закона РФ от 7 февраля 1992 г. № 2300-1 «О защите прав потребителей», постановления Правительства РФ от 27 сентября 2007 г. № 612 «Об утверждении правил продажи товаров дистанционным способом» и иных нормативно-правовых актов. Настоящие правила регулируют порядок розничной купли-продажи Товаров через Интернет-магазин, являясь публичной офертой, адресованной физическим и юридическим лицам («Покупателям»).

2. Покупатель принимает условия, изложенные в настоящих правилах путем оформления Заказа на сайте Интернет-магазина.

Заказ считается оформленным надлежащим образом в случае, если Покупателем предоставлена Продавцу следующая информация: Фамилия, Имя, Покупателя, телефон, адрес по которому следует доставить Товар, наименование Товара, количество.

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

3. При продаже товаров дистанционным способом Продавец предлагает Покупателю услуги по доставке Товаров Службами доставки. При этом конкретная Служба доставки для каждого Заказа определяется Покупателем при оформлении заказа.

Доставка осуществляется в будние дни с 9:00 до 18:00. Сроки доставки зависят от выбранного региона и составляют от 1 до 14 рабочих дней (не считая дня заказа). Срок доставки может быть увеличен в случаях, предусмотренных правилами работы Службы доставки. Доставка осуществляется без демонстрации. Если Вы не согласны со сроками доставки, то Вы вправе отказаться от своего заказа в любое время до его получения.

Ознакомиться с тарифами на доставку по регионам можно на сайте курьерских служб: СДЭК, КСЭ, EMS.

В случае отказа Покупателя от Товара с Покупателя взимается стоимость доставки в соответствии с тарифом согласно пункту 21 Постановления Правительства Российской Федерации от 27.09.2007 № 612 «Об утверждении правил продажи товаров дистанционным способом».

При получении Товара от Службы доставки Покупатель обязан проверить внешний вид упаковки Товара (на отсутствие деформации, вскрытия). При получении Товара Покупатель ставит свою подпись в квитанции о доставке в графе: «Я подтверждаю, что отправление принято в закрытом виде, отсутствуют внешние повреждения упаковки, перевязи, печатей (пломб), вес отправления соответствует весу, определенному при его приеме».

В случае обнаружения каких-либо дефектов на упаковке Товара Покупатель обязан сделать об этом отметку в квитанции курьера в графе доставка. После получения Заказа и проставления подписи Покупателем в квитанции в графе доставка без указания претензии к внешнему виду упаковки Товара, претензии к внешним дефектам упаковки (ее вскрытию и возможной некомплектности Товара) не принимаются.

4. Оплата заказанных Товаров осуществляется:

  • Банковским переводом по счету выставленному для Покупателя.
  • Пластиковой картой по ссылке, сгенерированной для Покупателя.
  • Оплата по QR-коду, сгенерированному для Покупателя (оплачивая заказ данным способом, вы соглашаетесь с условиями Договора публичной оферты).

5. Обработка заказов производится в рабочие дни с 10:00 до 18:00 по Московскому времени. В случае если Вы оформили заказ после 18:00 по Московскому времени, менеджеры свяжутся с Вами на следующий рабочий день после 10:00 часов утра.

6. Товар надлежащего качества, Вы можете вернуть согласно условиям возврата.

Для этого необходимо написать электронное письмо с заявлением на возврат/обмен на info@wirenboard.com.

Обращаем внимание, что при отказе Покупателя от Товара, Продавец возвращает сумму, уплаченную Покупателем за Товар, за исключением расходов Продавца на доставку от Покупателя возвращенного Товара, не позднее, чем через 10 дней с даты предъявления соответствующего требования.

7. Гарантийный срок на Товар устанавливается в размере 24 месяцев с даты отгрузки.

8. Риск случайной гибели или случайного повреждения Товара переходит к Покупателю в момент передачи ему Товара и проставления Покупателем подписи в документах, подтверждающих доставку Заказа. Право собственности на Товар переходит к Покупателю в момент передачи Товара, при условии его полной оплаты.

9. К отношениям между Покупателем и Продавцом применяется законодательство Российской Федерации.

10. Продавец оставляет за собой право вносить изменения в настоящие Правила продажи, в связи с чем Покупатель обязуется регулярно отслеживать изменения в Правилах, размещенных на сайте Интернет-магазина. Уведомление об изменении настоящих Правил продажи Продавец обязан разместить не позднее, чем за 7 (семь) календарных дней до даты их вступления в силу.

11. Покупатель гарантирует, что все условия настоящих Правил продажи ему понятны, и он принимает их безусловно и в полном объёме.

12. Недействительность какого-либо положения настоящих Правил не влечет за собой недействительность остальных положений.

13. Все возникающее споры Стороны будут стараться решить путем переговоров, при недостижении соглашения спор будет передан на рассмотрение в арбитражный суд г. Москвы в соответствии с действующим законодательством РФ.