PRINCIPAL SOFTWARE TEST ENGINEER

Huber+suhner Polatis
Cambridge, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Cambridge, United Kingdom

Tech stack

Testing (Software)
Clean Code Principles
Agile Methodologies
Amazon Web Services (AWS)
Automation of Tests
Unit Testing
Azure
Computer Networks
Continuous Delivery
Continuous Integration
Software Debugging
Linux
Embedded Software
Hardware Design
JMeter
Python
Load Testing
Netconf
Product Management
E2e Testing
Cloud Services
Webui
Shell Script
Software Engineering
Software Testing Automation Framework
Systems Integration
Test Case Design
Test Execution Engine
Strategies of Testing
Universal Asynchronous Receiver/Transmitter
USB
Network Switches
Google Cloud Platform
Performance Testing
Serial Peripheral Interface
Software Verification
Pytest
Containerization
Gitlab-ci
Integration Tests
Kubernetes
Code Testing
Bare Metal
Nessus
Qualys
Docker
Jenkins

Job description

Your tasks Product software team is responsible for providing customer facing software that runs on our industry-leading all-optical network switch. The team is responsible for managing two different software stacks running on different PCBs. The network software (NIC SW) implements various L2/L3 protocols and allows customers to communicate with the optical switch using the desired interfaces that includes TL1, Netconf, Restconf and WebUI. The control software (DSP SW) is a bare metal stack that receives user commands through NIC SW and controls the movement and position of piezoelectric actuators.

The Principal Software Test Engineer role involves hands-on technical contributions, leadership, and collaboration to ensure the delivery of high-quality software products.

Test strategy and planning:

Collaborate with the Principal Software Engineer, System Engineer and Manager to develop comprehensive test strategies for projects, considering product knowledge and design constraints.

Work closely with cross-functional teams to define project scopes and contribute to planning and estimation of testing efforts.

Test execution and technical expertise:

Demonstrate proficiency in test planning, execution, and reporting.

Lead the development and review of software verification plans in collaboration with Test Engineers.

Utilize hands-on experience to integrate software with hardware, understanding various hardware protocols (I2C, UART, SPI, USB) and effective use of scope and logic analysers.

Analyse testing results, identify improvement opportunities, and drive the implementation of changes.

Test Automation

Develop and implement automated testing frameworks and scripts to enhance testing efficiency.

Collaborate with the development team to integrate automated testing into the continuous integration/continuous deployment (CI/CD) pipeline.

Cross-Functional Collaboration:

Work closely with cross-functional teams to address potential software issues during production and in the field, ensuring timely resolution. Collaborate with production, New Product Introduction (NPI), and customer support teams to enhance overall product quality.

Leadership and Mentorship:

Lead and support testing teams in overcoming technical challenges during the testing process.

Conduct effective design and code reviews to enhance team efficiency.

Mentor and train team members on testing methodologies, product features, and best practices for software testing.

Process Orientation:

Produce relevant project artifacts as required by the testing process.

Provide specific documentation related to test plans, test cases, and test results to meet regulatory compliance and organizational requirements.

Continuous Improvement:

Proactively identify areas for process improvement within the testing process and contribute to the overall improvement of the software development lifecycle., Stay abreast of industry best practices and emerging technologies to continually enhance testing methodologies.

Requirements

Your profile 10+ years of relevant experience in developing test case for embedded software along with experience of developing hardware and software integration test cases. Ability to find hardware faults through software.

10+ years' experience in developing test automation. Strong proficiency in Python programming language, including the ability to write clear, maintainable, and efficient code for test automation. Experience with popular Python test automation frameworks such as Nose and PyTest.

Experience integrating automated tests into CI/CD pipelines using tools like Jenkins, or GitLab CI.

Use of Linux as a basic working environment and ability to write shell scripts.

Solid understanding of testing methodologies, including unit testing, integration testing, and end-to-end testing.

Strong debugging skills and the ability to troubleshoot issues in both the testing code and the application under test.

Familiarity with Agile and Scrum methodologies, and experience working in an Agile development environment.

Desirable skills

Knowledge of containerization tools like Docker and container orchestration tools like Kubernetes for creating scalable test environments.

Understanding of basic security testing principles and the ability to integrate security testing into the test automation process. Use of Nessus or Qualys scanners

Familiarity with performance testing tools such as JMeter or Locust, and the ability to conduct performance testing using Python.

Experience with cloud services such as AWS, Azure, or Google Cloud Platform, and the ability to leverage them for testing purposes., Relevant certifications in Python programming or software testing (e.g., ISTQB, Certified Agile Tester) would be a plus.

Benefits & conditions

Why HUBER+SUHNER Polatis? Our aim is to be the employer of choice and as such you can be assured of a market leading remuneration package that matches your skills and experience.

Your employment and development is at the heart of our "Fundamentals".

We have an entrepreneurial and collaborative culture within the business. We can't wait to hear from you!

About the company

At HUBER+SUHNER, we design and create essential components that transport power and data through networks. This is how our employees around the globe contribute to a world where people get and stay connected.

Apply for this position