Associate Software Test Engineer: Automation

Nortek Security and Control | Carlsbad, CA

Posted Date 5/03/2021


The Associate Software Test Engineer: Automation will work closely with development and QA in creating automated test scripts and to develop automated tests and provide coherent distributed middleware that connects software components and applications. Additionally, this role contributes Python development on a Raspberry Pi 3 running Raspian (Linux) to configure, control and monitor our security and home automation panel and expose a Python API for the Software QA engineers to develop test scripts. This critical role will also contribute to modern web (SaaS) development for remote control and monitoring of automated software tests.

Primary Responsibilities:

  • Participate in the design and development of software and hardware solutions using primarily Python and optionally modern web development
  • Contribute to the integration of the ATH into the Continuous Build and Integration system
  • Interacts with development team and analyzes requirements to implement middleware architecture
  • Works closely with both embedded software engineers and software QA engineers
  • Development of unit tests to validate the quality of the ATH
  • Develop processes/methods to improve the product testing and development process. Continuously improve the process and resulting product and software release quality
  • Applies defined software quality best practices and procedures to design, influence, and drive quality and testability of software
  • Investigate and evaluate new testing technologies and products for application within the environment
  • Partner with the development team in all project phases to ensure deliverables satisfy requirements and achieve desired level of quality
  • Engage other SW Quality Assurance team members for feedback on testing strategies, new test designs, and test plan reviews.
  • Design and implement automated tests of embedded systems
  • Create and implement comprehensive test plan for embedded software-based products. Use product specifications, product-use scenarios and other design documentation to develop test plans with sufficient coverage
  • Clearly record, document and communicate testing status working closely with Engineering, Program, and Product management
  • Make recommendations to improve product reliability, performance, and quality assurance best practices and processes.
  • Performs design and configuration of middleware infrastructure and platforms
  • Provides post-production support of released products
  • Other Duties as assigned


  • 1 – 3 years of experience in Automated software testing
  • Experience programming with Python or other scripting language
  • BSCS or BSEE preferred, or equivalent work experience required
  • Programming experience in automated regression testing of embedded devices
  • Experience with Agile Development/SCRUM
  • Experience using Microsoft applications (i.e., Excel, Word, PPT, etc.)
  • Experience with Selenium and Appium highly desirable
  • Experience with REST and MQTT is a plus as well as working with APIs
  • Working and hobby experience with Linux, Raspian on an RPi is a plus
  • Modern web development and database is a plus
  • Must be able to understand a device running a pre-emptive real-time-OS for the purpose of I/O and boot-strapping to support an automation harness
  • General IT knowledge for the purpose of designing a stable automation platform to service and scale automated testing on many devices in parallel
  • Must be experienced in modern software development processes including software configuration management tools and defect tracking tools and peer review
  • Knowledge of Fire, burglary or security system products is a plus
  • I/O experience with variety of devices, e.g. GPIO is a plus
  • Working experience with Z-Wave and/or ZigBee protocols is a plus
  • ARM, PIC architectures knowledge is a plus
  • Working experience with TCP and UDP
  • Embedded Linux HLOS is a plus

Knowledge, Skills and Abilities:

  • Commitment to being a team member and developing habits that foster a healthy and productive team
  • Advanced analytical, problem solving and communication skills; Ability to communicate complex concepts effectively
  • Positive attitude, self-motivated and eager to succeed
  • Proven ability to multi-task, set project priorities, goals and objectives for self
  • Ability to effectively & professionally communicate with co-workers, customers and vendors

Share this job