Emulation Developer

  • Full-time

Company Description

Fenix Group is a Systems Integrator focused on battlefield technologies.  Our mission is to reduce risk and cost to the warfighter by enabling battlefield intelligence at the edge, increasing soldier lethality and allowing smaller teams to control larger areas.  Our experience in deploying specialized austere environment communications systems to enable a "Battlefield of Things" (TM) allows us to connect drones, augmented reality enabled battlefield robots, loitering munitions, and other sensor ecosystem end points to enable US military and first responders with at-the-edge intelligence. 

Job Description

Required Clearance: TS/SCI with FS Poly

The Emulation Developer is responsible for the design, develop, and test application software to fulfill emulation needs on Windows, Unix, or other specified platforms.

Responsibilities:

· Design, develop, and test application software to fulfill emulation needs on Windows, Unix, or other specified platforms using modern continuous integration techniques.

· Perform Software and Hardware Reverse Engineering to correctly model mechanisms of emulation targets.

· Debug software and hardware systems and identify divergent behavior between systems.

· Understand networking and inter-component protocols and principles.

Qualifications

Required Clearance: TS/SCI with FS Poly

Desired Skills/Experience:

· Strong development skills using low level languages such as C, C++, or Assembly

· Uses source control, modern build systems, and continuous integration

· Benefits from experience with modern defensive coding practices, and with tools and techniques such as linters, Address Sanitizer, coverage-guided testing, etc.

· Ability to identify divergent behavior between emulated systems and real hardware through debugging and reverse engineering.

· Experience with BDI, JTAG, I2C, etc is beneficial

· Likewise, experience with Ghidra, IDA Pro / Hexrays, Binary Ninja (binja), radare, GDB, lldb, WinDBG, Ollydbg, or objdump is beneficial

· Understands the principles of networking and communication protocols and can identify and understand new protocols

· Experience with any of the following activities is considered a plus: hypervisor development; FPGA development; device driver development; low-level experience in multiple operating systems and instruction sets; and previous experience developing emulators or emulation model

Required Education:

· Minimum two (2) years exercising the capabilities above employed in a commercial, government, or academic environment, OR

· Bachelor’s or Master’s Degree in appropriate discipline with appropriate coursework.

Additional Information

All your information will be kept confidential according to EEO guidelines.