Description
Description
SAIC is looking for a Software Engineer with strong C/C++ experience to build and maintain high-performance, reliable software systems. This role is ideal for someone who can independently own features, contribute to system design, and collaborate effectively with cross-functional teams. You'll work on performance-critical components, system-level code, and scalable applications depending on the product domain. This role is onsite in Huntsville, AL.
Key Responsibilities
- Design, implement, and maintain software components using C and C++
- Develop efficient, reusable, and maintainable code for performance-sensitive applications
- Collaborate with team members to define requirements and translate them into technical solutions
- Debug and resolve complex issues, including memory, concurrency, and performance bottlenecks
- Participate in code reviews and contribute to improving coding standards and best practices
- Write and maintain unit and integration tests
- Optimize existing systems for speed, scalability, and reliability
- Work with cross-functional teams (QA, DevOps, product) to deliver high-quality software
- Contribute to technical documentation and system design discussions
Qualifications
Education Requirements
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field and two (2) years of experience in embedded software or firmware development
Clearance Requirements
- Must possess an active Secret security clearance; US Citizenship required.
Required Skills
- Strong proficiency in C and/or C++ (including modern C++ standards like C++11/14/17 or later)
- Solid understanding of data structures, algorithms, and memory management
- Experience with debugging and profiling tools (e.g., gdb, Valgrind, perf)
- Familiarity with multi-threading and concurrency concepts
- Experience working in Linux or Unix-like environments
- Proficiency with version control systems (Git)
Preferred Qualifications
- Experience with system-level or low-latency programming
- Familiarity with networking concepts or distributed systems
- Exposure to embedded systems or real-time programming
- Experience with build systems (CMake, Make, Bazel, etc.)
- Knowledge of scripting languages (Python, Bash) for automation
- Experience with CI/CD pipelines and modern development workflows
Apply on company website