SynXis team has an exciting opportunity for a creative and experienced software engineer to join Sabre Hospitality Solutions Center of Excellence for Performance Engineering. The candidate will join a very collaborative team that is passionate about application performance and automation. Application performance engineer’s primary responsibility is the creation of test harnesses to inject load, analyze metrics from application and system logs, and simulate system behavior to improve the performance and reliability of Sabre applications using in-house tools, the latest open source and cloud technologies. The candidate should have enthusiasm for troubleshooting, analyzing and resolving complex problems and be eager to learn. The Performance Engineering team’s members come from a variety of backgrounds, from Software Developers, Quality Assurance Test Engineers, Test Automation Engineers, and DevOps/SRE.
As a Performance Engineer on the globally distributed Performance Engineering team, you will be responsible for performance testing of mission-critical systems in Sabre Hospitality Solutions.
- Build and execute various types of performance tests to help determine stability and capacity across many high volume and heavily integrated applications and architectures.
- Create and maintain test harnesses to inject load, analyze metrics from application and system logs, and simulate system behavior based on the production workload of these applications.
- Uses rigorous logic and methods to solve difficult problems with effective solutions.
- Works as part of a team responsible for assessing performance risk, identifies critical use cases and select key performance scenarios. Help predict and assess performance risk ahead of production releases.
- Collaborates with product development teams to design effective performance and destructive tests.
- Evaluate application architectures, design suitable performance and capacity tests, and establish performance objectives for critical areas: load, soak, stress, stability, and capacity.
- Provide analysis of performance test results and adequately communicate to stakeholders: Development, Quality Assurance, System Owners and Management.
- Consults with Development engineers in problem resolution.
- May take part in researching best practices, evaluating new tools and benchmarking new technologies.
Who we're looking for?
‘Must have’ skills:
- 5+ years of experience as a software/application developer (back-end, microservices), Quality Assurance QA, QAA test automation developer or similar role in development.
- Experience in Software Performance Engineering and performance analysis in applications, networks, databases for large scale systems. Understand application and system behavior under load and stress (user, system, capacity, infrastructure).
- Able to understand application and systems performance and identify resource constraints and bottlenecks in high volume and heavily integrated messaging and database systems
- Knowledge of distributed software systems and complex multi-tiered architectures with various types of integration and messaging between applications.
- Able to test and comprehend workflows in complex architectures – heavily integrated, multiple databases, message queueing systems, using distributed and local caching, etc.
- Strong programming, scripting, testing and debugging skills
- Messaging and interfacing systems testing – (Not web-based UI testing)
- Solid knowledge of Windows/Linux operating system, Windows Services
- Experience with SOAP/XML Web Services, Service Oriented Architecture, distributed messaging systems
- Experience with load testing tools like Visual Studio Ultimate/Premium Edition, JMeter, Grinder, LoadRunner, CloudTest, SoapUI/LoadUI, etc.
- System Monitoring and instrumentation (Splunk, Grafana, Prometheus) and tools like AppDynamics, Dynatrace, New Relic, etc.
- Performance monitoring of relational databases - Oracle and SQL Server, or NoSQL type databases - Cassandra or MongoDB, etc.
- Self-driven collaborator with ability to work in diverse teams as a contributing member
- Eager to learn and highly curious.
- Excellent verbal and written English skills
- Knowledge of memory management and Garbage Collection algorithms for server-side applications in Java/C#
- TCP/IP and computer networks literacy
- Statistical methods and tools for analysis and reporting
- Experience in at least one of the following: Jenkins, Docker, ansible, JMeter
- Experience in Cloud technologies – GCP, AWS, Azure, Kubernetes, Terraform
- Experience with Chaos Engineering is a plus
- Healthcare package
- Healthcare package for families
- Financial bonus
- Hot beverages