STR ยท 4 hours ago
Senior Embedded Software Engineer - Cyber
STR is a technology company focused on developing solutions for national security challenges. The Senior Embedded Software Engineer will work with a multidisciplinary team to create advanced vulnerability research technologies, engaging in software design, development, and testing.
Artificial Intelligence (AI)Machine Learning
Responsibilities
Working as part of a small team to design, develop, and test software applications and tools, in languages such as C, C++, and Python
Ensuring software quality through the practice of unit-level and system-level tests and verification Integrating software components using networking/messaging technologies
Packaging software for ease of configuration control, delivery, and deployment
Communicating technical foundations of software designs and implementations through reports and presentations
Qualification
Required
Ability to obtain a Top Secret (TS) security clearance, for which U.S. citizenship is needed by the U.S. Government
BS in Computer Science, Computer Engineering, or related field with 5 years of experience (or MS and 3 years)
Deep knowledge of at least one of the following topics: microcontroller software, embedded systems, firmware, kernels, or drivers
Proficiency in at least one compiled and one scripting programming language
Familiarity with assembly language, operating systems internals (e.g., file systems, IO, memory management, device drivers), threading, compiler technologies (e.g., GCC, LLVM)
Experience with software scripting and build automation tools (e.g., bash, make)
Applied skills using collaborative source code management and software engineering tools (e.g., Git, Subversion, Gitlab)
Preferred
Experience working on classified programs
Proficiency in C, C++, and Python
Understanding of common software vulnerabilities, and secure programming principles
Experience with containers (e.g., Docker), virtualization technologies (e.g., QEMU), network communications frameworks (e.g., TCP/IP sockets), and unit test frameworks
Knowledge of static and dynamic analysis