Senior Software Engineer
As a Senior Software Engineer at the Controls business unit, you will partner with the development team and contribute to the development of a leading Ecosystem for the Industrial Automation market. You will participate in architecture decisions, drive software quality, and influence future product direction. You will collaborate closely with multidisciplinary and multi-national teams across time zones and sites including software, firmware, FPGA, systems, hardware QA, and product management. In this role, you will report to the R&D Manager.
Responsibilities
•Be the owner and lead design, develop, maintain, and enhance a modern desktop software platform used for configuration and lifecycle management of industrial control and automation systems.
•Design and implement software features using TypeScript, React, Electron, Node.js, Python, and related technologies.
•Participate in software architecture definition and technical decision-making.
•Translate and implement complex engineering workflows into intuitive, user-centric graphical user interfaces for engineering and industrial application users.
•Integrate software with embedded devices, controllers, industrial communication networks, and external systems.
•Drive software quality through code reviews, automated testing, CI/CD pipelines, and engineering best practices.
•Analyze and resolve complex technical issues across application, communication, and system layers.
•Contribute to continuous improvement of development processes, tools, methodologies, and software architecture.
•Support products throughout the complete software development lifecycle.
Requirements
•B.Sc. (or higher) in Software Engineering, Computer Science, or a related technical discipline.
•Minimum 5 years of professional software development experience.
•Proven experience designing and developing complex software systems from architecture to integration and productization.
•Able to translate product requirements and workflows into clear design requirements.
Technical stack:
•Strong JavaScript or TypeScript application-development skills.
•Interactive interfaces built with React or a comparable component-based framework.
•Design of desktop applications using Electron or similar frameworks.
•Experience in design and implementation of middleware and backend components including asynchronous operations and integration with files, APIs, external processes, and debugging across application components.
User experience:
•Familiar and experienced with defining, designing, and implementing desktop graphical user interfaces.
•Strong understanding of usability principles and user-centered design.
Other requirements:
•Experience with source control systems such as Git.
•Comfortable with agile programming methods and tools.
•Solid understanding of testing practices including unit and integration testing.
•Good communication skills with the ability to work with technical and non-technical stakeholders.
•Excellent verbal and written communication skills in English.
Experience in one or more of the following areas is valuable and preferred, though none is individually required:
•Experience designing engineering tools, industrial automation and control software, embedded FW design, development environments, configuration applications, and industrial communication protocols.
•Experience with Node.js and modern software development environments.
•Experience designing CAD-like, IDE-like, engineering workstation user interfaces, graphical editors, project explorers, workflow-driven interfaces, or visualization tools.
•Experience with automated testing frameworks, test automation methodologies, and CI/CD tools.
•Using AI: experience using AI-assisted development tools, comfortable with building agents, automating workflows with AI, able to demonstrate continuous software development process improvement using AI.
•Experience with Linux-based and/or real-time operating systems and development environments.
•Knowledge of functional safety concepts, standards, and industrial safety systems.
•Familiarity with cybersecurity and secure software development lifecycle.
Physical Demands and Working Conditions
This job constantly involves operating a computer and other office productivity machinery, in a professional office and laboratory environment.
Certain positions require access to controlled goods and technologies subject to various export control regulations; applicants for these positions may be limited by, for example, their countries of citizenship, country of origin, or immigration status, where required by law, and employment may be made contingent upon the issuance of appropriate governmental licensing.