Software Engineer
The Software Engineer role is responsible for the development of new features and functionality for customer products and services. This includes producing unit tests, ensuring high code quality, and contributing to team planning sessions. The engineer will also escalate issues related to performance, security, and scalability, and develop a clear understanding of the overall system architecture and design components to meet product requirements. The role involves working within Agile development processes as part of a self-organising team to develop new features for large-scale betting websites, producing robust code using practices like Test-Driven Development (TDD), and extracting customer requirements using processes like Behaviour-Driven Development (BDD). Solutions developed should be modular, scalable, and portable.
- Development of new features and functionality for customer products and services, including the production of unit tests as and where required
- Ensuring code quality is maintained at a high level for products and services delivered by the team
- Ability to input into planning sessions of the team
- Escalate issues in areas of material improvement, notably around performance, security and scalability
- Develop a clear understanding of the overall system architecture and design components, in the context of meeting product requirements
- Where applicable, ensuring that development team processes are aligned with technical processes prevalent in the wider company
- Work as part of a self-organising Agile team to develop new features and functionality for large scale betting websites
- Produce robust, clear, polished code using practices like Test-Driven Development (TDD)
- Extract and capture customer requirements using processes like BDD
- Developing solutions that are modular, scalable and portable
- A Bachelor's degree in a traditional science subject, ideally computer science, engineering or information systems from a well regarded university
- At least 2-4 years relevant experience in a development environment
- Working knowledge of one or more major programming languages (such as Java, C/C++, Python, PHP, TCL etc.) and interest in learning other coding language
- Development within Agile methodologies such as Scrum, Lean and Kanban
- Excellent teamwork skills within an agile team environment
- Excellent interpersonal, verbal and written communication skills, including presentations to peer groups
- A “can do” attitude and out-of-the-box thinking
- Able to deal with changing priorities and based on requirements agreed with senior team members including, BA’s QA’s and software architects
- Familiarity developing on Unix/Linux
- Experience in exposing and consuming RESTful APIs
- A good understanding of relational databases and SQL
- Experience in the use of Docker, Ansible, Jenkins, and Git (BitBucket)
- General scripting skills: Bash, Perl, Python, Javascript etc.
- Experience on Web technologies and internet protocols (Apache, SOAP, WS-*, ReST, XML, HTTP, TCP/IP, websockets)
- Web development skills: HTML5, JavaScript, CSS
- Collaborative hybrid office environment with team members at least 2 days per week
- Attractive benefits
- An open and supportive environment
- A modern and exciting workplace
- The opportunity to interact with global teams on a regular basis
- Tangible and genuine development
- Flexible working
- Guidance and development skills to progress and enhance your career

