Senior Software Engineer, Python (Tools Development)
Role details
Job location
Tech stack
Job description
The Roku's software automation and tools team has an excellent opportunity for a Senior Software Engineer with strong experience in building automation framework and tools for SW embedded devices. The role involves developing and maintaining software and tools that help various internal teams to test and manage Roku's products. Working closely with internal stakeholders to enhance existing automation toolset with new capabilities and advanced features that empower all engineering and accelerate validation efforts for SW releases.
You will work cross-functionally with various engineering teams, using your finest automation expertise to help both FW developers and QA to create and deliver highest quality product that help in provide valuable end-user feedback to improve customer's experience. This position requires python expertise with strong experience of using web frameworks, excellent debugging, written and organizational skills. You will be joining a talented, high-performance team of developers with a history of delivery. We are looking for someone who can help us keep up this pace and continue delivering high quality as we grow.
We are looking for a keen problem solver and a self-motivated individual with excellent communication and collaborative skills who is eager to learn and grow in consumer electronics space. As an engineer on the team you will require skills and confidence to undertake the challenges of working in a fast-paced environment, frequently be taken out of your comfort zone and relish getting your hands dirty working with user facing products
What you'll be doing
- Support and maintain existing automation tools and technology
- Develop and release new E2E automation support and tools
- Debug issues to improve the quality of automated test tools and frameworks
- Conduct code reviews to improve code quality and optimization
- Promote coding conventions and standards for code re-usability and cleanliness
- Document Feature guides, identify and formulate user requirements, product behavior
- Mentor less experienced engineers and driving automation development
- Assist in monitoring and maintenance of critical systems
Requirements
Do you have experience in Unit testing?, Do you have a Bachelor's degree?, * 5+ years of hands-on experience with automation systems
- 5+ years of programming experience, preferably with Python
- Bachelor's degree in Computer Science or related
- Proficient in linux, Python based test automation frameworks and tools using REST APIs
- Hands on experience in development/integration of E2E test automation framework and tools for embedded software devices
- Experienced in developing and maintaining web based tools using Javascript, React
- Proficiency with DevOps, continuous integration tools (Jenkins, Gitlab CI, Teamcity, Docker and Kubernetes)
- Experience with CI/CD pipeline development and deployment via AWS or GCP cloud technologies
- Experience with Unit Testing frameworks - pytest/pyunit and cypress, playwright for UI testing
- Experience of developing web applications using Flask, FastAPI, Django, Nginx
- Experience and knowledge of using generative AI
- Expert problem-solving and technical troubleshooting skills
- Ability to learn new technologies quickly
- A self-directed professional able to work independently
- Ability to work through ambiguous requirements and being flexible/adaptable to change
- Comfortable and experienced working with cross-functional peers and internal stakeholders across European and US timezones
- Excellent communication and collaborative skills
- Experience with retail Consumer Electronic (CE) devices, ideally in the Over The Top (OTT) streaming domain
- Previous experience with Non-Functional Testing (Performance Testing, Stress Testing)
- Knowledge of network technologies and libraries such as TCP/IP and HTTP
- Previous experience and knowledge of image processing and inferencing, creating computer vision capabilities for visual testing
#LI-AB3
Benefits & conditions
Roku is committed to offering a diverse range of benefits as part of our compensation package to support our employees and their families. Our comprehensive benefits include global access to mental health and financial wellness support and resources. Local benefits include statutory and voluntary benefits which may include healthcare (medical, dental, and vision), life, accident, disability, commuter, and retirement options (401(k)/pension). Our employees can take time off work for vacation and other personal reasons to balance their evolving work and life needs. It's important to note that not every benefit is available in all locations or for every role. For details specific to your location, please consult with your recruiter.