US Software Solutions — компания-разработчик программного обеспечения, специализирующаяся на предоставлении цифровых технологий для секторов ЖКХ, телекоммуникаций, энергоэффективности, возобновляемой энергетики и газо/электроснабжения. Благодаря команде, состоящей исключительно из экспертов в своей области, мы готовы курировать любой проект, независимо от его сложности и масштаба.
Мы ищем Senior Software Development Engineer, который будет отвечать за системы внутри компании.
Как мы работаем
Наши инженеры работают в основном в качестве архитекторов. Большая часть реализации осуществляется с помощью инструментов доставки, поддерживаемых ИИ, что означает, что ваш день будет посвящен принятию решений о том, что строить и как это структурировать, точному специфицированию, критической оценке результата и непосредственному участию в тех частях, которые требуют реальной глубины. Вы будете писать меньше кода, чем на традиционной старшей позиции, но будете нести ответственность за большее его количество. Это работает только в том случае, если вы хорошо знаете паттерны и технологии — вы не можете рецензировать то, чего не понимаете, а рецензирование составляет значительную часть работы.
График работы
Понедельник - Пятница с 14:00 до 22:00
Обязанности
- Полная ответственность за системы: архитектура, модель данных, дизайн API, доставка и поведение в производственной среде.
- Предлагать и обосновывать архитектурные решения.
- Писать спецификации, достаточно точные для реализации без дополнительных вопросов.
- Критически оценивать большой объем кода и брать на себя ответственность за результат.
- Углубляться в области, где автоматизация недостаточна: производительность запросов, обработка пространственных данных, параллелизм и производительность рендеринга на стороне клиента.
- Создавать и развивать картографические функции, которые остаются отзывчивыми на планшетах в полевых условиях.
- Поддерживать общие внутренние библиотеки как версионированные продукты, используемые другими командами.
- Планировать и выполнять миграции баз данных в действующих системах.
- Устанавливать инженерные стандарты для тестирования, качества кода и документации.
- Наставлять инженеров среднего уровня.
- Работать напрямую с владельцами продуктов и бизнес-стейкхолдерами над рабочими процессами в полевых условиях и высказывать возражения, когда требования не выдерживают критики.
Требования
- 6+ лет профессионального опыта в разработке программного обеспечения, в первую очередь на TypeScript, с использованием React/Next.js и Node.js.
- Отличное знание SQL — вы можете писать сложные запросы напрямую и диагностировать причины их медленной работы.
- Опыт работы с ORM на большой схеме данных, включая миграции на реальных данных, и умение принимать решения о переходе на чистый SQL.
- Прочное знание ООП, паттернов проектирования и проектирования реляционных баз данных.
- Опыт поддержки общего внутреннего пакета или SDK, управления версиями и изменениями, нарушающими обратную совместимость, для других команд.
- Контейнеры, Kubernetes и CI/CD; уверенное владение сервисом в производственной среде.
- Демонстративное понимание архитектурных решений: вы можете рассказать о принятом решении, как оно реализовалось и что бы вы изменили.
- Опыт выпуска производственного кода с использованием инструментов кодирования на базе ИИ и критический взгляд, который это влечет за собой.
- Свободное владение русским языком, инженерное сотрудничество происходит на русском языке. Профессиональный английский для документации.
Преимущества
- Конкурентоспособный компенсационный пакет;
- Участие в международной, динамичной рабочей среде;
- Профессиональное развитие (семинары, курсы);
- Оплачиваемые отпуска (PTO), такие как больничные и дни отпуска;