Verisk
Software Engineer II
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Разработчик Windows-десктопных приложений на C# и .NET в компании Verisk. Самостоятельная работа над четко определенными фичами с ответственностью за качество продукта и менторство младших коллег.
Задачи
- Писать чистый, тестируемый и поддерживаемый код на C# согласно стандартам команды
- Самостоятельно разрабатывать десктопные фичи на WPF (а также WinForms или WinUI), следуя MVVM и другим паттернам
- Брать на себя ответственность за четко определенные фичи или участки кодовой базы при минимальном сопровождении
- Участвовать в проектировании новых фич и рефакторинге легаси-кода, включая миграцию с .NET Framework на современный .NET
- Писать отзывчивый UI-код с корректным использованием async/await и выносом длительных операций из UI-потока
- Интегрировать десктопный клиент с бэкенд-сервисами через RESTful API, обрабатывая JSON и XML
- Работать с локальными и удаленными хранилищами данных через SQL, Entity Framework или другие подходы команды
- Писать и запускать unit-, интеграционные и UI-автотесты (xUnit или NUnit, Moq, FlaUI или WinAppDriver)
- Диагностировать падения, утечки памяти и проблемы производительности с помощью отладчика Visual Studio, профайлеров и анализа дампов
- Совместно с QA воспроизводить, триажить и исправлять дефекты, включая проявляющиеся только в окружении заказчика
- Проводить root cause analysis для устранения первопричин проблем и улучшения процессов команды
- Участвовать в CI/CD-пайплайнах в Azure DevOps, собирающих, тестирующих, подписывающих и пакующих десктопные релизы
- Поддерживать работу установщиков и деплоя (MSIX, WiX или ClickOnce) и механизмы автообновления
- Участвовать в agile-церемониях: стендапы, груминг бэклога, планирование и ретроспективы
- Проводить код-ревью, давать конструктивную обратную связь и менторить младших разработчиков
- Выстраивать рабочие отношения с разработчиками, продакт-менеджерами, QA, UX-дизайнерами и инженерами автоматизации
- Своевременно выявлять и эскалировать риски, блокеры и технический долг
- Поддерживать актуальность документации по закрепленным фичам
- Участвовать в инициативах по непрерывному улучшению в команде
Требования
- Степень бакалавра в Computer Science или смежной области либо эквивалентный практический опыт
- 2–5 лет профессионального опыта разработки ПО или эквивалентные навыки
- Уверенное владение C# и .NET (.NET 6+ и/или .NET Framework 4.x)
- Практический опыт создания Windows-десктопных приложений на WPF, WinForms или WinUI
- Понимание MVVM, dependency injection, принципов SOLID и распространенных паттернов проектирования
- Знание асинхронного программирования, многопоточности и отзывчивости UI в десктопных приложениях
- Опыт работы с RESTful-сервисами, SQL, JSON и XML
- Владение Visual Studio, Git и CI/CD-инструментами (предпочтительно Azure DevOps)
- Опыт написания автотестов и отладки проблем в продакшене
- Сильные навыки письменной и устной коммуникации, командной работы и решения проблем
- Способность самостоятельно вести повседневные задачи разработки при умеренном контроле
- Стремление к непрерывному обучению и growth mindset
Условия
- Гибридный формат работы
- Медицинская страховка
- Пенсионный план
- Пособия по инвалидности
- Программа оплачиваемых отпусков
- Конкурентный пакет вознаграждения с базовой зарплатой, определяемой по роли, опыту, навыкам и локации
- Гибкость в работе, поддержка, коучинг и обучение
Навыки
- C#
- .NET
- .NET 6+
- .NET Framework 4.x
- WPF
- WinForms
- WinUI
- MVVM
- Dependency Injection
- SOLID
- async/await
- RESTful API
- JSON
- XML
- SQL
- Entity Framework
- xUnit
- NUnit
- Moq
- FlaUI
- WinAppDriver
- Visual Studio
- Git
- Azure DevOps
- CI/CD
- MSIX
- WiX
- ClickOnce
- P/Invoke
- COM interop
- dotTrace
- dotMemory
- PerfView
- AWS
- Azure