Software Engineer
Cubic Corporation · Ashburn, VA · 5 days ago
Information Technology$85k–$108k/yrFull-time
Job Summary
The Software Engineer, Video Processing Platform Maintenance is responsible for maintaining and extending a mixed C++ media-processing platform and Windows desktop video exploitation application suite.
Essential Functions
- Maintain and enhance C++ media processors for ingest, stream chunking, fragmented MP4 packaging, thumbnail generation, KLV-to-JSON conversion, file output, and protobuf output.
- Debug media-processing issues involving FFmpeg/libav, MPEG-TS, MP4/fMP4, thumbnails, KLV metadata, stream attributes, stream timing, and hardware-accelerated processing paths.
- Maintain Dockerized Linux builds across x86_64 and arm64 environments, including UBI/Rocky-based images, GCC toolsets, CUDA runtime dependencies, image packaging, and CI/CD build troubleshooting.
- Update and troubleshoot gRPC/protobuf processor interfaces used by the media-processing runtime and support validation of processors in Kubernetes-hosted media pipelines.
- Maintain Windows desktop application modules for controls, configuration, workspaces, project browsing, enhancement settings, WPF views, post-processing, reporting, GIS extensions, georeferencing, masking, and measurement.
- Debug customer-reported and QA-reported issues in media ingest, playback, enhancement, stabilization, export, project loading, workspace state, presets, preferences, masking, measurement, and post-processing workflows.
- Trace and resolve defects across C#/.NET Framework code, native C++ components, C++/CLI bridges, DirectShow filters, FFmpeg/LAV-style media dependencies, GPU or hardware-accelerated paths, and third-party binaries.
- Maintain Visual Studio 2022 solution builds across supported configurations, including .NET Framework targeting packs, MSBuild, NuGet restores, Conan dependencies, generated version metadata, build scripts, and third-party reference paths.
- Maintain release packaging for multiple product editions and deployment modes, including portable builds, plugin installers, prerequisite installers, NSIS/PowerShell automation, launcher behavior, and licensing or entitlement flows.
- Create targeted unit tests, integration tests, smoke tests, minimal reproducers, build notes, runtime dependency documentation, and maintainer checklists for complex software defects and high-risk workflow paths.
Minimum Qualifications
- Bachelor’s degree in computer science, software engineering, electronic engineering, or a related technical discipline, plus a minimum of 5 years of professional software engineering experience; or a master’s degree in a related technical discipline plus a minimum of 3 years of related experience.
- Professional experience with C#/.NET Framework desktop application development, including WinForms, WPF, Visual Studio, MSBuild, NuGet, project files, resource files, custom controls, generated code, and build events.
- Practical experience debugging across managed code, native code, interop boundaries, Linux build/link/runtime dependencies, file-system state, registry/configuration, installers, release packaging, and third-party runtime dependencies.
- Working knowledge of Docker-based development or build environments, CI/CD build troubleshooting, gRPC/protobuf or similar service/message contracts, and scripting with PowerShell, batch, Makefiles, or similar build automation tools.
Preferred Qualifications
- Familiarity with FFmpeg/libav, video containers/codecs, MPEG-TS, MP4/fMP4, streaming media systems, KLV metadata, or video timing analysis.
- Familiarity with GPU or hardware-accelerated media paths such as CUDA, VAAPI, QSV, Jetson, arm64 builds, or similar technologies.
- Familiarity with Kubernetes-hosted workloads, container image promotion, Linux/Docker packaging paths, and runtime artifact management.
- Familiarity with GIS, geospatial, ISR, or video exploitation workflows, including KML, map overlays, georeferencing, match-point workflows, camera/sensor metadata, tracking data, subtitles, or reporting.
- Careful maintenance mindset when working with proprietary, legacy, partially vendored, installer-sensitive, licensing-sensitive, or customer-data-sensitive software systems.
Cubic Pay Range
$85,000.00 - $108,000.00 + benefits.