Senior C# developer

Зарплата

от 2000 $

Местоположение и тип занятости

ИжевскПолный рабочий день

Компания

Сложная разработка программного обеспечения в установленные сроки — это основная специализация нашей компании

Описание вакансии

Условия работы

В новый развивающийся SaaS-продукт, который, тем не менее, имеет уже имеет десятки production-инсталляций, требуется сильный Senior для разработки бекенда и API на стеке .NET Core (C#), GraphQL (Hotchocolate), PostgreSQL. Для фронт-энда используется React.js, а сервера работают на Linux (Ubuntu). Интересных и разноплановых задач очень много - начиная с большого количества еще не написанной бизнес-логики, продолжая интеграцией многих third-party сервисов (платежных, маркетинговых и иных) и заканчивая массой еще не начатой инфраструктурной работы - внедрение очереди сообщений (RabbitMQ?, Kafka?), перевод логирования на ELK-стек, переход на Docker, внедрение мониторинга, сервисы OLAP-отчетности (Clickhouse, что-то еще?). Компания небольшая, еще не все процессы четко отстроены, так что от нашего будущего коллеги ожидаем достаточный уровень самостоятельности, сознательность, проактивную профессиональную позицию, интерес к работе - мы, Ваши будущие коллеги, именно такие и есть Учитывая Вашу сеньорную должность, будем рады слышать от Вас предложения по улучшению стека, использованию тех или иных технологий, идеи по решению инфраструктурных проблем. Желание изучать и внедрять новое - это не просто "стандартная" строчка в обязанностях, которая пишется всегда, это - действительно важно для нас. Например, мы используем как достаточно новый подход к построению API - GraphQL, так и и достаточно молодую библиотеку .NET, которая реализует сервер GraphQL - это Hotchocolate, в результате приходится не только периодически участвовать в обсуждениях с ее создателями, но иногда и контрибутить в их репозиторий, ну и, конечно, по мере возможности стараемся "to give back to the community" - отвечаем на StackOverflow, используя свой опыт в GraphQL Hotchocolate.

Требования:

  • Опыт работы c C# как основным языком: от 5 лет
  • Опыт работы с ASP.NET Core
  • Знание экосистемы .NET - инструментов (VS или Rider, R#), библиотек
  • Хорошие знания SQL, техник оптимизации реляционной БД
  • Хорошие знания и опыт в многопоточности и асинхронном программировании
  • Понимание на хорошем уровне алгоритмов и структур данных, понятия сложности алгоритмов
  • Умение писать не только код, но и юнит-тесты к нему
  • Понимание принципов работы распределенных приложений
  • Достаточный уровень самостоятельности (в т.ч. планирование собственного рабочего процесса) и проактивности
  • Желание изучать и внедрять новое

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

  • Непосредственное участие в процессе разработки back-end'а и API (бизнес-логика, мониторинг, отчетность, инфраструктурный код, база данных, оптимизации)
  • Участие в принятии технологических и архитектурных решений (как повседневных, так и ключевых)
  • Поддержка и рефакторинг существующего кода (как такового legacy на .NET у нас нет - разбираться и поддерживать нужно в первую очередь свой код и при необходимости код коллег)
  • Взаимодействие с front-end разработчиками, тестировщиками, сотрудниками техподдержки, представителями бизнеса
  • Анализ требований и разбиение их на задачи
  • Участие в собеседовании кандидатов на должности Middle и Senior, введение новичков в проект
  • При желании: менторинг Middle разработчиков

Требуемый опыт работы: 3–6 лет

Полная занятость, полный день



Дополнительные инструкции

  • Опыт работы с GraphQL
  • Опыт написания API
  • Опыт работы с PostgreSQL
  • Опыт работы с linq2db
  • Опыт написания приложений, где data integrity (транзакционность процессов) является одним из главных требований
  • Понимание принципов работы с очередями (опыт работы с RabbitMQ или какой-нибудь другой реализацией MQ)
  • Опыт работы с NUnit
  • Умение работать с Git, JIRA
  • Опыт работы с Linux (хотя бы на уровне пользователя) и bash
  • Опыт работы с Docker
  • Опыт работы с CI/CD инструментами
  • Опыт участия в разработке сложных продуктов с нуля
  • Опыт интеграции third-party сервисов через API
  • Unit Testing