Embedded Systems Test Engineer
Summary
Test engineer at Geotab, a fleet telematics/IoT company, who builds and maintains automated testing solutions and CI/CD-integrated test suites for embedded systems (firmware, device drivers, telematics hardware) and/or software applications. Core stack: Python/pytest, C, CI/CD pipelines (GitLab), with assets in Linux, RTOS, and GCP.
Who we are:
Who you are:
We are always looking for amazing talent who can contribute to our growth and deliver results! Geotab is seeking a Embedded Systems Test Engineer who will develop and maintain automated testing solutions to ensure the quality and reliability of software and embedded systems. If you love technology, and are keen to join an industry leader — we would love to hear from you!
What you'll do:
As a Embedded Systems Test Engineer, your key area of responsibility will be working closely with developers, product managers, and other stakeholders to define and implement test strategies, automate manual tests, and integrate testing into the CI/CD pipeline. You will focus on creating, executing, and maintaining automated test scripts, managing test coverage, and optimizing testing tools and processes. Depending on the scope, this includes either embedded systems testing (hardware/software integration, real-time constraints, firmware) or software applications testing (web, mobile, desktop, regression, and smoke tests). You will need to work closely with developers, product managers, and other technical teams. To be successful in this role, you will be a highly organized team player with excellent verbal and written communication skills, strong interpersonal relationship-building skills, and the ability to work well under pressure and respond to fast-changing priorities and deadlines. In addition, the successful candidate will have strong technical competence, solid knowledge of software development and QA practices, and the ability to manage multiple tasks and projects simultaneously.
How you'll make an impact:
-
Design, develop, and maintain automation frameworks for testing software applications (e.g., web, mobile, desktop) or embedded systems (e.g., firmware, device drivers, telematics hardware).
-
Write automated test scripts in programming languages such as Python, Java, C++, or similar. Ensure these tests are integrated into the development pipeline to facilitate continuous testing and quality assurance.
-
Define, design, and implement CI/CD pipelines to automate the build, test, and deployment process. Ensure smooth integration of automated tests into the overall development workflow.
-
Manage test coverage for both functional and non-functional requirements. Ensure all new features and changes are properly tested.
-
Work closely with developers, product managers, and other technical teams to identify testing requirements and define testing strategies. Provide guidance on test automation best practices.
-
Build and maintain test environments, including setting up necessary tools and infrastructure for both software and embedded system testing. Ensure tools are up to date and aligned with industry best practices.
-
For embedded systems, focus on hardware-software integration, real-time performance, memory constraints, and ensuring reliability and safety. For software applications, focus on validating performance, scalability, and functionality.
-
Proactively monitor test results, logs, and system behavior. Identify issues early and report them in a structured manner. Develop scripts for log scraping and issue tracking automation.
-
Stay current with industry trends, new testing technologies, and automation tools. Continuously improve test processes, automation frameworks, and methodologies to ensure better efficiency and effectiveness in testing.
What you'll bring to this role:
- 1–5 years of required previous experience in QA Automation, Manual Testing, Security Testing, Performance Testing, Agile QA, or using Python/pytest to develop hardware-firmware automation test frameworks.
-
1+ years of experience working in embedded development and low-level programming (preferably using C).
-
Bachelor’s degree in Computer Science, Engineering, or a related field (or an equivalent combination of education and work experience).
-
Solid understanding of the core tenets of software development, QA practices/tools, and CI/CD pipelines (GitLab pipeline experience is a plus).
-
Experience developing unit, integration, system, power, performance, and stress tests using automation
-
Strong soft skills: highly organized, excellent written and verbal communication, strong interpersonal skills, and the ability to handle fast-changing priorities under pressure
-
Assets include experience with SCRUM, RTOS, Linux, GCP, BigQuery, and SQL.
How we work:
Skills
As published by greenhouse · 16 questions
Basics
First Name, Last Name, Email, Phone, Resume/CV, Cover Letter, Location
Short answers (8)
- Current company
- LinkedIn Profile optional
- Github URL optional
- Portfolio URL optional
- Other Website optional
- City & Country in which you are currently located
- What are your compensation expectations for the role you are applying for?
- What date would you be available to onboard with Geotab?
Pick from a list (8)
- How did you hear about Geotab?
- How did you hear about this job opportunity?
- Are you legally authorized to work in the region in which the position you are applying for is located?
- Do you currently work for a partner or reseller of Geotab?
- Are there any post-employment restrictions from your current or most recent employer (such as hiring restrictions or confidentiality obligations)?
- Will you consent to a background check? (All offers of employment are contingent on passing a background check)
- Were you previously employed with Geotab?
- If you are a veteran of the armed forces in your country and would like to identify this fact to our recruiting team, please write "YES" in the text box below. optional