Senior Software Developer 1

We Want You:

Are you a savvy Senior Software Developer with excellent communication skills, and the drive to build high-quality systems? Do you have a knack for software development? How about a passion for creating solutions – one line of code at a time?

We need a problem solver, an analytical thinker, a do-er, and an innovator who is able to perform in a fast-paced environment, developing and managing solutions for our online and offline betting platforms. As a Senior Software Developer, you will be part of project-related activities where you will not be limited to any tech stack – but will use the technology or coding stack of your choice.

This is an exciting opportunity to lead, learn, and perform at your best, whilst shaping the future of technology, and broadening your software development skills.  Your ability to critically analyse business requirements, navigate through existing software, manage complex architectural platforms, take ownership of your work base, and release new versions of software consistently, will be crucial to your success..

You Bring:

  • At least 5-7 years’ experience within a development environment;
  • 3-5 years’ SQL experience;
  • 1-2 years’ experience in document stores such as Couchbase / Mongo would be advantageous;
  • 1-2 years’ experience in Message Brokers such as RabbitMQ / Kafka / Red Panda would be advantageous;
  • 5 -7 years’ C# experience;
  • 5 -7 years’ .net core experience;
  • 5 -7 years’ restful api experience;
  • Demonstrated leadership skills;
  • Detailed knowledge of the SDLC and management of software projects;
  • Good written and verbal communication skills;
  • Strong attention to detail.


Nice To Have

  • Experience in distributed systems.
  • Experience in functional languages
  • Experience in Agile


What You’ll Do:

  • Ensure design patterns used are increasing the organisational levels of high-volume transactional performance, resilience, automation and innovation;
  • Identify potential alternative strategies, and refactor approach for maximum benefit within the shortest possible time;
  • Deliver an appropriate solution which facilitates the accomplishments of specified tasks and objectives comprehensively, whilst excluding unnecessary steps;
  • Deliver a solution in which effective and efficient resource utilisation of system resources occurs during operation;
  • Deliver a solution which performs efficiently, can co-exist with other solutions, and does not have a detrimental impact on other solutions;
  • Deliver an interoperable solution which can exchange and use information between different solutions, not necessarily in the same environment;
  • Ensure the user of the system can comfortably recognise the systems flow, functions, and capabilities of the system;
  • Ensure the system logically supports user self-learning;
  • Ensure the solution is accessible, and can be used by people with a wide range of characteristics, capabilities, cultures, and languages;
  • Ensure the solution performs appropriately under agreed conditions for extended periods of time without the need for intervention (despite potential attacks);
  • Ensure all steps are taken to reduce the occurrence of faults due to misunderstood requirements, design errors, and implementation errors;
  • Ensure complete data recoverability, and the desired state of the solution can be re-established (despite potential attacks);
  • Ensure the solution is durable so that as user volumes and requirements change, the solution can evolve over the long term;
  • Ensure the solution simplifies support and maintenance, through traceability, and effective error messaging;
  • Ensure that over time, the solution becomes more mature;
  • Ensure the solution has high integrity, where the solution prevents unauthorised access, modification of computer programs, data or settings;
  • Ensure the solution has a high degree of survivability, despite 3rd-Party interventions (attacks, human errors, hardware or software faults);
  • Ensure modularity, where the solution consists of discrete components so that a change in one component has minimal impact on other components;
  • Where possible, provide a mechanism for the solution to analyse its own faults, and provide reports prior to a critical failure;
  • Develop the solution in a manner which supports modification for future developers, thereby reducing the number of defects, or the system quality being negatively affected;
  • Ensure the solution is delivered completely, and with the additional assets which are required to make installation/deployment as seamless, and as easy as possible;
  • Provide support to Dev Support when required during operational events, and create or assist with the creation of SOP’s;
  • Perform trouble shooting, and effectively resolve issues to increase solution stability, and reduce intervention required over time;
  • Make confident, timely, fact-based decisions drawing on a broad range of resources through collaboration with others;
  • Generate new ideas, and challenge the status quo, take risks, support change and encourage innovation.

The Company We Keep:

At BET Software, we don’t just recruit talent, we cultivate it. Our learning and development programmes, our various opportunities for growth, and our well-deserved incentives are what keep our All-Star Team the best amongst the rest.

Please note that only applicants who meet the stipulated minimum requirements will be considered. If you have not been contacted within 30 days, kindly consider your application to be unsuccessful