Primo RPA

Разработчик C# + linux

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • Более 6 лет
  • Linux
  • C#
  • C/C++
  • Уверенное знание:
  1. Коллекции, IEnumerable, ICollection, …, прочие структуры данных;
  2. Лямбды, LINQ;
  3. Интерфейсы/абстрактные классы/наследование/полиморфизм/структуры;;
  4. Обобщенные типы/интерфейсы/методы
  5. async/await;
  6. Параллельное программирование, примитивы синхронизации, lock-free, умение привести примеры;
  7. SOLID, шаблоны проектирования, умение привести примеры и контрпримеры;
  8. Тестирование. Личное отношение/пропорции затрат для золотой середины.
  • Linux (желательно):
  1. Навыки разработки сервисов под Linux на C/C++;
  2. Знакомство с CMake/vcpkg;
  3. Понимание Api systemd;
  4. Решать задачи, не связанные непосредственно с разработкой на C#.
  • Windows:
  1. Навыки разработки с использованием WinApi;
  2. Навыки настройки AD/RDS/RDP, политик;
  3. Решать задачи, не связанные непосредственно с разработкой на C#.
  • БД:
  1. PostgreSQL, MSSQL;
  2. SQL;
  3. EF, Dapper, миграции. Плюсы/минусы ORM, ограничения, в каких случаях не стоит использовать;
  4. Транзакции, уровни изоляции транзакций;
  5. Оптимистическая/пессимистическая блокировка;
  6. Личное отношение к EAV-модели, нормализация/денормализация, умение привести примеры.
  • REST Api:
  1. GET, POST, PUT, DELETE;
  2. Аутентификация/авторизация (windows Kerberos, OIDC);
  3. Middleware, конвейер обработки запроса;
  4. Валидация команд, где и почему она должна располагаться в коде. Возврат/обработка ошибок, типовая семантика HTTP-статусов возврата.
  • Алгоритмы:
  1. Оценка сложности;
  2. Приемы понижения сложности, примеры;
  3. Распараллеливание, примеры;
  • Брокеры очередей:
  1. RabbitMQ;
  2. Использование в C#.
  • Развертывание Api (windows/linux):
  1. IIS;
  2. Nginx;
  3. Docker (желательно k8s).
  • GIT:

Готовность:

  1. Настроить на рабочем месте докеры, множество виртуалок для развертывания/тестирования Оркестратора. Требуется техническая возможность;
  2. Решать задачи, исходя из критического анализа бизнес-требований (не всегда первичная постановка полня/корректная/понятная), адаптироваться к существующей кодовой базе, принятым в команде подходам/ограничениям;
  3. Участвовать в разборе инцидентов с командой поддержки, помогать им в решении проблем.
Условия:
  • Возможности профессионального роста и развития;
  • Дружелюбный коллектив и комфортную рабочую атмосферу;
  • Оформление по ТК РФ;
  • Расширенный социальный пакет (отпускные, больничные, корпоративная программа ДМС);
  • Зарплатный проект в Альфа банке;
  • Удаленная работа по России;
  • Есть удобный офис в Москве.