Вакансии

Программист-стажерКонтактная информация
от 40000 RUR до вычета НДФЛ
Требуемый опыт работы: Нет опыта
Полная занятость, Полный день
Ближайшая станция метро:
Выборгская (Кировско-Выборгская линия)
Санкт-Петербург, Петроградская наб., 38а
personal@supertel.ru
тел. (812) 644-04-30 доб. 1103
Обязанности:
  • Разработка встраиваемого ПО для телекоммуникационного оборудования.

    Работа непростая, интеллектуальноемкая, но под руководством опытного наставника.

Требования:
  • Оконченное высшее профессиональное образование (технический профиль);
  • Знание основ программирования (предпочтение опыту системного программирования в Linuх; со встраиваемым программным обеспечением и в сфере IP-технологий).

Условия:
  • Работа с использованием передовых технологий;

  • Широкие возможности профессионального развития;

  • Итоговая мотивация обсуждается по результатам испытательного срока.

Ключевые навыки: системное программирование, сетевые технологии, Встраиваемое ПО (Embedded Software), Linux, программирование на С

Программист C (Linux)Контактная информация
от 150000 RUR до вычета НДФЛ
Требуемый опыт работы: От 3 до 6 лет
Полная занятость, Полный день
Ближайшая станция метро:
Выборгская (Кировско-Выборгская линия)
Санкт-Петербург, Петроградская наб., 38а
personal@supertel.ru
тел. (812) 644-04-30 доб. 1103

ОАО "СУПЕРТЕЛ" - уникальное Российское предприятие, которое самостоятельно разрабатывает и производит современное оборудование проводной (оптической) связи по технологиям OTN, IP, SDH, DWDM; на сегодня в производстве находится порядка 20 типов оборудования.

Для участия в разработке нового оборудования ищем опытного программиста.

Должностные обязанности:

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

Обязательные требования:

  • Опыт разработки на C не менее 3-х лет
  • Разработка многопоточных приложений и понимание применения объектов синхронизации (mutex, semaphores, etc.)
  • Знание средств разработки и отладки (gcc, gdb, Makefile, CMake, Shell scripting, etc.)
  • Знание систем контроля версий git или mercurial
  • Умение разбираться в чужом коде
  • Работа в команде
  • Чтение технической документации на английском языке

Дополнительным преимуществом для Вас будут:

  • Умение писать код с минимальной избыточностью
  • Опыт разработки драйверов для Linux
  • Опыт работы с системой сборки Yocto/OpenEmbedded
  • Опыт работы с процессорами архитектуры PowerPC, ARM
  • Опыт разработки ПО для микроконтроллеров
  • Опыт работы с RTOS
  • Опыт работы с аппаратными отладчиками JTAG
  • Опыт работы с сетевым оборудованием (L2/L3) либо оборудованием связи

Мы предлагаем:

  • Достойную "белую" заработную плату (уточняется в зависимости от Ваших знаний и опыта по результатам собеседования)
  • Оформление по трудовому кодексу
  • Работу с использованием передовых технологий
  • Карьерный и профессиональный рост
  • Полис ДМС + льготное страхование для членов семьи

Приветствуется Ваше резюме с описанием опыта работы и, если есть, примеры кода, разработанного Вами (либо ссылка на него, если он есть в открытом доступе).

Поскольку работа сложная, а требования к соискателю высокие - перед собеседованием обязательно потребуется выполнить тестовое задание:

Задание и условия его выполнения:

Тестовое задание должно быть выполнено на «голом» C под Linux.

Технологии и языки, применяемые для web|desktop (типа python и CGI) использовать нельзя. По результатам, с одной стороны - Вы немного познакомитесь с нашими задачами, с другой стороны – мы познакомимся с Вашим стилем программирования. Прошу не стесняться обращаться, если текст задания вызывает вопросы.

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

Если Вас смущает передача 100% готового кода задания, то для предварительного просмотра достаточно ~70% исходников и исполняемого файла; остальное можно принести на собеседование.

