Locations: Bay area, CA, Portland, OR, Folsom, CA, Phoenix, AZ
Job Description
Software Architect is responsible for the technical direction of a project. Makes high-level design choices for the software structure, frameworks, protocols, and algorithms. Determines coding practices, development tools, and validation requirements. Performs path finding and surveys technologies. Interacts with multiple technologists in the company and within the industry as well as between developers and project managers to evaluate the feasibility of requirements and determine priorities for development. Identifies algorithmic trends for streaming technologies such as speech, networking, proves their viability and makes recommendations for optimal hardware interfaces and optimizations to support relevant algorithms. Includes research into the viable pairing of new hardware technologies to algorithms.
Requirements
- The successful candidate should have a Master's or Ph.D.
Key elements for successful candidate are as below:
- Knowledge of algorithms and computational structures in deep learning and artificial neural networks, especially inference.
- Knowledge of speech, audio, and language processing techniques used in recognition, classification, identification, and/or translation systems.
- Knowledge of computer architecture and algorithm optimization.
- Software programming skills (C/C++, Perl, Python are used in our group)
- Research experience and publication record are desired.