Develop tools that leverage techniques from machine learning and artificial intelligence for dynamic system identification. Help develop software tools that employ deep-learning, kernel methods, regularization, ensemble learning, and other machine learning techniques to model complex dynamic behaviors. Develop and implement new functions and apps to help our customers identify dynamic models from data using machine learning (such as kernel methods, GPs, ensemble learning, sparse learning), and deep learning (such as using CNNs, GNNs, LSTMs) techniques. Contribute to all aspects of the product development process from writing functional specifications to designing software architecture and implementing software features. Work with quality engineering, documentation, and usability teams to develop state-of-the-art software tools. Work with domain experts, application engineering, and marketing teams to identify emerging trends, and useful applications and create compelling examples. Telecommuting up to 40%.
ResponsibilitiesQualifications Minimum Qualifications: Employer will accept a Bachelor's degree in Computer Science, Engineering [any], or related field and five [5] years of experience in the job offered or in a Senior Software Engineer-related occupation.
Alternatively, employer will accept a Master's degree in Computer Science, Engineering [any], or related field and two [2] years of experience in the job offered or in a Senior Software Engineer-related occupation.
Position requires demonstrable experience with the following:
- In an engineering field with a focus on system identification, time series analysis, or deep learning.
- The use of numerical optimization, signal processing, and machine learning algorithms.
- MATLAB and Simulink
- Object-oriented design and programming
Experience may be gained during graduate program. Will accept any suitable combination of education, training, and/or experience.