What will I be doing?You will be focused on developing and maintaining software for SmallHD's video monitoring products and will need to be comfortable programming in C for an embedded environment. You will also coordinate with Electronic and FPGA engineering teams during the design, test, and integration phases.A typical day might include the following- 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
Qualified candidates must have- Bachelor's in computer science or computer engineering, Master's degree preferred
- 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
- 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
More important information for you- This position is based in the Cary, NC office
- Reporting to Software Manager, R&D
- This position is full time
Department Engineering Role Software Engineer Locations SmallHD - Cary, NC Yearly salary $90,000 - $115,000 Employment Type Full Time