Senior Software Engineer
Teradyne, San Jose, CA, United States
Senior Software Engineer
Date: Sep 4, 2024
Location: San Jose, CA, US
We are the global test and automation specialists, powering next-generation technologies through sophisticated solutions. Behind every electronic device you use, Teradyne's test technology ensures your device works right the first time, every time! Our portfolio of automation solutions help manufacturers to develop and deliver products quickly, efficiently and cost-effectively. Together, Teradyne companies deliver manufacturing automation across industries and applications around the world!
Organization & Role
Nextest (San Jose, CA) is looking for front end (GUI) software engineers to join an exciting, dynamic, hardworking, engaging, and collaborative team. As an individual contributor, you will be involved in all aspects of software developing life cycles, working closely with our hardware engineers and marketing personnel to develop high quality, visually appealing, and user-friendly graphical user interface (GUI) hardware tools to access, debug, and verify system hardware. Nextest engineering teams are characterized by deep technical skills working with both software and hardware. Our Engineers thrive in a dynamic, customer-driven, global work environment where they succeed through innovation and collaboration. Internally, we work closely with the Systems Engineering, Hardware Engineering, and QA groups. Externally, we work closely with both our Field support organization and our customers.
Responsibilities
- Understand customer requirements and find innovative ways to incorporate those requirements within our existing software architecture.
- Learn from our most senior engineers and bring your experience and voice to help drive the next generation of Teradyne.
- Collaborate with our senior team to design and develop user-friendly graphical user interface hardware tools for hardware verifying, debugging, and accessing that are used for external customers and internal engineers.
- Assist with maintaining, sustaining, extending, and enhancing new features for existing hardware tools.
- Engage with our Field Applications team to find innovative ways to improve customer success and solve customer problems.
- Work with the Software QA group to devise effective test strategies and identify areas to improve and resolve issues with our internal and customer-facing software releases.
Basic Qualifications & Skills
- Advanced to expert knowledge of C++ with strong C++ Object Oriented design and programming skills.
- Experience implementing software that directly interacts with hardware (FPGAs and ASICs).
- 2-5 years working knowledge of any GUI builder or IDE, preferably MFC in Microsoft Visual Studio C++ IDE, required.
- Knowledge of Windows and experience with Microsoft Visual Studio required.
- Familiarity with C++ STL Library.
- Proficiency with a source code control system (GIT preferred).
- Present ideas to groups of people.
- TCP/IP socket and multi-threaded programming.
- Hands-on experience interacting with hardware designers and reading schematics/design documentation and implementing software interacting directly with hardware.
- Software development for embedded systems, microcontrollers, and/or off-the-shelf small-form-factor devices (e.g. Raspberry Pi, BeagleBone, Arduino).
- Experience and/or knowledge of Windows device drivers (specifically, KMDF).
- Experience delivering products directly to customers.
- ATE experience.
Education
- Computer Science or Computer Science and Engineering B.S. degree (M.S. degree preferred) with 5-7+ years of experience.