Summary UltraSense Systems is looking for a strong Software Algorithm Engineer with excellent knowledge and hands-on experience in algorithm development to join our team. Main responsibilities include development of C-Models along with associated datasets, converting the model into an embedded solution, development and debugging on Linux, Android and Qualcomm based systems.
Major Responsibilities • Architect and develop algorithms for button replacement in mobile, automotive and IoT products. • Define the touch subsystem algorithm pipeline, develop algorithms, deliver C-models, along with golden datasets for integration into embedded systems. • Develop signal processing algorithms in real-world or comparable settings • Work with the hardware and architecture team to explore optimized hardware architecture to achieve the best efficiency • Provide direct support to customers and partners with the design, development and debug of reference design S/W related issues and helping to customize software.
Minimum Qualifications • Experience with small signal recovery techniques in noisy environments is a must • Experience in developing and optimizing algorithms to run on DSP and microprocessors is a must • Candidate should have strong programming fundamentals using C/C++/Java and at least one assembly language. • Experience with embedded software development and assembly language programming • SOC – ARM/RISC and 8051 architectures and QCOM ADSP and SLPI platforms required • Android platform, HAL and Framework is a must; experience integrating into Android platforms for mobile products, analyze and fix issues to support product delivery. Extensive experience on working with the ASP including Framework enhancement and customization • Strong understanding and practical experience with Android Framework and Android application development • Experience in mass-produced electronics (mobile and consumer preferred); must be able to identify products taken to production • Factory volume production experience and qualification is a plus • 10+ years of experience in writing embedded software or kernel level code, including drivers, BSP programming and hardware adaptations. • 4+ years developing with Android SDK in a production environment • Must be ready to travel to customer sites for integration and bring-up
Preferred Qualifications • BS or MS in Computer Science, Computer Engineering, Electrical Engineering or related field. • Experience with sensing hardware (design and calibration) is a plus • Experience in using Debugging tools such as JTAG, Trace32 and oscilloscope/Logical Analyzer. • Experience in Analyzing the Kernel crash dumps and Systrace dumps. • Contributions to open source projects (pls provide website/git-hub links) • Experience working full-stack