ABOUT THIS ROLE
Software Development at Rasa is not only about writing Code. You'll have to come up with good architectural designs, quality code, and break an ambitious long-term vision down into milestones and issues.
We don’t draw a hard line between our engineering and research teams, we all work on the same stack and share work, knowledge, and tools. A lot of the code we create is open source and used by a large community of developers. The driver for our development efforts is this: what would help developers build great conversational software? What can we enable them to build that they couldn't do currently?
We do fundamental machine learning research, and we ship commercial quality software that puts it to use. We mostly work in Python, but dip into other languages when it makes sense to. Because engineering is so close to research, you’ll quickly learn a lot about Machine Learning, Model Management, Data Analysis workflows, and what it takes to ship machine learning applications into production.
We are looking for a software engineer who combines technical, communication, and analytical capabilities and who will have the opportunity to design and develop creative, compelling, and cutting-edge systems that support our mission.
THINGS YOU WILL DO
We’re a startup, so you’ll have to be comfortable rolling up your sleeves and doing whatever is required to support our mission. However, you can definitely expect to:
Work on our open source projects alongside our large contributor base and community
Architect, code & test backend services to support machine learning training, prediction and annotation
Improve the scalability & performance of backend services for our enterprise customers which are handling high loads
Lead junior developers who develop on our libraries develop great software engineering skills
Work with driven people across all areas of the company—from marketing and business development to machine learning research and UX design—to create the tools to let all makers build AI assistants that everyone can use
You take pride in teaching and learning from teammates, and enjoy constructive peer review in a respectful environment
You're comfortable being lean and fix problems without waiting for someone to tell you to
You can effectively communicate what you’re working on with non-technical team members
Experience taking a leading role in building complex software systems
Advanced knowledge in Python
Experience teaching & communicating technical material
Ability to think ahead and anticipate technological challenges
Please keep in mind that we are describing the background we imagine would best fit the role. Even if you don’t meet all the requirements, yet you are confident that you are up for the task, we absolutely want to get to know you!