*Senior Java Software Engineer - Cape Town*
*Who are we?*
Rank Interactive a group company of the Stride Gaming Plc is a market leader in the online gambling space. We dream, develop and market really awesome games for our customers and have a great time doing it.
We live and breathe our Vision and Values and believe everyone who works at Rank Interactive has a very important role to play in making the company a success.
We won't sugar coat it, it's a challenging environment where we all get in and get the job done whatever it takes to ensure our products are the best of the best.
*Tell Me More!*
The Senior Software Engineer will deliver our Development strategy through having ownership of the systems architecture and development, following the departments methodology, and drive outstanding results across all engines, following company and department objectives and priorities.
In this role you will work with a team of highly skilled people, all with opinions about various technologies, frameworks and approaches to delivery. You will be able to articulate your ideas to your colleagues effectively and will take on board the ideas of others. You will thrive when faced with new challenges and will constantly look to improve Spacebar Media's work.
* Working in an agile environment cooperating with Product Managers and business stakeholders to design, develop and build products that would remove some of the legacy dependency;
* Establishment and maintenance of technology resources to support all operational functions;
* Anticipate requirements, and build software in a flexible, scalable way;
* Communicate issues, risks and dependencies with line managers, escalating where appropriate;
* Write software following OOP best practices;
* Write software following the Design Patterns that best fit for a problem given;
* Write software following the SOLID principles;
* Write software following the DRY principle;
* Write Unit tests following TDD;
* Write Integration tests following BDD;
* Take responsibility for your own task from conception to completion;
* Apply best engineering practices with other team members, and maintain code quality across applications;
* Under the guidance of the Technical Lead, take ownership of the system;
* Ensuring the compliance of responsible gaming protocols;
* Any other duties as requested by the company.
* Proven ability to write clean, testable, readable code in a team environment using design patterns, SOLID and OO principles;
* Proven experience of building, automating and deploying software to production;
* Ability to find creative solutions and implement them in a fast pace work environment;
* Technical analysis experience translating business requirements into functionality;
* Ability to work as part of a team (but take individual ownership and responsibility);
* Excellent written communication skills (articulate, friendly and polite);
* Good verbal communication skills;
* Excellent attention to detail;
* Demonstrate a calm manner and an ability to handle difficult situations;
* Ability to work on own your initiative;
* Ability to work independently and meet deadlines;
* Gaming related industry knowledge and experience is a plus.
* At least 6 years of experience in web development;
* Strong core java experience (Java 11 preferred);
* Strong experience using Spring / Spring boot framework;
* Experience with MS SQL database development (queries, stored procedures, jobs, admin);
* Ability to write unit and integration tests;
* Experience applying SOLID design principles;
* Experience building web services and APIs on REST;
* Previous experience working in the betting, financial and/or banking sector (advantageous).
* Degree or equivalent qualification desirable (ideally in Computer Science, Mathematics, Engineering or a similar discipline);
* Excellent background on Agile methodologies (Scrum, eXtreme Programing, Kanban, Lean);
* Excellent background of Agile practices (TDD, BDD, Coding Standards, Peer Review, Collective Ownership, Whole Team, Frequent Release, Continuous Integration);
* Strong knowledge regarding Object Oriented Design, data structures, algorithm design, problem solving and complexity analysis;
* Understanding of SOLID principles;
* Passionate about quality code;
* Excellent verbal and written communication skills and able to interact professionally with a diverse group of people;
* Experience implementing scalable software systems and platforms. Experience with software optimisation;
* Expert knowledge in building REST APIs
* Exceptional problem solving skills
* Valid working visa.