Fullsight
Principal Software Engineer
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Principal Software Engineer в Fullsight — технический эксперт и архитектор крупных веб-проектов, отвечающий за проектирование, разработку и поддержку сложных систем, а также за менторство команды и стандарты разработки.
Задачи
- Выступать техническим экспертом, лидером и архитектором крупных и сложных проектов
- Проектировать, разрабатывать, тестировать, внедрять и поддерживать сложные веб-приложения: интерфейсы, e-commerce, интеграции
- Диагностировать и решать сложные программные проблемы
- Исследовать технические проблемы и предлагать улучшения веб-приложений
- Анализировать и интегрировать новые веб-продукты и технологии с существующими приложениями
- Глубоко понимать бизнес-приложения и инфраструктуру систем
- Руководить командой как высококлассный технический эксперт в проектировании, разработке, кодировании, тестировании и отладке ПО
- Определять системную архитектуру, дизайн и документацию
- Определять и соблюдать стандарты разработки SAE International: соглашения об именовании, контроль версий, безопасность, процессы деплоя
- Управлять приоритетами на нескольких проектах
- Помогать с планированием проектов: оценки, постановка задач, отчёты о прогрессе в рамках SDLC
- Взаимодействовать с заказчиками по улучшениям и доработкам
- Обучать и менторить менее опытных разработчиков
- Проводить и организовывать код-ревью на соответствие стандартам
Требования
- Bachelor's Degree in Computer Science, Computer Engineering или смежная специальность
- 10 лет опыта в hands-on software engineering с Java, включая Spring
- Наличие хотя бы одной сертификации AWS
- Минимум 2 года опыта в роли Team Lead
- Минимум 8 лет опыта с микросервисами или распределёнными вычислениями
- Опыт с NoSQL, включая MongoDB или DynamoDB
- Опыт с современными инструментами и методологиями: контейнеризация, unit-тестирование, GitLab, CI/CD
- Проектирование и реализация архитектуры на основе обмена сообщениями с RabbitMQ или аналогами
- Реализация автоматизированного нагрузочного тестирования
- Проектирование и реализация инструментов безопасности и авторизации: OAuth, Spring Security или OpenID
- Опыт внедрения и использования Elasticsearch и стека ELK
- Проведение код-ревью на качество, безопасность, производительность, поддерживаемость и соответствие стандартам
- Объектно-ориентированное программирование и анализ
- Понимание реляционных баз данных и SQL
- Проектирование и реализация на нескольких языках: Java, JavaScript/TypeScript, PL/SQL, Bash
- Опыт работы в Agile-среде
Условия
- Гибридный формат: 2 дня в офисе, до 3 дней в неделю удалённо
- Офис в Warrendale, PA
- Равные возможности трудоустройства (EEO)
Навыки
- Java
- Spring
- AWS
- MongoDB
- DynamoDB
- NoSQL
- Containerization
- Unit Testing
- GitLab
- CI/CD
- RabbitMQ
- OAuth
- Spring Security
- OpenID
- Elasticsearch
- ELK
- SQL
- PL/SQL
- JavaScript
- TypeScript
- Bash
- Microservices
- Agile