Position: Performance Lead Engineer
Company: Sigma Software
Category: QA Automation
Experience: 5y
English level: upper

We are looking for a motivated Performance Lead Engineer to join a team of specialists and work on a high-tech project. Use your skills and turn them into business solutions!

**Клієнт**

Наш клієнт є одним із найбільших у світі постачальників програмного та апаратного забезпечення для азартних ігор, який працює в понад 100 країнах і має команду з понад 12 000 співробітників. Ця компанія є провідним розробником інноваційного програмного забезпечення та систем для цифрових розповсюджених ігрових розваг.

**Проєкт**

Є кілька підпроектів, де необхідна уніфікація процесів. Переважно вони виконуються за методологією Scrum.

**Обов’язки:**

- Аналізувати результати тестування та погоджувати з командами розробників для виправлення помилок
- Складати зведені звіти про тестування, аналізувати основні причини проблем із продуктивністю та забезпечувати коригувальні дії
- Збирати, організовувати та аналізувати вимоги до продуктивності
- Співпрацювати з зацікавленими сторонами проекту над розробкою планів тестування продуктивності та тестових випадків
- Вимірювати, звітувати та пропонувати Рекомендації/SLA щодо часу відгуку
- Аналізувати показники масштабованості, пропускної здатності та навантажувального тестування на тестових серверах
- Порівнювати продуктивність системи з різними рівнями фізичних ресурсів (RAM, ядра ЦП, дискові кеші, мережа) і обчислювальних вузлів
- Тестувати продуктивність системи для забезпечення її надійності, потужності та масштабованості
- Створювати та підтримувати стратегію тестування продуктивності та структуру для поставки як продуктів, так і індивідуальних проектів
- Виконувати конфігурацію/керування тестовими середовищами
- Здатність керувати середовищами, які зарезервовані для тестування продуктивності
- Виконувати комплексне усунення несправностей у розподілених середовищах/середовищах високої доступності
- Гнучкість для роботи з іншими якісними інженерними функціями, такими як функціональність, автоматизація та мобільність, крім продуктивності

**Вимоги:**

- 8+ років у веб-тестуванні та тестуванні програмного забезпечення для мобільних пристроїв
- Досвід роботи з базами даних PostgreSQL, DB2 і Oracle, включаючи аналіз журналів, резервне копіювання та відновлення баз даних
- Повне розуміння функцій і можливостей провідних у галузі інструментів тестування продуктивності, таких як HP LoadRunner, JMeter та подібних рішень, специфічних для тестування продуктивності
- Вільне володіння англійською мовою та поглиблені навички письма, усного мовлення та презентацій
- Досвід у створенні та виконанні масштабованої, портативної, конфігурованої основи/підходу тестування продуктивності з ліцензованими інструментами та інструментами з відкритим вихідним кодом за потреби
- Розуміння системних середовищ, таких як спільні ресурси, компоненти та сервіси, ЦП, пам’ять, сховище, мережа, а також відмінностей між робочим і тестовим середовищами, такими як контейнери, хмара, віртуалізація та керування конфігурацією
- Здатність інтерпретувати результати тестування продуктивності за допомогою послідовних вимірювань і показників, а також визначати вузькі місця (з посиланням на JVM, GC, витоки пам’яті, рефакторинг коду тощо) і ефективно інтерпретувати графіки результатів тестування
- Можливість використовувати та налаштовувати інструменти моніторингу (ELK, Azure Monitor) для виявлення вузьких місць на стороні сервера під час тестування продуктивності
- Досвід у проведенні різних типів тестів продуктивності, включаючи тести на навантаження, стрес-тести, тести на стабільність, а також публікація їх результатів
- Здатність виконувати тести продуктивності на рівнях інтерфейсу та API (бажано сервіси RESTful)

**Буде плюсом:**

- Досвід тестування ігрових продуктів
- Попередній досвід розробки (бажано Java) буде додатковою перевагою для цієї посади
- Вища освіта в галузі технологій, бажано інформатики



We are looking for a Performance Lead Engineer who really likes to put all the processes in the right order. This opportunity means that you will work with all teams for better cooperation.

**Customer**

Our Customer is one of the biggest suppliers of gambling software and hardware in the world with operations in more than 100 countries and a team of over 12,000 employees. This company is a leading developer of innovative software and systems for digitally distributed gaming entertainment.

**Project**

There are several sub-projects where process unification is needed. Mostly they are managed according to the Scrum methodology.

**Responsibilities:**

- Analyse test results and coordinate with development teams for bug fixes
- Generate test summary reports and analyze root causes of performance issues and provide corrective actions
- Collect, organize, and analyse performance requirements
- Work with project stakeholders to develop performance test plans and cases
- Measure, report, and recommend performance Response Time Guidelines/SLAs
- Analyse scalability, throughput, and load testing metrics against test servers
- Compare system performance with varying levels of physical resources (RAM, CPU cores, Disk caches, Network) and compute nodes
- Conduct system performance testing to ensure system reliability, capacity, and scalability
- Build and maintain performance testing strategy and framework to be executed for both product and customized delivery projects
- Perform test environment configuration/management
- Should be able to manage the environments that are reserved for the performance test activities
- Perform extensive troubleshooting in distributed/High Availability environments
- Should be flexible to work with other quality engineering functions such as functional, automation, and mobile apart from performance

**Requirements:**

- 8+ years in web and mobile Software Testing
- Experience with PostgreSQL, DB2, and Oracle Databases that include analysing logs, database backup and restore
- Full understanding of the features and capabilities of industry-leading performance test tools such as HP LoadRunner, JMeter, and similar solutions specific to performance test engineering
- Proficient with the English language and advanced writing, speaking, and presentation skills.
- Experience in building and executing a scalable, portable, configurable performance testing framework/approach with licensed and open-source tools as required
- Understanding of systems environments like shared resources, components, and services, CPU, memory, storage, network, and the differences between production and test environments like containers, cloud, virtualization, and configuration management
- Ability to iinterpret performance test results using consistent measurements, and metrics as well as to identify bottlenecks (with reference to JVM, GC, Memory Leaks, Code refactoring, etc.) and effectively interpret test result graphs
- Ability to use and customize monitoring tools (ELK, Azure Monitor) to identify server-side bottlenecks in performance testing
- Experience in executing various performance test types, including Load, Stress, and Soak tests, and publishing their results
- Ability to execute performance tests across the frontend and API layers (preferably RESTful services)

**Will be a plus:**

- Experience in testing gaming products
- Prior development experience (preferably Java) will be an added advantage for this position
- A college-level degree in technology, preferably computer science