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).
Experience with designing and developing complex, robust, and highly scalable production services and applications using modern frameworks, tools, and systems. A passion for learning, continuous improvement, sharing, and working in a team environment.