Participate in all phases of the software life cycle including concept development, requirements definition, design, development, testing, and deployment. Develop flight software for small satellite programs using embedded C++, implement client-server applications, and lead a team in software develo...