Software Engineer II

VidendumCary, NC
Onsite

About The Position

This role focuses on developing and maintaining software for SmallHD’s video monitoring products, requiring comfort with C programming in an embedded environment. The engineer will collaborate with Electronic and FPGA engineering teams throughout design, testing, and integration. Daily tasks include completing programming tasks for Linux-driven embedded devices, maintaining custom C applications, assisting with custom hardware bring-up, developing and maintaining ARM-based microcontroller software, and leading code reviews.

Requirements

  • Bachelor’s in computer science or computer engineering
  • 3+ years professional experience
  • Advanced proficiency with C programming
  • Advanced proficiency developing Linux applications
  • Advanced proficiency with common Version Control software
  • Familiarity with GNU Make, Python, Bash and Batch Scripting
  • Familiarity with I2C, SPI, UART, USB protocols
  • Familiarity with ARM Cortex processor cores
  • Familiarity with AI tools for software development

Nice To Haves

  • Master’s degree preferred
  • Proficiency with Linear Algebra preferred
  • Experience reading electronic schematics preferred
  • Experience reading and understanding VHDL preferred
  • Experience with UI Design a plus
  • Experience with basic Image Processing a plus
  • Experience with Videography a plus

Responsibilities

  • Completing programming tasks encountered in the process of developing, building, validating, and supporting a Linux-driven embedded device.
  • Maintaining existing custom C applications
  • Aiding in custom hardware bring-up
  • Developing and maintaining ARM based microcontroller software
  • Routinely lead code reviews with other team members

Benefits

  • Health Insurance ( incl.dental and vision)
  • 401(k) Matching
  • Fun events throughout the year
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service