Primary Duties:Design, develop, test, and evaluate software and hardware systems in support of the company's products and services. Develop and document requirements, specifications, and use cases. Analyze software to determine feasibility of design within time and cost constraints. Consult with other engineering staff to evaluate the interface, operational, and performance requirements of the overall system. Evaluate, select and integrate 3rd party products or solutions.RequirementsStrong object-oriented design skills, analytical thinking, problem solving and debugging skillsGood communication and teamwork essential.Experience with the design and implementation of custom protocols; strong understanding of common network protocols such as TCP, UDP, ICMP, IP, and Ethernet.Working knowledge of distributed architectures, concurrent programming.Applications development with C++ and Microsoft Visual Studio.Must have experience developing hardware and software that has shipped with proven success.Software development lifecycle, development methodologies, performance optimization, rapid application development methodologies, Use case development, and API & SDK design.About InsituInsitu is a leading high-tech autonomous systems company driven by a culture of agility and systematic improvement . We currently produce and sell an ever growing fleet of Unmanned Aircraft Systems that are low-cost, long-endurance, and have low personnel requirements. These UASs provide a no-runway launch, unprecedented stabilized day and night video for ISR, robotic flight control, and a no-nets capture. We are looking for passionate and experienced team members to help us achieve our goal of maintaining the agile and innovative problem-solving capabilities we offer.