Operating Systems Engineer

CAE Inc.11 months ago
Arlington, TX, United States
Hybrid
Full-time
Junior Level (1-3 years)

Job Description

Position Overview

This is a hands-on software engineering position in CAE’s Systems and Software Engineering Center (SSWEC) organization. This group is responsible for the development and delivery of total training solutions for real‐time simulation applications. The successful candidate will support integration and configuration of computational system architecture and system software for flight simulators, with a specific focus on the operating systems, build environments, and automation that support those applications.

Key Responsibilities

  • Maintain and evolve an in-house Linux distribution for real-time applications.
  • Optimize and configure kernel and system settings for high performance.
  • Diagnose and optimize bottlenecks due to scheduling, priority, and network configurations.
  • Update OS components to maintain compatibility, stability, and security across deployed systems.
  • Standardize processes, practices, and configurations for security compliance and modern best practices.
  • Stay current with Linux security patches and compliance requirements.
  • Support and maintain existing CI/CD pipelines and build environments for multiple teams and products.
  • Utilize technologies such as git, GitHub Actions, Perforce, and Bamboo.
  • Develop and manage build scripts and tooling (CMake, Docker, Python) to streamline builds and deployments.
  • Diagnose networking and network traffic related system issues.
  • Manage current automations and develop additional solutions to increase automation.
  • Configure and manage virtualized environments for development, testing, and deployment.
  • Design, integrate, and test flight simulator architectures—including operating systems, networks, and interfaces.
  • Coordinate with multiple teams to test, debug, and optimize the fully delivered training solution.
  • Provide the OS and tools necessary for application teams and advise on OS-related issues.
  • Assist with debugging application issues caused by system-level interactions.
  • Respond to incidents and perform root-cause analysis for system regressions and performance degradation.
  • Develop GUI tools for developers, lab technicians, and end-users to quickly assess overall system status.
  • Travel as needed to maintain existing solutions at customer sites.

Required Qualifications

  • Bachelor's Degree in Computer Science, Computer Engineering, or a related discipline.
  • 2-5 years of professional experience in systems engineering, Linux system administration, or software development (2 years with Master’s Degree).
  • DoD Secret Clearance (or ability to obtain one required to start).
  • U.S. citizenship required due to government contract requirements.
  • Strong proficiency with Linux system administration (preferably RHEL or derivatives).
  • Proven troubleshooting and diagnostic skills for OS-level impacts on system performance and stability.
  • Experience with CI/CD platforms, build automation tools, and version control systems (Bamboo, Perforce, GitHub Actions, git).
  • Expertise in shell scripting and higher-level scripting languages (Python and Bash preferred).
  • Familiarity with virtualization technologies and containerization (VMware, Docker).
  • Understanding of C++ build environments and tooling (CMake, compilers, linkers).
  • Solid knowledge of networking fundamentals and security practices in Linux environments.
  • Excellent collaboration and communication skills across engineering teams.
  • Strong analytical and problem-solving abilities with the capacity to work independently.

Preferred Qualifications

  • Experience customizing and maintaining Linux kernels or distributions.
  • Proven track record of maintaining Linux distributions targeted for specialized workloads.
  • Experience with OS monitoring and logging tools.
  • Advanced knowledge of containerized deployment.
  • Mid-level familiarity with compiler and linker infrastructure.
  • Experience managing a software baseline, including branching, merging, building, and maintaining stable products for multiple users.
  • Understanding of the software development lifecycle and release management in a multi-team environment.
  • Willingness and ability to obtain CompTIA Linux+ and Sec+ certifications, if necessary.

Required Skills

Shell Scripting (Bash, Python)
Networking & Security Practices
Build Tools & Environments (CMake, Compiler Toolchains)
CI/CD Automation (Git, GitHub Actions, Bamboo, Perforce)
Kernel Optimization & Configuration
Linux System Administration (RHEL)
Containerization & Virtualization (Docker, VMware)
System Debugging & Performance Tuning