My Shortlist

Your shortlisted jobs will appear here. To view your shortlist, please login or register

More Jobs Like This
DATE ADDED: Mon 31/12/2018

Experienced Python Developer

London, UK


JOB TYPE: Permanent

SALARY: 80000

About Gambit
Established in 2005, Gambit Research develops automated tools to facilitate high-speed trading on sports betting markets. We expose our bet execution platform to our client base via web and application interfaces. Our system is always trading, and we need to maintain a reliable, low latency service and adapt it to the evolving needs of the company and our clients.
When you join us, you’ll find that we have a very flat hierarchy, and that we place an emphasis on employee freedom. You’ll be encouraged to work on projects that you find interesting, as we believe people are happiest and most productive when they’re intellectually stimulated. You don’t need to be interested in sports betting.
You’ll be encouraged to maintain a good work-life balance, and will benefit from flexible working hours, quarterly bonuses, private healthcare, private pension contributions, part-funded sabbaticals after five years of service, excellent holiday allowances, office chef multiple times employee outings, opportunities to attend
conferences in the UK and abroad, extensive and expanding technical library, height-adjustable desks, the ability to build your own PC, get a mechanical keyboard, and get up to 4 monitors.
We’re very proud of the open, intelligent, and collaborative culture at Gambit, and are always looking to expanding our development team. You’ll join our team of exceptional individuals, to pool your diverse experiences, enhance our existing systems, and build new products. So, if you have a deep understanding of computers, an interest in problem solving, want to join a company with a stimulating and development focussed culture, and have a proven ability to learn new skills, then we’d love to hear from you.

Purpose of the Role
As an Experienced Python Developer, you’ll be responsible for implementing new features for our system, diagnosing issues, and fixing bugs. Many of the projects you’ll work on will be oriented to provide services for our customers, and you’ll be engaged in studying and improving how our customers interact with the system. Most of our components are written in Python, with C/C++ for high-performance components. They interface with external APIs and websites, as well as with our core system, which is mostly written in Erlang. This normalises offers from different sources and processes a significant number of bet placements and associated information. You’ll have the chance to get up close and personal with these systems, enhancing your experience, whilst working on projects that have a real impact on the business.

Responsibilities and Duties

Your day-to-day duties will typically include

● Designing and developing enhancements to projects, mostly using Python
● Using a range of both 1st and 3rd party libraries and technologies as appropriate for the task
● Working in a Linux environment
● Coordinating with team members on the development of large components
● Analysing sources such as log files, database tables, graphs, and code to diagnose
problems, and subsequently fix them
● Researching and learning new skills and technologies as requirements evolve
● Giving input into the potential progression of the company and its systems
Skills and Competencies

You’ll have:
● Previous commercial experience of programming in an object-oriented, functional,
or dynamic language.
● Experience of developing in Python
● A working knowledge of algorithms and data structures
● A working knowledge of relational databases and SQL, particularly PostgreSQL
● An interest in new technologies, theoretical computer science, and/or mathematics
● The ability to communicate well with others from a variety of backgrounds, and
build strong, healthy, professional relationships
● Problem solving skills, and the tenacity to resolve technical problems that you
might not have seen before
● Research and decision making skills, as you’ll be need to decide where to focus
your learning, and what to focus on
● The ability to work collaboratively and productively in a team, as well as on solo
projects when needed
● Openness to hear the technical suggestions of others, and find constructive
solutions when these disagree with your own ideas

Qualifications and Experience
You’ll have the following:
● An excellent academic record, ideally a 2.1 (or higher) Bachelor's degree, in a relevant subject - or equivalent experience
● Previous experience of developing in a commercial environment
● Knowledge of Internet technologies and protocols
● Experience developing with Linux, including the Bash scripting and the use of shell
utilities such as grep, sed, find
● An understanding of concurrency problems and solutions
● Exposure to a wide range of libraries and technologies such as Redis, Celery, Django, psycopg, Cap’n’Proto, protobuf, REST architecture
● Knowledge of virtualization and deployment solutions, such as Docker, Kubernetes, and Ansible