System Software Developer

NCR Corporation•Atlanta, GA

About The Position

The primary responsibility for this position is to write system software drivers and utilities, and to solve problems in NCR Voyix point-of-sale systems. This includes designing, developing, and testing the system software “middle layer” that interfaces between point-of-sale application software and hardware. Operating systems include Windows and Linux. Hardware architectures include Intel x86 and ARM. Software architecture includes NCR Voyix Edge (Linux containers). Work includes: Develop system software drivers and utilities for point-of-sale self checkout systems, servers, and peripheral devices such as scales and cash dispensing devices. Troubleshoot problems, analyzing and suggesting technical solutions. Assist in the design and modification of complex systems and subsystems for retail stores, grocery stores, gas stations, and restaurants. Perform design changes for product improvements and upgrades. Coordinate with offshore development and testing resources to manage software deliverables. Produce technical documentation, which includes functional design, technical design, use cases, and technical release documents. Interact with cross-functional teams to deliver complete solutions. Communicate status of projects to management.

Requirements

  • Bachelor’s Degree in Computer Science, Computer Engineering, or Electrical Engineering.
  • 1-6 years of software development related experience.
  • Experience writing code with C, C++, C#, and/or Java.
  • Experience with Windows and Linux.
  • Working knowledge of general computer landscape, architectures, trends, and emerging technologies.

Nice To Haves

  • System software development work experience with kernel mode drivers and low-level interfaces under Windows and Linux.
  • Experience with point-of-sale hardware devices, including scales, scanners, cash dispensing devices, uninterruptable power supplies, and USB cameras.
  • Working knowledge of UPOS (both OPOS and JavaPOS) retail application software interfaces.
  • Working knowledge of Linux container architecture.
  • Working knowledge of Integrated Development Environments/Toolchains including Microsoft Visual Studio.
  • Experience with Agile development process.
  • Experience with source code and bug tracking tools like Github and Jira.
  • Working knowledge of Ethernet and WiFi networking concepts like TCP/IP, sockets, PXE boot, and Wireshark.
  • Working knowledge of at least a few of the following communication technologies: USB, RS-232, Ethernet. Experience with bus analyzers is a plus.
  • Experience developing software for hardware systems using software and hardware tools such as debuggers, In Circuit Emulators, oscilloscopes, and logic analyzers.
  • Ability to read electrical schematics.
  • Learn existing and new computer systems, and to become familiar with them in a short amount of time, to be able to “stand on your own.”
  • Work under pressure in a fast-moving environment to meet project deadlines, while balancing multiple concurrent projects of varying priorities.
  • Accurately estimate the development time required for new projects.
  • Create clear documentation and make effective group presentations.
  • Work independently with limited supervision.
  • Effectively communicate with peers and supervisors, and to work cooperatively in a team environment to define, design, and ship new software features.

Responsibilities

  • Develop system software drivers and utilities for point-of-sale self checkout systems, servers, and peripheral devices such as scales and cash dispensing devices.
  • Troubleshoot problems, analyzing and suggesting technical solutions.
  • Assist in the design and modification of complex systems and subsystems for retail stores, grocery stores, gas stations, and restaurants.
  • Perform design changes for product improvements and upgrades.
  • Coordinate with offshore development and testing resources to manage software deliverables.
  • Produce technical documentation, which includes functional design, technical design, use cases, and technical release documents.
  • Interact with cross-functional teams to deliver complete solutions.
  • Communicate status of projects to management.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service