Объясню, почему так : задачи, которые будут перед Вами стоять, в случае, если мы договоримся о сотрудничестве, несколько сложнее приведённых в тесте и решать их надо будет самостоятельно. Если Вы не справляетесь с тестами – нет смысла говорить о большем. Желаю Вам успеха и надеюсь, что наша позиция будет правильно понята.

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

Текст тестового задания:

Два типа блоков – «control block» и «client1», «client2», …. , «clientN» соединены в одноранговую локальную сеть.

control block, он же блок управления, он же «мастер-контроллер»; может быть в составе сети только в одном экземпляре

Блоки индикации, они же "Client#", имеются в количестве от 3 до 200.

Все блоки распределены в пространстве и установлены на улице. Блоки объединены локальной сетью Ethernet. Каждый блок индикации имеет 2 датчика: датчик температуры и датчик освещенности.

Мастер-контроллер в произвольные моменты времени отправляет в блоки индикации данные для отображения; например: текст, температура, время и яркость. Так же, мастер-контроллер периодически (1 раз в 5 секунд) опрашивает все датчики с блоков индикации, рассчитывает среднее значение температуры и освещенности. Среднее значение температуры используется для отправки в блоки индикации в виде текста, а среднее значение освещенности используется для подстройки яркости отображаемой информации. Мастер-контроллер устанавливает значение яркости во все блоки индикации в соответствии с расчетным средним значением освещенности.

Иногда случается так, что блок управления теряет связь с блоками индикации (как повезёт - может со всеми, а может только с частью), поэтому блоки индикации остаются без управления на время более 5 минут. В этом случае роль блока управления должен взять один из блоков индикации, до того момента пока основной блок управления снова станет доступен. Блок индикации, который взял роль мастер-контроллера, так же может потерять связь с блоками индикации (как повезёт - может со всеми, а может только с частью), после чего должен выбраться новый мастер-контроллер.

Количество блоков индикации может меняться в процессе работы.

До момента подключения к сети мастер-контроллер ничего не знает о клиентах.

  1. Предложите и реализуйте в программе алгоритм выбора нового мастера между блоками индикации при потере соединения с блоком управления (основным блоком управления или блоком индикации, выполняющим функции мастер-контроллера). Описание алгоритма нужно представить в виде отдельного текстового файла.

  2. Напишите программу-эмулятор блока индикации, соответствующую описанию.

  3. Напишите программу-эмулятор блока управления, соответствующую описанию.

P.S. простите за длинный текст - этот сайт перестал поддерживать ссылки на внешние ресурсы :(

Ключевые навыки: Linux, embedded, C/C++, встроенное ПО, Multithread Programming, Embedded Linux

Сетевой инженерКонтактная информация
от RUR до вычета НДФЛ
Требуемый опыт работы: От 1 года до 3 лет
Полная занятость, Полный день
Ближайшая станция метро:
Выборгская (Кировско-Выборгская линия)
Санкт-Петербург, Петроградская наб., 38а
personal@supertel.ru
тел. (812) 644-04-30 доб. 1103
Обязанности:
  • выполнение работ по администрированию активного сетевого оборудования, серверов, рабочих мест пользователей;
  • расширение инфраструктуры, интеграция новых систем, технологий и программных продуктов;
  • диагностика, устранение сбоев, обеспечение бесперебойной работы, надежности и доступности систем.
Требования:
  • оконченное высшее образование (технический профиль);
  • уверенные навыки bash/Python/PHP/MySQL;
  • владение syslog, ansible, radius, 802.1x, backup, zabbix, snmp, sflow;
  • опыт работы с оптоволокном(укладка/разварка);
  • виртуализация(XEN/VMWARE/Hyper-V);
  • владение средствами защиты информации (UTM, NGFW);
  • серверное администрирование (Windows, Linux);
  • VPN, SAN.
Условия:
  • работа с использованием передовых технологий;
  • профессиональное развитие;
  • ДМС по окончании испытательного срока, возможность льготного страхования членов семьи;
  • окончательный уровень мотивации обсуждается с финальным кандидатом.
Ключевые навыки: Администрирование серверов Windows, Администрирование серверов Linux, Администрирование сетевого оборудования, Настройка серверов, Zabbix