Software Engineer
Job Description
At Longshot Systems we build advanced platforms for sports betting analytics and high frequency trading. You would be joining our platform development team - a small group of developers that are responsible for designing, developing and maintaining our integrations with various trading venues, bookmakers and data feeds. The platform you’d be working on is distributed, low latency and handles significant amounts of real money trading activity. It processes thousands of messages per second and carries out complex analyses and trading decisions on an event-driven basis.
Our client activity is increasing rapidly so there are many scaling issues, technology challenges and general problems for you to get to grips with. Our Platform stack is predominantly built around Golang and Postgres, deployed using docker and a CI/CD stack including Github Actions. We're big fans of investing in CI/CD, integration testing and other tooling to allow us to release changes frequently and safely. We integrate a lot of open source into our work and encourage contributing back. Almost everyone at the company has software engineering experience and we have a strong culture of putting engineering best practices first.
This role is intended to be fully remote, although we do have a team in the UK who work a hybrid setup one day per week in London. We try and automate things aggressively to minimise on-call work, of which we have almost none (and no regular on call shifts except on very rare occasions like the World Cup). Where you do end up working it, it is paid at a multiple of your regular hourly rate.
Initially, all fully remote staff are expected to be able to work 10am - 6pm or 9am - 5pm, Monday to Friday UK time. We are happy to relax this to a smaller overlap over time for strong performers.
Core responsibilities:
- Write API integrations and website scrapers for connections to external trading venues, bookmakers and data sources in golang
- Produce clean, testable code that is maintainable and robust
- Join and shape the discussion on future and existing architecture
- Work directly with product owners
Hiring Process:
Once you have applied for this role, please also take the following TestGorilla test. It starts with an intro video from David Prime, Co-Founder of Longshot Systems and the test itself takes 21 minutes. The rest of the process is:
- Web scraping challenge - 1-1.5 hours
- Call with our CTO to discuss the role and ask questions - 30 mins
- Interview with our platform team - 1 hour
- One day paid work trial - 8 hours
Requirements
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 multi-threading, networking and general web technologies. The role will suit a technical person with a flair for creative problem-solving. We're currently considering candidates with a range of professional experience, from Junior engineers up to Senior level, so we encourage you to apply if you're excited by the role even if you don't tick all of the boxes below.
- Strong academic record and a degree with a high computing or mathematical content e.g. (but not limited to) Computer Science, Electrical Engineering, Mathematics, Engineering or Physics.
- Experience in general systems languages (Java, C++, C#, Go etc) to a high professional standard, ideally with Golang among them.
- Web and web scraping technologies including a thorough understanding of what browsers do to get data to your screen.
- Broad exposure to modern application architectures built around databases and messaging systems
- Experience in distributed systems, test frameworks, continuous integration and also monitoring and debugging of highly available components.
- You should be happy traversing the stack as far down as you need to go to figure something out.
- Proficient on Linux platforms with knowledge of various scripting languages.
- Takes pride in engineering excellence and encourages best practice in others.
- A systematic, analytical approach to tackling problems and designing solutions.
- Strong communication & teamwork skills in a predominately remote environment, especially written communication
We encourage you to apply even if 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.
Benefits
Our salary range for the role is $40,000 to $60,000 USD, depending on experience and interview performance. We offer a 10% annual bonus based on company performance. We'll supply all equipment needed for you to work comfortably and safely remotely.
Salary & Benefits
•