STR Logo

STR

Software Engineer - Emulation Tooling and Modeling

Reposted Yesterday
Easy Apply
Melbourne, FL
Junior
Easy Apply
Melbourne, FL
Junior
The Emulation Tooling and Modeling Software Engineer develops and tests emulators and models for cyber-physical systems. Responsibilities include programming in C/C++ and Python, and using virtualization tools for simulations.
The summary above was generated by AI

STR is hiring an Emulation Tooling and Modeling Software Engineer to be part of a multidisciplinary team of researchers and engineers dedicated to developing cutting-edge technologies with significant and immediate impact on our national security. This position offers an excellent opportunity to work at the nexus of computers and real-world physical systems. We believe that each employee has a unique set of skills, experiences, and perspectives that are essential to providing our customers with innovative solutions. The skills listed below are representative of those needed for this role but are not the only acceptable set. If you see an overlap with your skills, go ahead and apply!

The Emulation Tooling and Modeling Software Engineer must be proficient in one or more of the high-level languages (C/C++, Python) used for building the underlying tools that support the development of emulation models of complex cyber physical systems. Successful candidates will have experience in reverse engineering of embedded instruction set architectures (e.g., ARM, PPC) and a desire to develop required emulator tooling across a diverse class of targets of interest. The ability to develop tools such as operating system handlers, bare metal firmware emulation, and virtual device simulation are key to support the emulation of representative signal processing and control systems components and algorithms. Such components will be prototyped with time and event-driven simulations and implemented on real-time hardware systems.

The Emulation Tooling and Modeling Software Engineer will also support model development for sensors, actuators, dynamics and environmental factors from first principles, measured data, available documentation/literature and hardware/software artifacts. The quality and validity of the models are ensured using unit testing and effective operation after integrating the modules into larger system simulations. Knowledge and experience developing modular code compliant with well-defined component message/protocol interfaces is highly relevant. Models often include both hardware and software elements, and experience working at the software/hardware interface (e.g., serial, USB, data acquisition subsystems and device drivers) is particularly useful.

Responsibilities: 

  • Working as part of a small, focused team to architect, develop, implement, and test applications featuring modular software design principles
  • Developing bare metal emulators in C/C++, Python as well as unit tests for verification of capabilities
  • Developing emulator capabilities and unit tests to increase overall feature capabilities to develop advanced models
  • Implementing component models in Python/C/C++, and integrating models into system-level simulations with software processing chains, including development of unit-level and system-level tests and verification
  • Developing integrated models using virtualization tools (e.g., QEMU, Docker), that are networked together, and launched using scripting tools (e.g. bash, python)
  • Communicating technical foundations of models and algorithms through reports and briefings

Requirements:

  • US Citizen with the ability to obtain a Top Secret (TS) Security Clearance
  • Proficiency in C/C++ and Python
  • Familiarity with virtualization tools (e.g. Docker, QEMU)
  • Strong grasp of emulation principles, computer architecture, and software engineering principles
  • Experience working with hardware components and interfaces.
  • Experience using collaborative source code management (Git, Subversion)

Education:

  • BS in Computer Engineering, Computers Science, Electrical Engineering or related field

Preferred:

  • Active Top Secret Security Clearance
  • Familiarity with network architectures and protocols
  • Implant or software patch development
  • Masters or PhD in related field

STR is a growing technology company with locations near Boston, MA, Arlington, VA, near Dayton, OH, Melbourne, FL, and Carlsbad, CA. We specialize in advanced research and development for defense, intelligence, and national security in: cyber; next generation sensors, radar, sonar, communications, and electronic warfare; and artificial intelligence algorithms and analytics to make sense of the complexity that is exploding around us.

STR is committed to creating a collaborative learning environment that supports deep technical understanding and recognizes the contributions and achievements of all team members. Our work is challenging, and we go home at night knowing that we pushed the envelope of technology and made the world safer.

STR is not just any company. Our people, culture, and attitude along with their unique set of skills, experiences, and perspectives put us on a trajectory to change the world. We can't do it alone, though - we need fellow trailblazers. If you are one, join our team and help to keep our society safe! Visit us at www.str.us for more info.


STR is an equal opportunity employer. We are fully dedicated to hiring the most qualified candidate regardless of race, color, religion, sex (including gender identity, sexual orientation and pregnancy), marital status, national origin, age, veteran status, disability, genetic information or any other characteristic protected by federal, state or local laws.

If you need a reasonable accommodation for any portion of the employment process, email us at [email protected] and provide your contact info.

Pursuant to applicable federal law and regulations, positions at STR require employees to obtain national security clearances and satisfy the requirements for compliance with export control and other applicable laws.

Top Skills

C/C++
Docker
Git
Python
Qemu

Similar Jobs at STR

Yesterday
Easy Apply
Melbourne, FL, USA
Easy Apply
Senior level
Senior level
Machine Learning • Security • Software • Analytics • Defense
As a Senior Software Reverse Engineer, you will analyze vulnerabilities in cyber systems, reverse engineer software, and develop cybersecurity solutions while working in teams to tackle complex challenges.
Top Skills: Afl++ArmBinary NinjaC/C++GhidraIda ProPythonQemuX86
Yesterday
Easy Apply
Melbourne, FL, USA
Easy Apply
Senior level
Senior level
Machine Learning • Security • Software • Analytics • Defense
The Senior Vulnerability Researcher will analyze vulnerabilities in cyber physical systems, develop cybersecurity solutions, and conduct reverse engineering of software and firmware.
Top Skills: Afl++AssemblyBinary NinjaC/C++Dsp ArchitecturesGhidraIda ProPythonQemu
Yesterday
Easy Apply
Melbourne, FL, USA
Easy Apply
Senior level
Senior level
Machine Learning • Security • Software • Analytics • Defense
The Cyber Principal Investigator leads a team to develop cyber technologies, focusing on innovative solutions for national security and technical marketing. Responsibilities include proposal writing and performance analysis.
Top Skills: C/C++MatlabPython

What you need to know about the Kolkata Tech Scene

When considering the industries shaping India's tech scene, gaming might not immediately come to mind. However, in the last decade, increased internet usage and greater access to mobile devices have catapulted the industry to new heights, with Kolkata-based companies like Virtualinfocom, Red Apple Technologies and Digitoonz, at the forefront, driving the design and animation of new gaming titles for players.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account