Extensive experience with C++ or Java programming in a Linux operating system environment.
Strong experience in software design, design implementation, subsystem and system integration, and testing.
Proven experience participating in software requirements reviews, preliminary and critical design reviews, integration readiness reviews, and software acceptance reviews.
2-9+ years of experience developing software with C++ or Java.
Experience with object-oriented design and development, including the use of design patterns to implement 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 with Integrated Development Environments (IDEs) such as Eclipse.
Familiarity with UML syntax and its practical use in modeling software systems.
Experience with xUnit testing frameworks, especially JUnit and CppUnitLite.
Experience working within CMMI Level 5 life cycle processes and procedures.
Strong skills with MS Office for documentation, reporting, and presentation of technical information.