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 verifi...