Software Engineer C++ - Greenfield Development - Spoken Conversation Understanding
Job Description
As a member of one of our Technology teams, you will contribute to building solutions that use natural language processing, cognitive computing, and artificial intelligence applications or the frameworks and infrastructure that support them.
We are recruiting a C++ software engineer to help us build out our new Spoken Conversation Understanding Platform - an advanced AI system that listens to live, human-to-human customer care conversations and reacts to them in real time, at a scale of thousands of concurrent conversations. This is an opportunity to contribute to “greenfield” design & development, as very few positions are offering.
You will join a small, highly collaborative team, with opportunities to contribute to all aspects of the system: the real-time, event-driven engine; low-latency speech recognition and natural language processing; offline machine learning tools and data pipelines; protocol stacks and APIs for integration into customer environments; testing frameworks; logging and analytics for tracking and improving performance; identifying and solutioning new use cases; working with customers to solve real business problems with speech understanding technology.
Your software contributions will range from rapid prototyping of new functionality to software product development, in C++ and python. You will be expected to implement complex functionality, with minimal impact on latency and compute resources, in code that is easy to understand and revise.
Essential Job Functions:
-
Software design and development, in C++ and Python on Linux servers, in an agile framework.
-
Follow implementations through test, deployment, performance measurements, and customer feedback.
-
Identify, specify and prototype new functionality, and generally devise innovative solutions to customer problems and product opportunities, in collaboration with the extended Interaction Research and Development organization
-
Learn and use new tools, new technologies and new skills.
-
Support QA, by contributing to test suites and to automated test frameworks.
-
Provide customer technical support.
Preparation, Knowledge, Skills and Abilities:
-
B.S. or equivalent, in Computer Science, Electrical Engineering or a related field.
-
A minimum of 3 years work experience in software development, using C++ and python in a linux environment.
-
Experience in one or more of the following areas:
-
Real-time, low-latency, event-driven systems
-
Machine learning, natural language processing, and/or speech recognition
-
-
Implementing complex algorithms for large scale commercial use (e.g., neural networks, statistical analysis on large data sets, graph optimization, …)
-
Media streaming and communication protocols
-
Data engineering, data science
-
Strong interpersonal and communication skills.
-
Works effectively in a team and as a self-directed individual contributor.
-
Curious about how things work, energized by technical challenge.