Back to search
Reggiani Macchine S.p.A. Linkedin · Posted 4d ago

Senior Programmer/Architect (C++ / C#)

Comun Nuovo

Linkedin
Continue to application Add your email once, then Caio opens the original posting.

Indexed description

We are looking for a Senior Programmer/Architect (C++ / C#) with deep architectural experience in software development for industrial machines and automation systems. The candidate will define the code design guidelines for machine-level software and act as a technical mentor to the team, while remaining hands-on.

This role directly reports to the R&D product leader in their region with a dotted line to the Sr. Director of Software Development based in Spain.

Key Responsibilities

  • Design, develop, and optimize the software architecture for the control, diagnostics, and supervision of complex industrial machines, ensuring efficient coexistence between C++ (real-time/low-level management, drivers, high-performance data processing) and C# (HMI, application logic, connectivity).
  • Lead the technology choices of the industrial software development team, define coding standards together with the team to ensure maximum machine stability and safety, and conduct rigorous code reviews.
  • Explore new technologies and industrial protocols, creating Proofs of Concept (PoCs) to improve machine performance, efficiency, and connectivity.
  • Work closely with the electronic design, automation (PLC), and mechanical teams to translate machine operating specifications into robust software architectures.
  • Act as a reference point for less experienced programmers, helping them solve complex software/hardware interface issues.

Requirements

  • Proven experience in developing application or control software for industrial machines, plants, or complex embedded systems.
  • Deep knowledge of software-hardware interaction dynamics (input/output management, machine cycles, alarm management, and machine state management).
  • Excellent knowledge of modern C++, concurrent/multithreaded programming, memory management, and performance optimization for critical low-level tasks.
  • Solid experience with the .NET ecosystem (Framework + Core) for developing advanced human-machine interfaces (HMI), supervision services, and coordination logic.
  • Familiarity with the integration of industrial protocols and fieldbuses (e.g., OPC UA, EtherCAT, Modbus, CANopen, TCP/IP).
  • Good experience integrating low-level native code with high-level managed code (C++/CLI, P/Invoke).
  • Use of profiling and debugging tools in industrial environments, unit testing frameworks, and version control systems (Git).
  • Ability to guide and influence the team’s decisions through technical credibility and expertise.
  • Strong aptitude for understanding the impact of code on the physical behavior of the machine and on operational safety.
  • Ability to analyze complex bugs or abnormal machine behaviors in a structured way, focusing on the long-term stability of the system.

What can we offer?

  • Direct Product Impact: The opportunity to see your code move, control, and optimize real, state-of-the-art industrial machines.
  • Focus & Flow: Protected time for research, development, and architectural design, minimizing corporate bureaucracy.
  • Exposure: The candidate will interact with counterparts across the EFI group to develop international projects.
Free. 20 seconds. No password. See every match in this search.

Create a free Caio profile to unlock more results and save your role and location preferences.

Unlock free search
Want help applying to roles like this? Search Caio for free. If repetitive applications get heavy, Managed Job Search adds supervised execution for $99/month.
View Managed Job Search