Software Engineer (Londonderry, NH)

Electronics for Imaging

$90K — $120K *
Information Technology
8 - 10 years of experience
Job Overview by Ladders

Qualifications

  • Degree in Computer Science, Software Engineering, Computer Engineering, or related field.
  • 10+ years of relevant software development experience.
  • Strong proficiency in modern C++ (C++11 or later) and working proficiency in C#.
  • Familiarity with at least one scripting language (Python preferred).
  • Development experience on Linux (Ubuntu or Mint) and Windows.

Responsibilities

  • Collaborate with teams and vendors to gather and document software requirements.
  • Design, implement, and maintain code in C++ and C#, using Python for tooling.
  • Enhance existing components of the printer software codebase.
  • Integrate software with printer control systems and hardware.
  • Diagnose and resolve field-reported issues across printer platforms.
  • Participate in code reviews and contribute to team coding practices.
  • Maintain and improve the shared development environment.

Benefits

  • Collaborative work environment with international teams.
  • Opportunities to work on cutting-edge printer technology.
  • Flexibility in work practices to suit different time zones.
  • Support for ongoing professional development and skill enhancement.
Full Job Description
EFI is seeking an R&D Software Engineer to join our software and hardware development team in Londonderry, New Hampshire. This position reports to the local R&D product leader with a dotted line to the Sr. Director of Software Development in Spain. In this role, you will collaborate with New Product Development teams and third-party vendors to develop and integrate applications with printer control systems, support and evolve our unified printer software platform, sustain our installed base of legacy products, and help drive software quality. What you will do: - Collaborate with R&D teams and international partners to gather, clarify, and document requirements, and to define specifications for new software applications. - Design, implement, and maintain application and systems code in modern C++ and C#, with Python for tooling, test scaffolding, and build/development workflows. - Own and enhance existing components of our printer software codebase, spanning current and legacy platforms. - Integrate software with printer control systems, cameras, and other hardware in collaboration with electronics, controls, and mechanical engineering teams. - Diagnose and resolve field-reported issues across multiple printer platforms, working from logs, remote debugging, and direct customer/service-team collaboration. - Participate in code reviews, contribute to team coding practices, and support software quality assurance activities including test planning. - Maintain and improve the shared development environment (Docker-based build and remote-development workflows) used by local and international teams. This role may be a good fit if you have: - Degree in Computer Science, Software Engineering, Computer Engineering, or a related field. - 10+ years of relevant software development experience. - Strong proficiency in modern C++ (C++11 or later); working proficiency in C#. - Familiarity with at least one scripting language (Python preferred; Lua an asset). - Development experience on Linux (Ubuntu or Mint) and Windows, with a working understanding of networking fundamentals. - Familiarity with Git-based workflows, code review practices, and containerized development (Docker). - Strong analytical, problem-solving, and troubleshooting skills, including comfort diagnosing issues from logs and remote systems. - Strong written and verbal communication skills in English, with the ability to work independently and collaborate effectively with international teams across time zones. Preferred qualifications: - Experience with industrial printing systems (UV digital printing or comparable technologies) or familiarity with EFI or competitors' printers. - Experience with digital image processing and pipelined image-processing architectures. - Experience with multi-threaded / concurrent C++ development. - Experience with machine vision, camera integration, or computer vision libraries (e.g., OpenCV). - Familiarity with motion control interfaces, PLCs, or industrial protocols such as Modbus and POWERLINK. - Working knowledge of hardware systems and electronics. - Experience maintaining and modernizing large, long-lived C++ codebases across platforms. - Experience with database programming (SQL). - Familiarity with color science, colorimetry, or printer color management. ##LI-EH1

Similar Jobs

More Jobs at Electronics for Imaging

More Information Technology Jobs

Find similar Software Engineer (Londonderry, NH) jobs: