What are the responsibilities and job description for the Real Time Software Developer position at SAIC?
Job ID: 2402778-2949
Location: REMOTE WORK, VA, US
Date Posted: 2024-02-22
Category: Information Technology
Subcategory: Embedded SW Engr
Schedule: Full-time
Shift: Day Job
Travel: Yes, 10 % of the Time
Minimum Clearance Required: None
Clearance Level Must Be Able to Obtain: Secret
Potential for Remote Work: No
Description
SAIC is seeking Real Time Software Engineers to join our team in Sterling Heights, Michigan.
This position can be worked 100% Remote.
Description:
SAIC is hiring a self-directed and highly experienced technical expert with in-depth knowledge of C , and real-time operating systems (VxWorks). In this role, you will work autonomously to interface with CAN devices, maintaining, writing and optimizing thread-safe C code. This role requires a unique blend of technical expertise in C and problem-solving abilities to understand, troubleshoot, and improve code written by others. You will be responsible for making informed decisions, selecting appropriate methods and techniques, and setting technical objectives for your assignments.
Responsibilities:
Real-Time (RT) VxWorks:
- Analyze, understand, and document the structure and functionality of the existing legacy C application with minimal existing documentation.
- Write robust and maintainable C code to fix bugs and introduce new features to the legacy system.
- Apply investigative skills to understand and work with code written by previous developers, providing documentation for lessons learned where required.
- Troubleshoot and optimize real-time CAN communication, ensuring high performance and reliability.
- Proficient in developing and debugging C applications in an embedded Windows environment, with a deep understanding of Windows-specific development tools and APIs.
- Experience with creating interactive and high-performance applications using Simple DirectMedia Layer 2 (SDL2), demonstrating a strong grasp of graphics, sound, and input handling in embedded applications.
Git and GitLab:
- Proficiency in using Git, including features like rebasing, squashing and resolving merge conflicts.
- Experience using Open Container Initiative (OCI) compatible containers to perform automated builds.
- Write clear and informative commit messages that describe the purpose, changes, and traceability of each commit for enhanced codebase understanding and compliance.
- Create well-documented merge requests, including details on changes, testing, and expected outcomes to facilitate efficient code integration and review.
Continuous Improvement:
- Stay up-to-date with industry best practices and emerging technologies.
- Stay current with emerging trends in VxWorks and C to ensure the highest level of expertise.
Qualifications
Required Education:
- Bachelors and nine (9) years or more experience; four (4) years of experience is considered in lieu of degree.
Qualifications:
- Proven track record as an expert in Windows, Simple DirectMedia Layer 2 (SDL2), C , and VxWorks.
- Advanced knowledge of multithreading, concurrency, and thread safety in C .
- Demonstrated experience working with Linux device files and file I/O operations in real-time environments.
- Proficiency in real-time Linux concepts and the ability to write thread-safe code for real-time applications.
- Strong problem-solving and debugging skills.
- Familiarity with real-time operating systems (RTOS) and embedded systems is advantageous
Clearance:
- Candidates must have the ability to obtain and maintain full Secret clearance.
Target salary range: $125,001 - $150,000. The estimate displayed represents the typical salary range for this position based on experience and other factors.
Covid Policy: SAIC does not require COVID-19 vaccinations or boosters. Customer site vaccination requirements must be followed when work is performed at a customer site.