Senior Software Engineer (Python)
At Longshot Systems we build advanced platforms for sports betting analytics and trading.
We are a small start-up company working in a rewarding and challenging industry. Having developed a lot of our core platform infrastructure we are looking to begin expanding our trading strategy research activity. Our core systems handle thousands of events per second, 24/7. We have similar problems and constraints to high frequency trading firms, but in the sports betting world.
You'd be working closely with the CEO, CTO and Machine Learning research team to design and build the tooling & frameworks to support strategy research and development (e.g. distributed computation software, dashboards for strategy evaluation, tools for working with our underlying data efficiently), help turn prototype trading models into production-ready systems as well as architecting the high-level design of the strategy software to minimise trading latency and scale effectively. Our strategy stack is Python based and communicates with our core infrastructure, written in Golang, by RPC. We use AWS EC2 and S3 together with Ray for our cluster computation.
The ideal candidate will have a strong software engineering background, with broad experience across a range of topics related to general high performance computing such as multiprocessing, IPC, distributed computing, profiling and optimisation. Experience with Python web frameworks (e.g. Django/Flask), the NumPy/SciPy stack and Cython/JIT techniques are a bonus although not essential.
Most importantly we're looking for intellectually curious engineers who enjoy learning about new technologies and techniques, solving problems and encouraging engineering best practice. We have weekly research afternoons where each member of the team reads up about a new topic, technique or technology that interests them and discusses or presents it to the rest of the team afterwards to ensure we're always learning and staying on top of recent research and technologies.
We've got a pretty relaxed atmosphere here with team lunches / after work drinks a regular occurrence (our local pub does excellent Thai food, we go frequently). Our customary office hours are week days, 10 til 6. We don't much like peak rush hour. If that doesn't suit, let us know and we can talk, we're flexible. Our office is based in Marylebone, London.
- Significant software engineering skills and experience
- Strong academic record and a degree with high mathematical and computing content e.g. Computer Science, Mathematics, Engineering or Physics from a leading university
- Takes pride in engineering excellence and encourages best practice in others
- A systematic, analytical approach to tackling problems and designing solutions
- Strong high performance Python experience
- Strong general high performance computing: Multiprocessing, IPC, comfortable profiling and debugging deep performance issues, distributed computing, queues etc
- Proficient on Linux platforms with knowledge of various scripting languages
- Other relevant qualifications in Computer Science, Engineering, Maths, Physics etc
- Experience with the NumPy/SciPy stack
- Cython & JIT compilation experience
- Experience in C/C++/Java/Golang/other systems languages on modern architectures
- Knowledge of Python web frameworks e.g. Django, Flask
We encourage you to apply even if you think you may not currently fit all of these requirements – so long as you are willing to work hard and learn, we want to hear from you.
Our salary range for the role is £70,000 to £100,000, depending on experience and interview performance. We offer 10% matched pension contributions as standard for all staff.
Choose your own hardware & setup for your development environment. Adjustable standing desks provided.