Back to results

Embedded Software Developer – Diagnostics

  • Murray Hill, NJ, United States

Applications open in a new tab.

Job details

Apply by
Experience
Bachelor’s or Master’s degree in Electrical Engineering, Telecommunications Engineering, Computer Science, or a related field, with at least 3 years of recent, relevant experience.
Posting language
English
Posted

Original job description

We are seeking a Diagnostic Software Engineer with strong embedded software and low-level hardware programming experience. The successful candidate will work closely with hardware and software teams to develop diagnostic solutions, troubleshoot complex issues, and thoroughly validate product hardware functionality.

Requirements

  • Bachelor’s or Master’s degree in Electrical Engineering, Telecommunications Engineering, Computer Science, or a related field, with at least 3 years of recent, relevant experience.
  • Strong understanding of low-level software development and direct hardware access, including the ability to work from device data sheets to access embedded controllers and peripherals.
  • Knowledge of associated low-level hardware interface protocols.
  • Experience working with software development tools and Linux operating environments.
  • Understanding of Continuous Integration (CI) concepts and version control practices.
  • Ability to read and interpret product hardware schematics and perform digital circuit analysis.
  • Demonstrated experience analyzing, troubleshooting, and debugging hardware and software failure scenarios.
  • Ability to develop comprehensive diagnostic code designed to thoroughly exercise and validate the hardware functionality of an assigned product.
  • Strong problem-solving skills and a demonstrated ability to drive the investigation and resolution of complex product issues.
  • Experience with embedded software development.
  • Proven experience working with bus and interface technologies such as:
  • SPI
  • I2C
  • MDIO
  • PCIe
  • Device drivers
  • Strong programming experience with C/C++ and Python.
  • Experience with Git or similar version control systems.
  • Strong knowledge of the Linux operating system, including shell scripting.
  • Strong teamwork and collaboration skills with a commitment to software quality and engineering excellence.

Nice to Have

The ideal candidate will also have experience working with optical telecommunications systems.

More about this job

Skills

  • Troubleshoot
  • Electrical engineering
  • Telecommunications engineering
  • Computer science
  • Software development
  • Software development tools
  • Linux
  • CI/CD
  • Troubleshooting
  • Debugging
  • Problem solving
  • C
  • C++
  • Python
  • Git
  • Control systems
  • Teamwork
  • Collaboration

Report this job