Essential Job Functions - Responsibilities: + Design and implement moderately complex software systems to interact with various hardware + Create sophisticated desktop/embedded/web applications for prototyping, test and automation + Work alongside other engineers to elevate technology and consistently apply best practices + Coordinate with project managers and various disciplines to ensure projects meet requirements + Provide accurate engineering time estimates for client proposals + Work directly with clients to capture system requirements and design solutions + Analyze, diagnose, and debug complex existing code + Work with SQA to ensure solutions are fully tested and meet requirements prior to delivery + Manage time effectively across multiple competing priorities + Own several software subsystems, modules, and/or processes and define requirements + Interface directly with customers without oversight + Anticipate client needs and collaborate with business development + Adhere to Business Technology policies to protect sensitive data and reduce information security occurrences. Education and Experience: (Knowledge, Skills, & Abilities) + Bachelor's degree in Computer Engineering, Electrical Engineering, Mechanical Engineering or other Engineering Field + Minimum of 5 years work experience as a degreed engineer + Capable of delivering on multiple competing priorities with little supervision required + Demonstrated programming capability in C# (C, C++ and Python a plus) required + Demonstrated experience working in Windows OS and with Windows Development Toolchain + Experience with variety of systems including vision, audio and sensors highly desirable + Demonstrated experience developing desktop applications (web, embedded and mobile highly desirable) + Wired and Wireless communication protocols such as USB, Ethernet, BLE, Wi-Fi highly desirable + Capable of building APIs and services using REST, SOAP, etc.