Senior Software Test Engineer (Devices)
The Senior Software Test Engineer (Devices) position is responsible for building software tools, frameworks, services and systems that support testability for Major League Baseball's MLB.tv Client Engineering teams focused on connected devices like Xbox, Roku, PlayStation, Smart Televisions, and more. With strong knowledge of CI/CD, unit testing, test and infrastructure automation, and software development lifecycles, the Senior Software Engineer will support software development teams by building automated tests.
At Major League Baseball, we are responsible for delivering software to our fans as well as to the broader baseball community. Our team is constantly shipping new releases and functionality - therefore, we have a responsibility to ensure that the software works as expected. Currently, we rely heavily upon manual testing efforts and are looking to accelerate our adoption of automated testing, as well as take a broader approach to quality focusing on the product experience of the fans and other internal stakeholders.
- Build test automation systems for OTT devices
- Contribute in developing best practices for test infrastructure as code, tool solutions and systems specifically with configuration management and test infrastructure orchestration
- Define, collect, aggregate, and visualize metrics that pertain to the build, deployment, and run lifecycle phases to demonstrate improvement of quality over time
- Work closely with the development teams to integrate new software deployment processes and strategies
- Build, maintain, and optimize MLB’s automated test systems, develop solutions for test, and migrate existing manual test workloads into this new environment
- Defining best practices for source control management, creating and maintaining documentation of the test system, architecture and tooling design
- Investigating tools and processes to continually improve the reliability, stability and efficiency of baseball data products and services.
- Bachelor's degree in Computer Science or a related field, or equivalent practical experience
- 5-10 years of proven experience as a software/systems engineer, with experience working with software builds and deployments
- 3-5 years of experience with source code and binary repository management tools, (eg. GIT and Artifactory)
- 3-5 years of experience with implementing continuous integration/continuous delivery solutions using Jenkins (or comparable tool)
- Proven development skills in JAVA, Python, Ruby, Groovy, or similar languages
- Strong knowledge of RESTful web services and API architectures in their design, administration, documentation, performance, load balancing, and caching infrastructures (Redis, Memcached)
- Strong knowledge of Relational Database platforms (PostgreSQL, MySQL, SQL Server, Oracle) in their administration, query writing, performance, and high availability / disaster recovery
- Strong knowledge of Cloud Computing including services in their compute, storage, databases, management tools, and analytics portfolio (eg. AWS, GCP)
- Experience with Infrastructure orchestration, service registry & discovery, and configuration management tools, (eg. Cloudformation, Terraform, Consul, Ansible/Puppet)
- Experience with container technologies and platforms (eg. Docker, ECS, Kubernetes, Openshift)
- Experience with open source testing tools/frameworks (e.g. Selenium, Appium, Cucumber, RestAssured, Postman)
- Strong Linux experience
- Excellent problem solving and troubleshooting skills