Архитектор прикладного ПО / Проектировщик классов | Полатор
Уважаемый, соискатель!
Мы работаем над созданием нового программного продукта — программно-определяемой лаборатории «ПОЛАТОР». Продукт предназначен для автоматизации исследований и быстрого прототипирования, решающий:
- Моделирование динамических систем, основанных на цифровых сигналах и событиях
- Лабораторное моделирование цепей, с участием виртуальных, смешанных и аппаратных компонентов
- Авто тестирование при производстве высокотехнологичной промышленной продукции РЭА и приборостроения
- Создание алгоритмов и средств SCADA HMI для целей АСУ-ТП
Вам предоставляется уникальная возможность реализовать свои амбициозные идеи, как в части идей по интерфейсу HMI, так и функционального наполнения разрабатываемого продукта, так как ваше участие предполагается с самого начала проектирования и разработки нашего продукта. Ваша экспертиза по данной теме будет очень востребована.
Вакансия ожидает одну из ключевых фигур – Архитектор прикладного ПО, задачами которого будет является формирование облика программного продукта, а также сопутствующих материалов.
Мы бы хотели пообщаться и обсудить опыт по следующим направлениям:
Парадигмы программирования
- Продемонстрировать понимание этого термина, назвав известные. Важно понимать разницу между императивными и декларативными языками. В свободной форме рассказать об опыте структурного и обобщенного программирования.
Структурное программирование
- Отличать процедурный стиль от ООП
- Понимать, как ООП снижает сложность
- Понимать почему важно снижать сложность, и когда пора остановиться
Контроль большого количества артефактов продукта
- (опционально) Опыт работы с большим количеством проектов в солюшенах (суммарно 100 и более проектов, не считая заимствованные);
- Опыт использования систем версионирования;
- Опыт использования систем управления проектами;
- Опыт в автоматизации сборки дистрибутивов
Проектирование
- Абстракции
- Понимать разницу между абстрактными и конкретными требованиями к продукту и разницу между аудиторией конечных пользователей. Например, при проектировании библиотек, SDK или приложений.
Модели данных
- Назвать способы отображения объектных моделей на реляционные
- Рассказать на что обращать внимание при выборе типа идентификаторов
- Назвать способы хранения данных, которые помогают уменьшить время их поиска
- Назвать способы контроля целостности данных
Интерфейсы
- Привести примеры сценариев с использованием синхронных и асинхронных вызовов
- Привести примеры интерфейсов, которые способны возвращать не только результат обработки данных, но и информацию о невозможности успешного завершения.
Взаимодействие между процессами ОС
- Объяснить, что такое маршалинг, сериализация и десериализация
На данный момент мы ведем разработку на следующем стеке технологий: кроссплатформенный код C++ (17), библиотеки собственной разработки и OpenSource.
Что мы предлагаем:
- Высокотехнологичную разработку коммерческого софта (десктоп, сервер);
- Сквозной Model-Driven подход в разработке;
- Дизайн и архитектуру, начиная с требований, проходя через проектирование, кодогенерацию и кодирование, заканчивая тестированием требований, с завершением на билд-системе.
Условия по линии HR:
- Оформление по ТК, аккредитованная IT-компания
- Достойная заработная плата - обсуждается с каждым кандидатом индивидуально на интервью
- Своевременность выплаты "белой" заработной платы, два раза в месяц;
- Гарантии в соответствии с ТК РФ (оплачиваемый отпуск, больничный) с первого дня;
- Офис: 4 мин от м.Калужская, БКЛ м.Воронцовская 1 мин;
- Четкие задачи каждой роли (аналитик - требования, архитектор – проектирование, разработчик – код и микропроектирование, тестировщик - тесты и автоматические тесты);
- Ускоренный рост дохода зависит от каждого активного сотрудника;
- Отсутствие формы допуска;
- Отсутствие бюрократии и долгих согласований;
- Оборудованное рабочее место современными инструментами для профессиональной работы;
- Бесплатное обучение
- Период адаптации проходит с профессиональным наставником
- Корпоративные медиа: почта, чат, видеоконференция;
- Кухня в офисе, столовая в нашем здании на первом этаже;
- Возможность получить уникальный опыт и персональную роль в команде разработки.