Omm
Principal Software Engineer
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Principal Software Engineer в крупный IT-проект для государственного заказчика (Woodlawn, MD, США). Проектирование и разработка масштабируемых Java/Spring Boot приложений и микросервисов, лидерство в технической команде, работа полностью в офисе 5 дней в неделю.
Задачи
- Проектировать и разрабатывать программные приложения по методологии Twelve-Factor App на основе функциональных требований
- Разрабатывать инновационный UI и веб-компоненты в сотрудничестве с экспертами, оценивать новые технологии и рекомендовать улучшения
- Реализовывать GUI с использованием AngularJS, ReactJS, Node.js, TypeScript, JavaScript, JSP, HTML, CSS, XML, AJAX, jQuery
- Вести frontend-разработку на современном JavaScript с функциями ES13+
- Проектировать веб-компоненты, соответствующие Section 508 Rehabilitation Act
- Проектировать и разрабатывать микросервисы на Spring Boot, Java и RESTful-архитектуре
- Разрабатывать и поддерживать Enterprise Java Batch приложения по спецификации JSR 352, планировать batch-задачи через Control-M
- Разрабатывать SOAP-веб-сервисы (JAX-WS, Apache Axis, WSDL), обеспечивать безопасность через WS-Security и IBM DataPower, оптимизировать передачу сообщений (MTOM/SWA)
- Разрабатывать Data Access Layer для IBM DB2 9.0 и PostgreSQL на z/OS и Linux с использованием JPA или Spring Data
- Создавать POC и шаблоны для BDD-тестирования API с Cucumber, Gherkin и Java
- Писать unit-тесты для Java-классов с JUnit, Mockito и PowerMock
- Документировать архитектуру решений и UML-дизайн с Visio, Confluence и IT Governance Frameworks
- Участвовать во встречах с заказчиком, предлагать технические решения и улучшать качество кода и процессы
- Влиять на функциональную стратегию, разрабатывая новые решения, процессы и стандарты
- Консультировать и поддерживать junior/mid-level разработчиков
- Выступать в роли hands-on Technical Lead
Требования
- Bachelor's Degree in Computer Science, Mathematics, Engineering or a related field
- 10+ лет опыта с Java, Spring Boot, Angular, React
- Глубокие навыки проектирования и программирования на Java и JEE
- Практический опыт с Angular, React, Express/Node.js
- Опыт работы hands-on Technical Lead
- Опыт работы в Agile-проектах и знание терминологии и инструментов Agile (включая Agility)
- Опыт проектирования высоконагруженных и низколатентных систем, масштабируемых решений для большого числа конкурентных запросов
- Опыт разработки приложений с архитектурой Single-Page Application
- Навыки построения эффективных пайплайнов обработки данных, оптимизации производительности через асинхронность, кэширование и балансировку нагрузки
- Опыт создания адаптивных веб-страниц с учётом кросс-браузерных ограничений и стандартов
- Опыт проектирования и развёртывания cloud-native приложений на AWS с PostgreSQL
- Глубокое знание PaaS-решений: Red Hat OpenShift и Docker
- Опыт с инструментами CI: Jenkins, Git/BitBucket, Jira, Nexus, Maven, SonarQube, Fortify, UrbanCode Deploy
- Опыт с веб-сервисными технологиями (XML, JAXP, JAXB, JAX-WS, AXIS, JERSEY, JSON, CXF, REST, SOAP) и безопасностью (LTPA, OAUTH2/JWT)
- Практический опыт проектирования и разработки микросервисов и RESTful API
- Опыт автоматизированного unit-тестирования (JUnit, mocking-фреймворки), TDD и BDD (Cucumber)
- Опыт с JEE-технологиями: Struts, Spring Framework (IoC, MVC, Transactions, Security, Batch), Spring Boot, Spring JDBC, JPA, Hibernate, SOAP/RESTful, XML, DB2, Tomcat, WebSphere
- Опыт работы со статическими анализаторами кода (SonarQube) и устранения технического долга
- Знание уязвимостей безопасности веб-приложений и способов их устранения
- Опыт performance tuning приложений для эффективного использования CPU и памяти, высокой масштабируемости в облаке
- Возможность получить и поддерживать public trust clearance
- Готовность работать в офисе в Woodlawn, MD 5 дней в неделю
Условия
- 100% работа в офисе в Woodlawn, MD, 5 дней в неделю
- Необходимо получить и поддерживать public trust clearance
- Позиция Principal Software Engineer с ролью hands-on Technical Lead
- Работа над проектами федерального или государственного уровня (желательно)
- Возможность влиять на функциональную стратегию и стандарты
Навыки
- Java
- JEE
- Spring Boot
- Spring Batch
- Spring Framework
- Spring JDBC
- JPA
- Hibernate
- Struts
- Angular
- AngularJS
- React
- ReactJS
- Node.js
- Express
- TypeScript
- JavaScript
- ES13+
- JSP
- HTML
- CSS
- XML
- AJAX
- jQuery
- REST
- SOAP
- JAX-WS
- JAXP
- JAXB
- AXIS
- JERSEY
- CXF
- WSDL
- WS-Security
- IBM DataPower
- MTOM
- SWA
- Microservices
- Twelve-Factor App
- AWS
- Azure
- Google Cloud
- OpenShift
- Docker
- Kubernetes
- Jenkins
- Git
- Bitbucket
- Jira
- Nexus
- Maven
- SonarQube
- Fortify
- UrbanCode Deploy
- Control-M
- IBM DB2
- PostgreSQL
- z/OS
- Linux
- JUnit
- Mockito
- PowerMock
- Cucumber
- Gherkin
- BDD
- TDD
- Kafka
- Kafka Connect
- Kafka Streams
- ServiceNow
- Pega
- MS Power Platform
- Visio
- Confluence
- UML
- Section 508
- LTPA
- OAUTH2
- JWT
- Tomcat
- WebSphere