Object-oriented software architecture, software design, C++ coding, and unit testing of embedded software with knowledge of requirements-based software verification and traceability • Use of version control and issue tracking tools• Minimum of 8 years of experience in real-time embedded software development • Experience to include requirements analysis, software design, implementation (code and unit test) and authoring of formal deliverable documentation• Bachelor's degree in STEM field The Principal Software Engineer plans, leads, and performs a variety of tasks across the areas of software requirements analysis, software architecture and design, implementation (code and unit test), documentation, hardware-software integration, troubleshooting, problem solving, and software verification testing.