Remote Junior Software Engineer — CNO & Systems Programming
Virginia, St. Louis County, Minnesota, 55792, USA
Listed on 2026-05-28
-
Software Development
Software Engineer
Software Engineer – Junior / Mid-Level
Location: Northern Virginia
Travel: Minimal / As Needed
Clearance: Active Top Secret clearance or higher required
Citizenship: US Citizenship required
Grimm is an innovative, forward-looking cybersecurity organization focused on solving complex technical challenges across hardware, firmware, and software systems. Our teams specialize in reverse engineering, vulnerability research, and security engineering, supporting mission-critical efforts across national security, defense, and critical infrastructure sectors.
Our work is rooted in real-world operational experience identifying advanced threats, uncovering critical vulnerabilities, and developing meaningful solutions to complex problems. Grimm engineers operate across embedded systems, vehicles, IoT, and enterprise technologies, with a focus on understanding systems deeply and demonstrating real-world impact.
We are a highly technical and hands‑on organization. Our engineers and researchers specialize in breaking systems, discovering vulnerabilities, and improving resilience—working directly with real hardware and software to understand how systems function and how they fail.
About the RoleGrimm is seeking a mission-oriented Junior to Mid-Level Software Engineer with Computer Network Operations (CNO) knowledge or experience who is driven to solve challenging technical problems and build robust software systems.
This role supports a fully remote, small, and highly collaborative engineering team focused on end-to-end software development, tooling, and capability engineering supporting mission-driven customer requirements.
In this role, you'll have the opportunity to work with both modern and low-level technologies, including learning and developing with Rust while leveraging more traditional systems programming tooling and APIs. You'll contribute across the full software development lifecycle—from design and implementation to testing, debugging, documentation, and operational support.
We're looking for individuals who are curious, self-motivated, technically capable, and excited to work alongside experienced engineers and researchers solving difficult mission-focused engineering problems.
What You'll Do- Research and devise solutions to challenging technical problems
- Develop and maintain mission-focused software tools and libraries
- Participate in full-cycle software development including:
- Design
- Implementation
- Debugging
- Testing
- Maintenance
- Build software systems from the ground up and enhance existing capabilities
- Develop and execute unit and integration tests throughout development
- Document code, libraries, and tooling for developers and end‑users
- Collaborate with engineers and technical teams in a remote environment
- Participate in peer reviews and collaborative technical discussions
- Support development efforts across multiple platforms and operating systems
- Minimum 2+ years of hands‑on systems programming experience on one or more of the following:
- Linux
- Windows
- macOS
- iOS
- Android
- Proficiency in the C programming language
- Understanding of Computer Network Operations (CNO) concepts
- Experience with version control systems such as Git
- Strong professionalism, attention to quality, and technical ownership
- Ability to work independently in a remote environment
- Strong verbal and written communication skills
- Excellent interpersonal and collaboration skills within team environments
- Professional experience developing CNO capabilities
- Experience with the Rust programming language
- Experience writing software for embedded systems
- Experience writing cross‑platform system‑level software
- Experience with one or more of the following APIs:
- win
32 - UCRT
- Android NDK
- iOS SDK
- POSIX
- win
- Experience writing developer and end‑user documentation
- Experience developing and executing test plans
- Experience writing unit tests or participating in test‑driven development (TDD)
- Experience with virtualization technologies
- Experience with containerization technologies such as Docker
- Experience with network programming
- Proficiency in Python
- Understanding of mobile operating systems such as iOS or Android
- Understanding of binary file formats such…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).