Role OverviewJoin our team as an Emulation Developer II to design, develop, and test application software to fulfill emulation needs on Windows, Unix, or other specified platforms using modern continuous integration techniques. Lead software and hardware reverse engineering efforts to understand mechanisms of emulation targets.
What You Will Do
Design, develop, and test application software to fulfill emulation needs. Perform software and hardware reverse engineering to correctly model mechanisms of emulation targets. Debug software and hardware systems and identify divergent behavior between systems.
Why It Might Be a Fit
You'll bring strong development skills using low-level languages such as C, C++, or Assembly. Experience with modern defensive coding practices and tools like linters, Address Sanitizer, and coverage-guided testing is beneficial. Ability to identify divergent behavior between emulated systems and real hardware through debugging and reverse engineering.
Requirements
- Minimum five (5) years' experience programming with C, C++, or assembly
- Minimum three (3) years' experience developing Windows applications using Visual Studio OR minimum three (3) years' experience developing UNIX applications using make files or comparable build environments OR four (3) years’ experience developing software for embedded systems
- Experience developing complex programs using C, C++, or other comparable languages
- Experience implementing software life cycle management (requirements, design, develop, test, validate, and deploy) using modern continuous integration frameworks
- Experience performing software or hardware reverse engineering
Benefits
- 100% Company PAID health benefits
- PTO
- 401K matching and vested from day one of employment
]]>