North Reading, MA, US
9 days ago
Software Performance Engineer

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

Teradyne is a global test and automation specialist, powering next-generation technologies through sophisticated solutions. Our software systems employ a wide array of technologies running on both Linux and Windows operating systems in a distributed environment. The software makes use of multi-threading/asynchronous programming in both C# and C++. 

We are seeking a highly skilled and motivated Software Performance Engineer to join our team. The ideal candidate will have a deep passion for constructing software systems that meet performance objectives and exhibit a relentless curiosity for investigating and optimizing performance and memory issues. This role is crucial for ensuring that our software products operate at peak performance, providing the best possible experience for our users. 

Responsibilities

Performance and Memory Optimization

Work with our development teams to aid in analysis, identification, and resolution of performance bottlenecks in our software products. Optimize code to enhance the performance, responsiveness, and scalability of our applications. Investigate and address memory issues, including leaks and inefficient usage, to ensure optimal application performance. Implement memory optimization techniques to improve overall system efficiency.

 

Collaboration and Communication

Work closely with development teams to diagnose and debug performance bottlenecks and memory inefficiencies. Help to incorporate performance and memory considerations into the software development lifecycle. Communicate findings, solutions, and performance improvements to stakeholders and team members.

 

Tools and Techniques

Employ advanced performance analysis tools and profiling techniques to diagnose and fix performance issues. Stay current with the latest tools and technologies for performance engineering, specifically in the .NET and C++/COM technology stacks. Standardize design patterns for our products that provide solutions with optimal performance and memory utilization. 

 

Product Enhancement and Diagnosability

Propose and implement enhancements to the product to improve telemetry and diagnosability of performance and memory inefficiencies. Develop and integrate robust telemetry systems to aid in identifying and diagnosing future performance and memory issues prior to product delivery. Continuously monitor and improve the performance of our software products.

 

Basic Qualifications & Skills

Proficiency in Programming Languages 

Extensive experience with C# and C++ programming languages.  Strong understanding of .NET Framework and COM application development.  Experience with multithreaded systems and asynchronous programming techniques. 

 

 

Performance and Memory Investigation 

Demonstrated ability to investigate and resolve performance and memory issues.  Passionate about optimizing code for better performance and efficiency. 

 

 

Advanced Investigative Tools 

Hands-on experience with modern tools and techniques for analyzing .NET and C++ applications.  Proficiency in using performance profiling and diagnostic tools.  Specific experience with Visual Studio Profiler, JetBrains, PerfView, Windbg and ETW 

 

 

Problem-Solving and Analytical Skills 

Strong analytical skills with a detail-oriented approach to solving complex problems.  Ability to think critically to diagnose and address performance issues.  Education and Experience

Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field. 

10+ years of experience in software development and performance engineering. 

Experience with agile development methodologies. 

Familiarity with other programming languages and frameworks is a plus. 

Confirm your E-mail: Send Email