Software Developer (Systems Software)

Location: Chantilly, VA
Date Posted: 02-13-2018
Software Developer (Systems Software)
Description:
Seeking a Software Developer to work as a critical member of a small, exceptional development team to design, implement new capabilities, and architectural improvements for communications systems. The developer will work closely with the team lead and other team members during the development process to expand on new requirements, explore implementation options, and incorporate chosen designs into the systems. Duties will include taking a new system capability or enhancement through the entire development life cycle from requirement(s) to design, development, testing, deployment, and associated configuration management tasks. The candidate will work as part of a team in a collaborative, fast-paced environment, where they may support multiple development efforts. Duties may include, but are not limited to:
• Translating user requirements into application design;
• Writing interfaces to companion applications;
• Enhancing the systems core infrastructure;
• Ensuring interoperability with external systems/components or porting those components to facilitate integration;
• Providing technical advice/feedback to other members of the team;
• Working directly with the team’s functional/system tester to ensure application quality and reliability.
Mandatory Skills
1. Demonstrated experience specific to Software Development.
2. Demonstrated experience as a self-starter, able to work with only general direction and high level requirements.
3. Demonstrated professional C/C++ Development experience with particular focus on complex system build and coordination of multiple software system components.
4. Demonstrated experience learning new tools / acquiring new skills as needed to adapt to new and evolving requirements.
5. Demonstrated professional experience developing in a Linux/Unix environment. Specifically, working on a daily bases at the unix/linux command line. Proficiency with unix/linux command line tools and operating system. The ability to create, edit and run scripts, utilize existing utilities to simplify workflow such as wc, grep, ps, less.
6. Demonstrated experience in software systems design/architecture. Working knowledge of pattern oriented software architecture, specifically asynchronous software patterns.
7. Ability to document system architecture/ICDs for integration of system components.
8. Demonstrated experience documenting reference implementation and tools for software deliverables.
9. Demonstrated troubleshooting skills. This includes the clear proficiency with tools such as Iridium GDB, Valgrind, and syslog. Experience applying proven programing practices to prevent and troubleshoot memory errors and resource problems, a good understanding of architecture and programmatic flow to analyze and find logic errors and problems.
10. Demonstrated experience working with diverse sets of devices and ability to troubleshoot and customize existing code or third party system components to enable operation on devices such as single board computers, gumstix, ARM, custom OS devices, etc. This includes the ability to setup and use tool chains to cross compile code for ARM devices, PowerPC devices and other embedded processors. This may also require the skills to set up custom Linux OS distributions in support of these custom hardware devices.
11. Demonstrated experience writing documentation such as test plans, user guides, requirements docs etc.
12. Demonstrated experience working with design/implementation of software infil/exfil solutions.
13. Demonstrated experience working with satellite software transport system design and solutions.
14. TS/SCI poly 
Desired Skills
1. Eclipse IDE experience.
2. Experience managing complex, multi-baseline projects using subversion.
3. Object oriented design and development experience.
4. Boost C++ development experience.
5. Centos or Ubuntu Linux development experience .
6. ANSI C++ development experience.
7. Sponsor Application Linking Protocol (ALP) experience or Middleware Tool Suite (MTS) experience.
8. Experience in leadership roles.
9. Secure systems development experience.
10. Proficiency in multiple programming languages.

RCT Systems is an Equal Employment Opportunity Employer.  Qualified applicants will receive consideration for employment without regards to race, color, religion, sex, sexual orientation, gender identity, national origin disability or protected veteran status.   
 
or
this job portal is powered by CATS