Position: Test Automation Engineer
Company: SD Solutions
Experience required: 5y

At PokerStars, there are several interconnected high-throughput systems. The challenge of maintaining the fleet up and running includes befriending:

C++ and Java.
Windows and Linux.
XML/JSON and [proprietary] binary protocols.
Real-time data streaming, with broadcast capabilities.
[Mostly single-threaded] event-based state machines.
Effectively, a custom-built hybrid cloud, with physical machines, VMs, and [some] Kubernetes.
The company has a large QA team, but over the years its main job has shifted towards ensuring the user-facing features are functional. When it comes to infrastructure, historically, testing was done by the engineering team that architects, develops and rolls out the changes.


**Key responsibilities:**

• Analyze the existing designs and understand their implementations.

• Establish and implement testing procedures for existing and new data-heavy features.

• Build and maintain the tools that perform functional, integration, load, and stress tests.

**Skills and Capabilities:**

• Interest and experience with system programming: networking, storage, thread models.

• Deep understanding of either Windows or Linux internals, and the desire to dive into the other one.

• Extensive experience with both C++ and Java when it comes to reading code, and with either C++ or Java when it comes to writing code.

• Patience and diligence: debugging, and even reasoning about a non-trivial high-load distributed state machine is not for everyone.

• Understanding of TCP/IP, UDP and HTTP protocols is a big advantage

• Highly self-motivated, proactive, and comfortable multitasking

• * B.Sc. or higher in Math, CS, or EE