Senior Python Developer
SG Digital (part of Scientific Games Corp.) leads the global gaming market, providing innovative software that powers the world’s most successful operators and online gaming providers.
We pride ourselves on product innovation and technical excellence and are constantly adding new applications and new functionality to our product suite, used by billions of end users. Having recently become the Digital, online Division of the $4bn Scientific Games, we are now in a period of dramatic growth that will see us grow headcount by 30% this year alone.
Want to be part of our story?
We are a group of distributed multidisciplinary engineers, passionate about casino gaming, focused on a few highly scalable distributed platforms on a hybrid technology stack running in public and private clouds.
The Python Developer will be working alongside other Software Developer , Project Managers, QA, Software Architects and DevOps in order to shape and implement the technology and product deliverables that will drive forward this strategic initiative.
The SGD Product teams are more aggressively adopting newer technologies, architectural principles and approaches to development, deployment and monitoring. Python Developer will contribute to ensure the highest coding standards and quality of deliverables to the QA and DevOps teams and for adoption by operators. The Python Developer will be expected to actively contribute to day-to-day activities.
There will be a mixture of small, but strategically significant projects, and also large scale complex programmes of work, all delivered via an Agile approach with direction from Product Management, but with delivery via a tightly contained team focused on quality deliverables across the platform.
A "can do" attitude and out-of-the-box thinking will be prerequisites!
- Development of new features and functionality for SGD products and services, including the production of unit tests as and where required
- Active participant in reviews for products and services delivered across the wider SGD team
- Ensuring code quality is maintained for products and services delivered by the team the Developer is working with
- Ensuring that products and services adhere to agreed performance KPIs and are delivered in line with SGD pipeline requirements
- Ensuring that all products and services have agreed levels of test coverage, in line with SGD requirements and adhering to agreed architectural and technology (including security) standards
- Review of detailed release documentation for handover to "BAU" teams
- Maintenance of relevant technical sections of the internal Knowledge Base
- Active understanding of solutions architecture and design, including KPI definition
- Ability to input into high level estimates of software deliverables for planning purposes
- Supporting the Development Manager, Senior Software Engineer and Head of DevOps to ensure continuous quality improvement in the development teams
- Proactively identify and address areas of material improvement, notably around performance, security and scalability
- Where applicable, ensuring that development team processes are aligned with technical processes prevalent in the wider company
- Ensure that all team members have a clear understanding of the overall system architecture and design components, in the context of meeting product requirements
- Knowledge of Agile development processes and scrum roles and responsibilities
- On occasion, lead an Agile workstream
Knowledge & Experience
- A Bachelor's degree (1st or 2:1) in a traditional science subject, ideally computer science, engineering or information systems from a well regarded university
- At least 3 years of experience developing commercial Python applications
- Ability to document technical solutions in a variety of formats and to constructively share knowledge with less experienced team members
- Ability to learn and critique new technologies quickly
- Excellent verbal and written communication skills, including presentations to peer groups
- Excellent teamwork skills, capable of supervising a small sub team or deputising in a management role
- Demonstrably being able to deal with change on a daily basis; must be comfortable both with external factors driving this change as well as internal
Technical skills of relevance:
- Very strong in Python, with knowledge of at least one Python web framework as Django.
- Familiarity with some ORM libraries.
- Some hands-on experience in designing applications using the actor model
- Strong unit test and debugging skills
- Knowledge of Relational Databases
- Experience with TDD and / or BDD
- Basic understanding of the use of Docker, Ansible, Maven, Jenkins, Sonar and Git (BitBucket)
- Strong understanding of various database technologies.
- Understanding of the threading limitations of Python, and multi-process architecture.
- Understanding of accessibility and security compliance.
- Proficient understanding of code versioning tools (GIT).
- Knowledge of the Django Framework for REST API presentation (with Celery, Redis, RabbitMQ)
- Familiarity with basic DevOps tools, eg. Vagrant, Ansible, Docker.
- Familiarity with UNIX operating systems.
- Knowledge of relational databases (eg. MySQL, PostgreSQL)
- Experience in working with AWS
Domain knowledge is not required, but having worked on a Sportsbook, Casino or eCommerce projects would be preferable.
Why would you enjoy working with us at SG Digital?
- Competitive benefits, an open and supportive environment as well as a modern and exciting workplace
- The opportunity to interact with global teams on a regular basis and the possibility to switch teams and projects as you and our business continues to develop and grow
- Tangible and genuine development - at SG Digital, you can take your career where you want it to go!
- Exposure to real work, business-critical projects and the chance to develop some of the world’s leading e-commerce products whilst working on exciting client projects and interact with lots of code!
And if that’s not enough; you will get to enjoy a stunning work location and flexible working whilst we provide you with the guidance and development skills you need to progress quickly and enhance your career.