Opportunities for permanent roles in a range of business sectors

Software Development Engineer (Python)

Software Development Engineer (Python)

Software Development Engineer (Python)

Location:           Cambridge, UK

“Speechmatics is on the bleeding edge of speech recognition, and as a Software Engineer, I get to build the infrastructure to deliver this at scale using state-of-the-art technology. As well as that, I work with a wonderful team and there’s a very welcoming and supportive culture in the company. If you’re currently looking for a new opportunity, and are interested in a position in one of the best Machine Learning companies in the UK, look no further.”

-       Adam Narkunski, Software Engineer at Speechmatics

Background

Speech technology is one of the most popular discussion items at the moment, yet speech interaction is limited to “Alexa, turn on the light”, or “Siri, where is the nearest coffee shop?” We are taking speech technology to the next level using our expertise in Machine Learning and speech-to-text technology to enable our customers to use conversational speech recognition. Our solutions power subtitling on TV, content discovery for videos, compliance solutions in banks, improve efficiency of meetings, and many other use-cases. Our mission is to improve human communication with a global speech engine, that works and put speech back at the heart of communication.

At Speechmatics you’ll be working with some of the smartest minds in the industry, working on cutting-edge projects and deploying the latest Machine Learning techniques to disrupt the market, providing customers with the best speech technology available, all whilst immersed in a progressive and great company culture. You can enjoy benefits including, share options, healthcare, life assurance, Bike Doctor, massages, regular BBQs, Brew Dogs in the fridge, no red tape, a top end laptop and much more. We’re building a company that truly strives to be world-leading and we’re looking for people who wholeheartedly believe they can be additive to our culture, bring new ideas to the table and get stuff done. If that’s you, carry on reading.

The Opportunity

The Speechmatics Engineering team develops and maintains speech-oriented products and services that will be used by businesses worldwide and is responsible for the complete product development cycle for these products. In this role, you’ll help to support fundamental language processing research as well as helping to build our public cloud-based SaaS service and products that will be deployed by our users in their data centres and cloud instances.

You’ll solve and overcome challenges to deliver a rapidly growing product portfolio. In addition to helping deliver features you will help drive the system architecture as well as contribute towards defining and improving the best practices we employ to develop new features and products. Because you will be joining a rapidly expanding team, you will need to be a team player who thrives in a fast-paced environment, with a focus on rapidly moving research developments into products. We strongly encourage versatility and knowledge transfer within and across teams. Although expected to code primarily in Python, opportunities will be provided to extend your coding skills to Go.

No prior experience of speech recognition is necessary. Speechmatics has a team of speech recognition engineers who will collaborate on all speech recognition related projects and teach you any specialised knowledge required. This will include opportunities to participate in internal training courses aimed at teaching Machine Learning theory and practice. If you are a talented, detail-oriented engineer with a solid software development foundation and a commitment to deliver the best possible technology solutions, then we want to hear from you!

Key Responsibilities

  • Delivering high quality, maintainable and robust code on time, as part of a team.
  • Executing projects and developing against an outlined design.
  • Developing pragmatic solutions and building flexible systems without over-engineering.
  • Involvement at all stages of the software development cycle, including designing and developing new architectural systems and improvements, and QA processes.
  • Participation in estimation and sprint planning in an agile environment.
  • Working closely with other technical teams and product team to deliver on the company’s technical vision. 

Experience

Essential

  • Bachelor's degree in Computer Science or related field.
  • Professional experience in software development.
  • Computer Science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis.
  • Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
  • Analytical with a data-driven approach to making decisions and attention to detail.
  • Excellent Python skills.
  • Good Linux development skills.
  • Experience of working within a team to create, deliver, and run high quality systems. 

Desirable

  • Master's degree in Computer Science or related field.
  • Proficiency in some of C, C++, or JavaScript.
  • Skills and experience in cloud-based software development, preferably Azure:
  • Working with distributed and/or clustered systems.
  • Building and running horizontally scaling architectures.
  • Using cloud-based queueing, messaging, monitoring and storage techniques.
  • Familiarity with Go.
  • Familiarity with some of Kubernetes, Ansible, Docker, Docker Swarm, Elasticsearch, TeamCity, GitLab, JIRA, Kubernetes, Nginx, Nomad, Terraform.
  • Familiarity with statistical models and data mining algorithms.
  • Familiarity with Natural Language Processing techniques.
  • Comfortable collaborating with teams with very different technical skills, and non-technical teams. 

 

Interested?

Get in touch! Send your CV and covering letter.