Cyber Software Engineer
Job Description:
Position: Cyber Software Engineer
Position Responsibilities
This is an embedded software‑engineering role. Key duties and required skills include:
- Apply computer‑science, engineering, and mathematical concepts to develop software for target hardware.
- Collaborate with cross‑functional engineering teams to design and evaluate hardware‑software interfaces and overall system performance.
- Participate in all phases of the software development lifecycle: requirements analysis, design, implementation, integration, and formal testing.
- Create and maintain software tools, scripts, and XML files to implement and verify configurations.
- Ensure software applications comply with accreditation and configuration‑control requirements.
- Develop data/message‑protocol transformation mechanisms to enable interoperability across multiple data‑sharing domains.
- Use a variety of programming languages within a security‑enhanced embedded Linux environment.
- Conduct peer reviews, track defects, and propose solutions.
- Manage, develop, and support trade‑study/decision‑making processes for cyber‑test design, environments, and tools, balancing capability, cost, reliability, schedule, and performance across a cyber‑C5ISR vehicle suite.
- Produce and evaluate checkpoint and design‑milestone artifacts and Contract Data Requirements Lists (CDRLs) for technical accuracy and contract compliance.
Minimum Position Qualifications
- Bachelors degree in a STEM discipline (preferably Computer Engineering, Computer Science, or Electrical Engineering) from an ABET‑accredited university.
- 5–7years of relevant experience.
- Strong background in high‑level languages such as C, C++, C#, Java, or Rust, especially for embedded software.
- Experience with low‑level programming for Linux or VxWorks OS internals.
- Familiarity with board‑support packages (BSP) and hardware‑software integration.
- Ability to integrate and configure firewalls for embedded systems.
- Experience with reverse engineering and software analysis.
- Low‑level driver development in Linux or VxWorks.
- Exposure to the full software lifecycle: architecture, requirements, OO development, unit testing, integration, and system testing.
- Proficiency with IDEs, version‑control systems, defect‑tracking tools, scripting, and CI/CD pipelines.
- Knowledge of network protocols and interfaces (e.g., TCP/IP, UART, SPI, I²C).
- Capability to translate high‑level customer requirements into technical solutions.
- Familiarity with electrical line‑replaceable units and hardware troubleshooting.
- Cybersecurity certifications (e.g., CISSP, CEH) are a plus.