Senior Test Engineer - Software
Role details
Job location
Tech stack
Job description
The Trust Automation Test Engineering Team develops test systems and software applications that empower Trust Automation to build and ship best-in-class motion control and cyber security hardware. Test Engineers collaborate with Product Development and Manufacturing teams to create manufacturing test plans for new products, and design fixtures and software to automate these tests.
Test Engineering is a multidisciplinary team, with most projects requiring mechanical, electrical, and software design. The Test Software Engineer is responsible for the software component of these projects, creating a test plan, and supporting the team to solve shared design problems.
A common project for Test Engineering Team is the design and integration of bed-of-nails test fixtures. Test content can include ICT, chip programming, functional/integration tests, motion control, and signal processing. Technical breadth of test content is constantly growing as new products and technologies are added to the Trust Automation portfolio.
Duties and Responsibilities
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill and/or ability required. Reasonable accommodation may be made to enable individuals with disabilities, who are otherwise qualified, to perform the essential functions.
-
Design, deploy, and maintain software used by the Trust Manufacturing Team for building and testing motion control, power conversion, and cyber security products
-
Develop test code using Python, C, C#, and TypeScript
-
Design manufacturing tests for new products
-
Review product requirements, electrical schematics, and other product design documentation to generate requirements for the test design
-
Requirement derivation, tracking and verification for test solutions
-
Create diagrams of target products and other supporting documents to aid in communication and design of the test
-
Create and document a test plan. Lead reviews of the test design with engineers, program stakeholders, and external customers
-
Implement test software using Python and other programming languages
-
Create work instructions that guide Test Operators through execution of the test
-
Create and execute a validation plan to confirm that the test implementation meets design goals prior to release for use in manufacturing
Assist in building prototype test hardware including cable assemblies, hardware integration, specification and ordering of components, and mechanical assembly
Perform a variety of complicated tasks, primarily relying on job experience to accomplish projects goals. A wide degree of creativity and latitude is expected.
Lead Trust Automation's test development processes, including design reviews
Provide mentoring and training for other engineers
Support of Business Development (i.e. - Bid and Proposal) efforts
Support of Operations with released product issues, leading engineering sustainment
Become a product knowledge expert, using that knowledge to:
- Contribute to troubleshooting documentation
- Train and assist peers to identify and troubleshoot product issues
- Design and execute experiments to characterize product design issues. Create reports to communicate findings. (i.e. - perform root-cause analysis).
Troubleshoot test system and product issues using tools such as:
- Multimeters
- Oscilloscopes
- Logic and protocol analyzers
- Network analyzers
- Debuggers (e.g., pdb, gdb) and trace probes (e.g., Segger)
Provide production support in the factory by supporting product launch, executing tests, deploying hot fixes, and troubleshooting operational systems.
Perform full regression testing for software release candidates
Participate in Trust Automation's design and development processes, including design reviews
Assist Program Managers and Trust VPs with project/program planning, including specification of system application solutions, task prioritization, and risk mitigation
Contribute to project/program success by meeting deliverables on schedule and within budget
Requirements
- BS in Computer Engineering, Computer Science, Electrical Engineering, or equivalent
- Software/firmware design experience, including programming skills with higher level languages (i.e. - C)
- Experience building and maintaining software applications in Python or C#
- Basic electronics knowledge: familiarity with digital and analog circuits
- Experience using test equipment (oscilloscope, DVM, function generator, logic analyzer, etcâ?¦)
- Target level debugging skills
- Capable of technical leadership, Typically 8+ years of engineering experience, Ability to read and understand electrical schematics, Experience with command-line interfaces, Experience building on or deploying to headless Linux systems (or an unabashed enthusiasm to learn), Experience with digital and analog I/O using data acquisition hardware or similar (i.e. - LabJack, Arduino), Familiarity with the following serial protocols: SPI, I2C, RS232/RS422/RS485. Ability to convert a logic analyzer or scope trace of one of these to bytes., Experience using statistical analysis methods, Excellent written and oral communication skills
- Ability to create visual aids
- Ability to identify and present meaningful data
- Ability to professionally engage with customers and partners external to the company, Thrives in an innovative, multidisciplinary design team environment
Ability to manage time effectively and work effectively with teammates and management
Physical Requirements
- Hearing and speaking to exchange information in person, on the telephone or virtually.
- Dexterity of hands, fingers, and wrist to operate a computer keyboard, calculator, or assemble/manufacture intricate items.
- Seeing to read a variety of materials.
- Sitting or standing for extended period of time.
- Physical agility to lift up to 50 pounds to shoulder height. Any items that weigh more than 50 pounds will require two or more people or a lifting device to move.
- Physical agility to lift, carry, push, or pull objects.