Senior Machine Learning Software Engineer
At Longshot Systems we’re building advanced platforms for sports betting analytics and trading.
Our core systems handle thousands of trading signals per second, all of which must be processed and potentially acted upon with minimal latency. We have similar problems and constraints to high frequency trading shops, but in the sports betting world.
You'd be working closely with the CEO to design, test and implement new high frequency sports betting software based on machine learning models for our clients. Due to us being a small startup the role suits someone who wants to be involved in all aspects of the software development process, from high-level design, business requirement gathering and feasibility studying through to writing the code to implement the software in production and preparing the necessary operational documentation. Our machine learning stack is Python based and communicates with our core infrastructure, written in Golang, by RPC; you’ll be working on the Python stack and knowledge of Golang or RPC isn’t required. We also work with Postgres (SQL) databases, for which you’ll be responsible for maintaining the database structures related to the strategy software. You’ll examine our existing software stack and determine the requirements for future software development to maximise strategy performance.
The ideal candidate will be highly creative and enjoy generating new, innovate ways to tackle problems and suggesting improvements to existing methodologies; you'll have a high level of autonomy to develop whichever methods you felt would be best suited to the problem at hand. A strong mathematical understanding of the fundamentals of Machine Learning is very important for this role and must have experience in doing software development on cutting-edge models either in industry or academia.
You'll be supported by our platform team who you'll work with to design and build out the tooling and infrastructure you need to support your software development.
Our office is based in Marylebone, London.
Closing Date For Applications: 2nd August 2017
- Masters qualification in Computer Science, Maths, Statistics, Machine Learning, Finance/Economics etc.
- Very strong mathematical intuition and creativity.
- Experience across a broad range of Machine Learning and software development. The intuition and experience to select the right approach to novel problems and understand the trade-offs involved in that approach as well as understanding the mathematical background to the solution chosen.
- A practical, pragmatic approach to machine learning software development; experience in taking ideas from concept stage through to production environments.
- Experience using a range of ML software frameworks in Python
- Knowledge and experience of many different ML tools/techniques, e.g. Neural Networks, Convex and non-convex optimisation, Gaussian Processes, SVMs, GLMs, Linear & Quadratic programming, Bayesian techniques, Time Series modelling, Probabilistic Programming, Anomaly/outlier detection, Ensemble methods etc.
- Passionate about learning new skills and techniques. Comfortable finding and reading academic papers to generate new software design ideas.
- Relevant qualifications in Computer Science, Maths, Statistics, Machine Learning, Finance/Economics etc, preferably to PhD level.
- Experience in a systems-level language - C/C++, Java, C#, Golang etc
- Numpy execution speed optimisation techniques
- Unix scripting
- Git or other version control experience