SmallHD is looking for a Software Engineer to join our R&D team. This individual will be focused on developing and maintaining video monitoring products and will need to comfortable programming in C for an embedded environment. The candidate must also coordinate effectively with hardware engineering, and FPGA engineering teams during the test and integration phases. This is a position suited for Experienced applicants.
Responsibilities:
- Completion of 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 participate in code-reviews with other team members
Requirements:
- Expert proficiency with C programming
- Expert 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
- At least two years professional experience
Preferred Qualifications:
- Bachelor or Masters in computer science or computer engineering
- 5 years professional experience
- Proficiency with Linear Algebra
- Bachelor or Masters in computer science or computer engineering
- Experience with basic Image Processing
- Experience using U-Boot
- Experience reading electronic schematics
- Experience reading and understanding VHDL
- Experience with UI Design
- Experience with Videography