Bank of America
Software Engineer II
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Разработчик enterprise-приложений в Bank of America. Проектирование и разработка сложных программных решений, интеграций и микросервисов на Java с покрытием юнит-тестами и участием в CI/CD.
Задачи
- Разрабатывать и поддерживать сложные программные решения, отвечающие функциональным, нефункциональным и комплаенс-требованиям
- Писать код и юнит-тесты в соответствии с критериями приёмки и инженерными стандартами
- Проектировать и разрабатывать значимые компоненты приложения с использованием архитектурных паттернов и переиспользуемых решений
- Разрабатывать и поддерживать интерфейсы и интеграции, включая API и микросервисы
- Выполнять CI/CD-активности и автоматизировать ручные релизные операции
- Разрабатывать и поддерживать автоматизированные тестовые наборы (интеграционные, регрессионные, нагрузочные)
- Проводить технические spike и proof of concept для снижения рисков
- Участвовать в уточнении требований и оценке работ в рамках delivery-цикла
- Проводить peer code review и поддерживать качество, поддерживаемость и безопасность кода
- Диагностировать сложные технические проблемы и проводить root-cause analysis
- Создавать и поддерживать техническую документацию
Требования
- 7+ лет профессионального опыта разработки enterprise-приложений
- Сильный практический опыт разработки на Java и знания принципов ООП
- Опыт проектирования, разработки и интеграции RESTful API, микросервисов и распределённых компонентов
- Опыт разработки значимых компонентов приложения и проведения эффективных code review
- Опыт перевода функциональных, нефункциональных, технических и комплаенс-требований в поддерживаемый дизайн ПО
- Понимание принципов проектирования ПО, паттернов, структур данных и архитектуры приложений
- Опыт написания юнит-тестов и участия в автоматизированных интеграционных, регрессионных и нагрузочных тестах
- Опыт анализа результатов тестов, поиска дефектов и их первопричин
- Знание реляционных баз данных, SQL, моделирования данных и интеграции с БД
- Опыт работы с системами контроля версий, ветвлением, pull request и разрешением конфликтов
- Опыт поддержки CI/CD-пайплайнов и процессов сборки, деплоя и релиза
- Знание практик Agile-разработки: уточнение историй, оценка, планирование спринтов
- Умение создавать и поддерживать техническую документацию
- Понимание secure coding, информационной безопасности, рисков, комплаенса и change-management в enterprise-среде
- Сильные аналитические навыки, решение проблем, письменная коммуникация и командная работа
- Bachelor's degree или эквивалентный практический опыт
Условия
- Офисная культура с чёткими ожиданиями по присутствию и гибкостью в зависимости от задач роли
- Конкурентные и гибкие бенефиты, поддержка физического, эмоционального и финансового благополучия
- Инклюзивная рабочая среда и возможности карьерного роста
- Полная занятость, 40 часов в неделю, 1-я смена (США)
Навыки
- Java
- RESTful API
- микросервисы
- SQL
- реляционные базы данных
- CI/CD
- unit testing
- Agile
- Git
- Azure
- AWS
- Azure Functions
- AWS Lambda
- Docker
- Kubernetes
- Terraform
- CloudFormation
- NoSQL
- Python
- C#
- JavaScript
- Jira
- Kanban
- DevOps