Why work for Rosenxt?

The North American team of Rosenxt is an extended team of people with a passion for technology and innovation. Our ongoing organic growth results in career opportunities and gives our employees chances for further development and added experience. We are a tight-knit group of interdisciplinary engineers, working closely together with state-of-the-art technologies and top-notch engineers around the world. We strive to create a supportive and rewarding environment so everyone can excel.


Our software team’s primary focus is on developing software for prototype sensors used in non-destructive testing. This typically involves programming near hardware-software interfaces, developing or modifying embedded device drivers on Linux and other embedded kernels, implementing signal processing algorithms, implementing hardware abstraction layers, interfacing with FPGAs, and targeting resource-constrained processors. Our software team also develops high-level user interfaces in Python and HTML/JS to facilitate initial prototype turn-on and demonstration.
 

Responsibilities:

  • Developing software for Linux and bare-metal embedded in C, Go, and Python
  • Participating in code reviews
  • Mentoring and collaborating with early-career developers
  • Communicating with internal customers about software releases
  • Writing documentation for released code
  • Providing technical support for internal customers
  • Aiding with project initiation by gathering requirements, defining software architecture, estimating effort and defining chunks of work
  • Collaborating with electrical, mechanical, sensor, and manufacturing engineers to help integrate your software into hardware systems
  • Travelling to Europe a few times per year for work

Knowledge and Skills:

  • 5+ years designing, writing, deploying, and troubleshooting embedded software in C or Python
  • BS in Computer Engineering, Computer Science, or equivalent experience
  • Comfort reading and writing C, and one or more of Go (Golang), Python, or JavaScript / TypeScript
  • Strong written and verbal communication skills
  • Self-motivation
  • Experience with software testing
  • Willingness to travel on a few short business trips per year
  • Experience using version control software such as fossil or git
  • Familiarity with bootloaders and the basics of how hardware boots to software
  • Familiarity with network concepts and protocols: sockets, HTTP, TCP/IP, UDP, MAC address
  • Experience or desire to work in a multi-disciplinary team (physicists, EEs, MEs, and SDEs – it’s fun!)
  • Experience developing Linux or bare metal device drivers
  • Experience writing code targeting ARM processors
  • Familiarity with bus interfaces such as I2C, SPI, UART, PCIe, AXI
  • Comfort reading a data sheet to interface with common embedded hardware peripherals such as flash devices, eMMC, FPGAs, GPIO, sensors, etc.
  • Experience with lab tools: logic analyzers, JTAG debuggers, oscilloscopes, bench power supplies, function generators

Education/Experience:

  • 5+ years designing, writing, deploying, and troubleshooting embedded software in C or Python
  • BS in Computer Engineering, Computer Science, or equivalent experience
  • Comfort reading and writing C, and one or more of Go (Golang), Python, or JavaScript / TypeScript

Mareike Schroeder

Recruiting Specialist

Contact us