> Markdown version of [/jobs/ext/2734940-principal-software-engineer](https://www.wearedevelopers.com/jobs/ext/2734940-principal-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Principal Software Engineer - **Company:** FormFactor - **Location:** Beaverton, OR, United States - **Experience:** Expert - **Salary:** $94,100.0 - $123,480.0 - **Contract:** Permanent contract - **Skills:** C (Programming Language), .NET Framework, Agile Methodology, Software Applications, Computing Platforms, Systems Engineering, Computer Vision, Build Automation, Automation of Tests, Microsoft Azure, C Sharp (Programming Language), C++ (Programming Language), Program Optimization, Software Quality, Code Review, Computer Engineering, Continuous Integration, Software Debugging, Software Design Patterns, DevOps, Hardware Design, Hardware Interface Design, LabVIEW, MATLAB, Microsoft Visual Studio, Object-Oriented Software Development, Software Architecture, Software Maintenance, Systems Development Life Cycle, Regression Testing, Release Management, Software Construction, Software Engineering, Software Systems, Software Quality Assurance (SQA), Systems Integration, Data Logging, Software Verification, Git, System-level Testing, Information Technology, Software Coding, Code Restructuring, Software Version Control - **Published:** September 5, 2026 - **Apply:** https://diversityjobs.com/main/sendform/8/8/28176/1/18217106?backUrl=%2Fcareer%2F18217106%2FPrincipal-Software-Engineer-Oregon-Beaverton ## About the Role * Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or related technical field. * Strong hands-on experience with C#/.NET and object-oriented software development. * Experience developing and maintaining MATLAB applications. * Experience working with or migrating MATLAB code/applications to C#/.NET. * Strong written and verbal communication skills. * Ability to work effectively across software, systems, mechanical, electrical, controls, and applications engineering teams. * Experience with Silicon Photonics, semiconductor equipment, wafer probing, optical test, or automated test systems. * Experience with motion control, machine vision, instrumentation, data acquisition, or industrial automation. * Experience with Azure DevOps, Git, CI/CD pipelines, automated testing, and Agile development. Skills: C (Programming Language), C#.NET, C++ Programming Language, Code Optimization, Code Refactoring, LabVIEW Development, MATLAB, MATLAB Programming, MATLAB Simulations, National Instruments LabVIEW, Software Architectural Design, Visual Studio C# Education & Experience: Minimum of 5 years of related experience with a Bachelor's degree; or 3 years and a Master's degree; or a PhD without experience; or equivalent work| Required ## Description FormFactor is seeking a Principal Software Engineer to lead the design, development, modernization, and support of software applications used in advanced semiconductor manufacturing and test systems. As a senior technical contributor, you will drive complex software initiatives across the full development lifecycle, including architecture, development, testing, deployment, and sustainment. This role will lead the migration of legacy MATLAB and LabVIEW applications to modern C#/.NET technologies while supporting software integration with semiconductor equipment, instrumentation, motion control systems, machine vision platforms, and automated test environments. The Principal Software Engineer operates with a high degree of autonomy, provides technical leadership across projects, influences software architecture and engineering standards, and partners closely with hardware, manufacturing, quality, and product development teams to deliver scalable, reliable, and high-performance software solutions., Software Development & Architecture * Lead the design, development, enhancement, and maintenance of software applications supporting semiconductor manufacturing and test equipment. * Architect, develop, and implement new software features from requirements gathering through design, coding, integration, validation, and release. * Provide technical leadership in software architecture, design reviews, code reviews, and technology decisions. * Establish and promote software engineering best practices, coding standards, design patterns, and development methodologies. Software Modernization & Migration * Lead the migration and modernization of legacy MATLAB applications into C#/.NET-based software platforms. * Define migration strategies, architecture roadmaps, validation plans, and software transition approaches. * Refactor, optimize, and enhance existing software to improve maintainability, scalability, performance, and reliability. * Evaluate new technologies and frameworks that support future software platform development. Equipment & Hardware Integration * Develop software interfaces for semiconductor equipment, motion control systems, industrial automation components, instruments, sensors, cameras, and data acquisition hardware. * Collaborate with hardware, systems, and manufacturing engineers to ensure seamless integration between software and equipment platforms. * Support development of real-time control, automation, and data collection solutions. Legacy Application Support * Maintain and enhance existing MATLAB and LabVIEW applications, including troubleshooting, debugging, sustaining engineering, and feature development. * Support legacy software systems through performance improvements, hardware interface updates, reliability enhancements, and defect resolution. * Develop long-term strategies for sustaining or modernizing existing software assets. Software Quality & Reliability * Develop and maintain automated unit, integration, and system-level testing frameworks. * Partner with Software Quality Assurance teams to improve test automation, simulation environments, regression testing, and software verification processes. * Implement robust debugging, diagnostics, logging, and monitoring capabilities to improve software quality and maintainability. * Ensure software releases meet quality, performance, and reliability requirements. Troubleshooting & Problem Resolution * Diagnose and resolve complex software defects, manufacturing issues, equipment integration problems, and customer escalations. * Lead root cause investigations involving software, hardware, and system interactions. * Implement corrective and preventive actions that improve system stability and operational performance. DevOps & Development Process Improvement * Contribute to CI/CD pipelines, source control strategies, automated builds, deployment processes, and release management practices. * Drive continuous improvement initiatives focused on software efficiency, development velocity, maintainability, and quality. * Champion modern software engineering practices across the development organization. Technical Leadership & Collaboration * Serve as a technical expert and mentor for software engineers and cross-functional development teams. * Lead technical reviews, architecture discussions, and complex engineering investigations. * Collaborate with Product Management, Systems Engineering, Manufacturing, Quality, and Customer Support teams to deliver business-critical solutions. * Influence long-term technology strategies and software platform roadmaps. ## Related Videos - [Leveraging Large Language Models for Legacy Code Translation: Challenges and Solutions](https://www.wearedevelopers.com/videos/1157-leveraging-large-language-models-for-legacy-code-translation-challenges-and-solutions) - [From DevOps to Scaled DevOps: How We’re Rebuilding Continuous Delivery as a Platform](https://www.wearedevelopers.com/videos/100018-from-devops-to-scaled-devops-how-we-re-rebuilding-continuous-delivery-as-a-platform) - [How a Small Team Shrank a Microsoft Monorepo by 94%](https://www.wearedevelopers.com/videos/1236-how-a-small-team-shrank-a-microsoft-monorepo-by-94) - [Strange New Worlds: shaping the future of the digital age](https://www.wearedevelopers.com/videos/677-strange-new-worlds-shaping-the-future-of-the-digital-age) - [Building a hypercar from scratch](https://www.wearedevelopers.com/videos/607-building-a-hypercar-from-scratch) - [DevOps Maturity Check – a way to balance autonomy and alignment](https://www.wearedevelopers.com/videos/58-devops-maturity-check-a-way-to-balance-autonomy-and-alignment) ## Related Articles - [Is Software Engineering Hard?](https://www.wearedevelopers.com/magazine/448-is-software-engineering-hard) - [How We Built a Worry-Free System That Runs for 10+ Years – And What We’d Do Again](https://www.wearedevelopers.com/magazine/751-how-we-built-a-worry-free-system-that-runs-for-10-years-and-what-we-d-do-again) - [Software Engineer Career: Things You Should Know](https://www.wearedevelopers.com/magazine/143-software-engineer-career-things-you-should-know) - [Highest Paying Tech Companies for Developers](https://www.wearedevelopers.com/magazine/220-highest-paying-tech-companies-for-developers) - [Best Countries for Software Engineers](https://www.wearedevelopers.com/magazine/267-best-countries-for-software-engineers) - [What is Software Engineering?](https://www.wearedevelopers.com/magazine/289-what-is-software-engineering)