Backend Engineer (Machine Learning)
NOTE: This role is remote-only, and you need to be living in, and have a right to work in, one of the following countries: UK, Germany, France, Ireland or USA. We are mostly based in the UK and so the ability to co-ordinate with this timezone is needed.
Dotscience is a startup founded in 2017 and funded by DDN, the world’s largest privately-held storage company. Its mission is to build an end-to-end data science platform that holds AI accountable for its decision making.
We like to see ourselves as a very friendly and high-trust team. Because we are fully remote we are able to be flexible about parenting responsibilities and other things in life that need your attention. We co-ordinate once a day in a standup where we check in to say how things are going and tell jokes (it is part of our standup routine). The rest of the time we collaborate through GitHub, Slack, Google Hangouts and Google Docs. We get together in person every 6-8 weeks for a couple of days somewhere in the UK*, where we socialise and build our relationships. We do get some work done too, but it's mainly about face time. We try to do something fun and we mix up the venues and locations. Sometimes it's in a WeWork, but sometimes we hire a holiday cottage and have jam sessions! We see our fair share of babies at our meetings, either in person for a visit and a cuddle, or on our video calls.
The culture in the Engineering team is very collaborative and within the company all discussions are open by default. Everyone is listened to and nobody gets a special pass to push decisions through. You would be a fit for us if you care about how and why things work, engineering quality and user value. We would be a fit for you if you want a supportive, flexible, high-trust work environment where you are encouraged to grow your role at a pace to suit you.
*If you have to suffer a long trip/big jet lag to come to the UK we'll take a pragmatic view on how best to get quality time with you.
About the role
We are looking for an engineer who has experience of creating tooling stacks for Data Scientist and Machine Learning Engineers. Your knowledge, guidance and hands-on skills will be critical to developing our Data Science platform and its integration with other tools.
Work with the team to:
- Develop a product which is robust and scalable for cloud and on-premise use
- Design and create services and system architecture
- Ensure the product is built to deliver a good user experience
Design and build our data science platform collaboratively with the team
- Collaborate through pair programming, attending meetings and being an active member in the self-organising team.
- Help improve our code quality through writing unit tests, automation and performing code reviews
- Participate in brainstorming sessions and contribute ideas to our technology, algorithms and products
- Work with the product and design teams to understand end-user requirements, formulate use cases, and then translate that into a pragmatic and effective technical solution
- Work within the scrum framework to deliver product value to a regular cadence.
- Provide support as part of a rota.
- Write user documentation for the work you do.
- Degree-level education (or comparable experience) in STEM or another relevant area.
- Good understanding and plenty of practical experience in a statically typed programming language. We use Go, so we’d need you to learn it on the job if you don’t know it already.
- Experience creating a tooling stack for Data Scientists and ML Engineers
- Experience managing machine learning models (ideally in production)
- Good understanding and plenty of practical experience in a scripting language.
- Understanding and experience of data science, AI or ML
- Good communication and teamwork skills.
- A preference for being organised and dependable.
- Keen to learn and share knowledge.
- A tendency to question things, to be critical and enquiring.
- Comfortable with change and pragmatic decision making.
- Happy to work under time pressure occasionally.
- Able to manage own time.
- Know when to ask for help or input.
- Know when to give feedback to others.