Coherent Corp is the global leader in photonics, designing and manufacturing advanced laser, optical, and materials technologies. Our innovations power semiconductor manufacturing, AI infrastructure, advanced communications, and precision industrial systems worldwide. With a global footprint and cutting-edge manufacturing and R&D, we’re shaping the future of high-tech industries.
In Scotland, our site is a key centre for laser and ultrafast laser technology, specialising in the development, manufacture, and lifecycle support of advanced laser systems for demanding industrial and scientific applications. Working closely with teams across our global network, we combine deep engineering expertise with collaborative innovation to deliver high-performance, reliable laser solutions with real-world impact.
Junior Software GUI Engineer
The Role
In this role, you will be responsible for developing intuitive, reliable, and maintainable Windows desktop applications using modern Microsoft technologies. You will work across a diverse portfolio of software solutions, including customer-facing user interfaces, service and diagnostic tools, production and manufacturing test applications, and advanced engineering tools such as emulators and simulators.
Working as part of a multidisciplinary engineering team, you will contribute throughout the entire software development lifecycle, from concept and architecture through implementation, verification, release, and long-term product support. This is an excellent opportunity to work on highly technical products that combine software, electronics, optics, firmware, and systems engineering.
What you will be doing...
Software Design & Development
Design, develop, and maintain Windows desktop applications using C#, WPF, XAML, and .NET .
Develop software using the MVVM (Model-View-ViewModel) architectural pattern to create scalable, maintainable, and testable applications.
Create customer-facing user interfaces that allow users to configure, monitor, and control laser systems.
Develop service and diagnostic applications used by field service engineers for troubleshooting and support.
Design production and manufacturing test GUIs that enable efficient system build, calibration, and verification activities.
Develop engineering tools, including emulators, simulators, and virtual laser systems that replicate product behaviour and support development before hardware is available.
Software Architecture & Reuse
Develop reusable software components, shared libraries, and NuGet packages to drive consistency across multiple product platforms.
Contribute to software architecture decisions, coding standards, and development best practices.
Support the standardisation of software frameworks and user experience across the organisation.
System Integration
Integrate GUI applications with embedded firmware, hardware devices, and third-party equipment.
Work with a range of communication protocols including serial communications, USB, Ethernet, and industrial communication interfaces.
Collaborate closely with firmware, systems, electronics, applications, and product engineering teams to define interfaces and deliver integrated solutions.
Testing & Product Support
Participate in all phases of the software lifecycle including requirements definition, design, implementation, testing, release, and maintenance.
Perform software verification, debugging, issue investigation, and defect resolution.
Contribute to test planning and ensure software quality before release.
Support product release activities, ongoing maintenance, and continuous improvement initiatives.
Collaboration & Continuous Improvement
Produce technical documentation including design specifications, test documentation, and user guides.
Estimate development effort and contribute to project planning activities.
Participate actively in software design reviews, code reviews, and technical discussions.
Support the ongoing improvement of development processes and software engineering practices across the team.
About You
You are a passionate software engineer with strong experience developing desktop applications and a desire to build software that directly interfaces with advanced engineering products. You enjoy solving complex technical challenges, working collaboratively across disciplines, and delivering software that provides an excellent user experience.
You will bring:
Essential Qualifications & Experience
- Degree in Computer Science, Software Engineering, Electronic Engineering, or a related discipline.
- Proven experience developing desktop GUI applications within an industrial, engineering, scientific, or commercial environment.
- Strong programming skills in C# .
- Extensive experience developing Windows desktop applications using WPF and XAML .
- Strong understanding and practical experience of the MVVM architectural pattern.
- Experience developing applications using the Microsoft .NET platform.
- Experience using development environments such as Visual Studio and/or Visual Studio Code .
- Experience working with version control systems, particularly Git .
- Experience creating Windows installation packages using MSI, WiX , or equivalent technologies.
- Strong analytical, troubleshooting, and problem-solving abilities.
- Ability to develop and implement mathematical, scientific, or engineering algorithms.
- Excellent written and verbal communication skills.
Proven ability to work effectively within multidisciplinary engineering teams.
-
Desirable Experience
- Experience with MVVM frameworks such as MVVM Community Toolkit , Prism , or similar technologies.
- Experience developing reusable UI component libraries and NuGet packages.
- Experience developing simulators, emulators, or virtual hardware platforms.
- Experience interfacing with embedded systems and hardware devices.
- Knowledge of communication protocols including CAN/CANopen, RS232, USB, Ethernet/TCP-IP, SPI, and I²C .
- Experience integrating third-party APIs, DLLs, and software libraries.
- Experience with asynchronous and multithreaded software development.
- Experience debugging software on remote systems.
- Working knowledge of C and C++ .
- Experience within industrial automation, scientific instrumentation, medical devices, or other regulated industries.
Experience developing software for Linux-based operating systems.
-
Personal Attributes
- Strong organisation and prioritisation skills with the ability to manage multiple activities simultaneously.
- A proactive and solutions-focused approach to problem solving.
- A willingness to continuously learn and embrace new technologies.
- Ability to work independently while contributing effectively within a team environment.
- Excellent interpersonal and stakeholder management skills.
- Comfortable working within a global, cross-functional, and multicultural organisation.
Professional, ethical, and committed to delivering high-quality results.
-
Ensure adherence to company’s values (ICARE) in all aspects of your position:
I ntegrity – Create an Environment of Trust
✨ C ollaboration – Innovate Through the Sharing of Ideas
A ccountability – Own the Process and the Outcome
R espect – Recognize the Value in Everyone
E nthusiasm – Find a Sense of Purpose in Work
APPLICATION & SELECTION
Current employees who wish to apply should submit a cover letter detailing their interest in the position and how their skills and experience align with the requirements of the role.
We are committed to creating an inclusive and accessible recruitment experience and encourage applications from individuals of all backgrounds.