**No C2C Only W2 Candidates Eligible**
Job Title: Embedded Software Developer
Position Type: Contract
Location: Dallas, TX (Onsite)
Job Description:
This is a unique opportunity to join a team that develops calculators and software solutions in the education technology space. The ideal candidate would have a strong background in embedded C/C++ programming as well as the ability to work with multiple tools, platforms, and other programming languages. We're searching for a proactive problem solver and innovative thinker who will deliver solutions that align with business priorities and is flexible when priorities change. This developer must have the ability to thrive in an agile environment that values respect, commitment, collaboration, support and knowledge sharing.
Required Skills:
Embedded C/C++, Visual Studio, Software Configuration Management, Python, JavaScript, CUnit
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 objectoriented 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 CortexM33 processor) and Arm assembly
Familiarity with realtime operating systems (RTOS)