2+ years of experience developing software with C++.
Proficiency in C++ or Java programming in a Linux operating system environment.
Software design, design implementation, subsystem and system integration, and testing.
Experience participating in software requirements review, preliminary and critical design reviews, integration readiness review, and software acceptance reviews.
Experience with object-oriented design and development, including the use of design patterns to support software insulation techniques and plugin architectures.
Hands-on experience working in Windows, Solaris, and Linux environments.
Experience developing scripts for Solaris and other UNIX variants.
Proficiency using Integrated Development Environments (IDEs) such as Eclipse.
Familiarity with UML syntax and its practical application in software design.
Familiarity with xUnit testing frameworks, especially JUnit and CppUnitLite.
Experience working within CMMI Level 5 life cycle processes and procedures.
Object-oriented programming and software engineering best practices.
Comfort working with multiple operating systems, including UNIX variants.
Ability to collaborate effectively in a structured, process-driven engineering environment.