Description

Job Duties -

Strong programming skills in embedded C/C++
-Must understand how to write efficient and maintainable code for small footprint embedded devices
-Excellent debugging skills
-Knowledge of unit testing concepts and tools such as CUnit
-Knowledge of object-oriented design
Ability to work with multiple tools, platforms and programming languages
-Ability with different programming and scripting languages (Python/JavaScript/Ruby/Lua)
-Familiarity developing in Windows, macOS, Web and/or Mobile
-Familiarity with Visual Studio and static analysis tools
-Familiarity with software configuration management tools (e.g. Git, Bitbucket)

Job Requirements -

Senior software engineer with experience developing software on embedded devices
-Bachelor of Science (BS) or Master of Science (MS) in Computer Science, Computer Engineering, Electrical Engineering or related field
-10 years of professional experience as a software engineer designing, developing and maintaining educational software
Strong programming skills in embedded C/C++
-Must understand how to write efficient and maintainable code for small footprint embedded devices
-Excellent debugging skills
-Knowledge of unit testing concepts and tools such as CUnit
-Knowledge of object-oriented design
Ability to work with multiple tools, platforms and programming languages
-Ability with different programming and scripting languages (Python/JavaScript/Ruby/Lua)
-Familiarity developing in Windows, macOS, Web and/or Mobile
-Familiarity with Visual Studio and static analysis tools
-Familiarity with software configuration management tools (e.g. Git, Bitbucket)
Ability to work in a cross functional team environment
-Candidate must be creative and flexible
-Good collaboration and interpersonal skills

Desired Skills & Experience -

Familiarity with the Arm architectures (e.g. Arm Cortex-M33 processor) and Arm assembly
Familiarity with real-time operating systems (RTOS)


 

Education

Bachelor's Degree