Software Engineer - Emulation Tooling and Modeling

Posted 11 Days Ago
Woburn, MA
Mid level
Machine Learning • Security • Software • Analytics • Defense
STR Harnesses the power of technology to solve the nation's hardest problems.
The Role
The Emulation Tooling and Modeling Software Engineer will develop and implement modular software solutions using C/C++ and Python for emulation models of cyber-physical systems. Responsibilities include creating bare metal emulators, developing advanced models, performing unit testing, and integrating simulations using virtualization tools. Collaboration with a team to deliver innovative solutions and communicate technical foundations is essential.
Summary Generated by Built In

 

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 with 4 years’ experience, MS with 2 years or a PhD 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

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++
Python

What the Team is Saying

Obinna
Noam
Erez
The Company
HQ: Woburn, MA
600 Employees
Hybrid Workplace
Year Founded: 2010

What We Do

STR makes the world a safer place by developing technology and applying it to solve emerging national security challenges.

Why Work With Us

We believe in a people-first culture. Yes, we are scientists, engineers, and researchers, but first, we are people. Our environment is designed to foster innovation by encouraging our employees to work collaboratively on things they are passionate about. We also really like to have fun. We believe that working hard and playing hard go hand in hand.

Gallery

Gallery
Gallery
Gallery
Gallery

STR Offices

Hybrid Workspace

Employees engage in a combination of remote and on-site work.

Typical time on-site: Not Specified
HQWoburn, MA

Similar Jobs

STR Logo STR

Software Engineer

Machine Learning • Security • Software • Analytics • Defense
Woburn, MA, USA
600 Employees

STR Logo STR

Principal Software Architect

Machine Learning • Security • Software • Analytics • Defense
Woburn, MA, USA
600 Employees

STR Logo STR

Senior Embedded Software Engineer

Machine Learning • Security • Software • Analytics • Defense
Woburn, MA, USA
600 Employees

STR Logo STR

Lead Embedded Software Engineer

Machine Learning • Security • Software • Analytics • Defense
Woburn, MA, USA
600 Employees

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account