Senior Software Engineer

Posted: 2 weeks ago

This position is for a Senior Software Engineer to work on the design development and support of client Data Capture devices. Client's Data Capture Solutions division designs and develops industry-leading data capture devices including handheld and hands-free bar code scanners, scan engines, fixed and mobile RFID solutions.

Analyzes, develops, designs, and maintains software for the organization's products and systems. Performs system integration of software and hardware to maintain throughput and program consistency. Develops, validates, and tests: structures and user documentation. Work is evaluated upon completion to ensure objectives have been met. Determines and develops approach to solutions

Core Responsibilities:

  • Work within a larger development team on the design of DCS's next generation computer vision products.
  • Real Time Embedded software development in various areas of the system including:
  • Development and support of Industrial Ethernet protocol stacks.
  • Interface with Computer Vision Engineers on integration of machine learning algorithms into system code.
  • Operating system integration and support.
  • Design and development of supporting tools / utilities for system configuration
  • Post release support
  • Interface with customers and field engineers, providing product feature and performance support
  • Troubleshoot PLC and industrial ethernet applications.
  • Work on bug fixes and maintenance release activities.
Additional Responsibilities:
  • Establishes requirements for moderately complex software design projects. Prioritizes features to insure the most important get implemented.
  • Participates in code reviews and identifies bad sections early in the process and then recodes them.
  • Completes all phases of moderately complex software design projects. Carries out all in-process and final inspection activities.
  • Develops and tests documentation for the software projects.
  • Considers latest technologies and new approaches to designs and implementation of new designs.
  • Reviews changes or upgrades to existing software and / or firmware designs. Develops new technology to solve unique problems.
  • Provide recommendations and solutions to problems using experience in multiple technical areas.
  • Applies existing technology in new ways to improve performance and productivity.
  • May develop new tools to aid in the analysis and solving of problem
  • Exercises judgment in selecting methods and techniques for obtaining solutions.
  • Receives little instruction on day-to-day work and general instructions on new assignments.
  • May influence the activities of junior level personnel (exempt professional and non-exempt).
  • Networks with senior, internal and external, personnel in own area of expertise. Frequent inter-organizational and outside customer contacts
  • BS in Computer Science, Computer Engineering or Electrical Engineering
  • 5+ years of experience in real time embedded software development with 16 and 32 bit microcontrollers using C/C++ programming languages.
  • Experience with Linux operating system in an embedded environment.
  • Knowledge of Industrial Ethernet protocols including Ethernet/IP, Profinet and Modbus
  • Experience with software version control systems (Git, Perforce, ClearCase)
  • Experience working in an Agile development environment.
  • Backend server development experience with Python or Java
  • Full stack development capabilities are a plus (HTML, Angular or React frameworks, JavaScript, Java, Python)