Senior Software Developer 1
BET Software|Posted 1 day ago
Sign up or log in to apply:
Skills and experience
Location and salary
Role description
Senior Software Developer 1
Job Grade: 3
Reports To: Software Delivery Lead
Reviewed By: Pretty Dube
Review Date: 19 October 2023
Department: IT Software & Development
Approved By: Software Development Managers
Job Summary
The purpose of a Senior Software Developer 1 is to contribute to the development and implementation of complex software solutions. They are responsible for designing, coding, testing, and maintaining software applications, as well as providing technical guidance and leadership to other members of the software development team.
Job Responsibilities
- Design Fit-for-Purpose Solutions, Algorithms & Planning
Actively contribute to design and planning meetings, discussions, and documentation.
Design solutions using the most appropriate approved architectural patterns.
Ensure design patterns increase organisational levels of high-volume transactional performance, resilience, automation, and innovation.
Ensure designs meet best practices and are Test, DevOps, and Support friendly.
Identify and establish objectives for self and team.
Set objectives and goals based on the team's chosen software development methodology to successfully complete projects.
Consider all reasonable factors, impediments, and obstacles.
Identify potential alternative strategies and refactoring approaches for maximum benefit within the shortest possible time.
Formulate supporting plans and communicate dependencies and impacts to others.
Publish plans to peers and stakeholders through agreed methods.
- Implementation of a Solution that is Complete, Efficient and Compatible
Deliver a complete solution covering all agreed specified tasks and user objectives.
Deliver a correct solution that provides accurate results with the required degree of precision.
Deliver an appropriate solution that facilitates the accomplishment of specified tasks and objectives while excluding unnecessary steps.
Ensure checked-in code is reviewed to confirm standards are met and the code base remains sound.
Deliver solutions where throughput rates, response times, and processing times meet stated requirements.
Deliver solutions that utilise system resources effectively and efficiently during operation.
Deliver solutions that achieve or exceed maximum operational capacity requirements.
Deliver solutions capable of effectively and efficiently exchanging information with other products, systems, or components.
Deliver solutions that perform efficiently, coexist with other solutions, and do not negatively impact other systems.
- Implementation – Ensure a High Usability Factor
Ensure users can achieve specified goals with effectiveness, efficiency, and satisfaction.
Ensure users can easily recognise system flows, functions, and capabilities.
Ensure the system supports intuitive self-learning and ease of use.
Protect users from making errors through thoughtful design.
Ensure the user interface is engaging and provides a satisfying user experience.
Ensure accessibility for users with diverse characteristics, capabilities, cultures, and languages where appropriate.
- Implementation – Ensure the Solution is Reliable
Ensure solutions perform appropriately under agreed conditions for extended periods without intervention, despite potential attacks.
Reduce faults caused by misunderstood requirements, design errors, and implementation errors.
Ensure solutions are robust and continuously available.
Respond to outages and failures when required.
Improve fault tolerance, even under suboptimal operational conditions.
Ensure complete data recoverability and restoration capabilities.
Ensure solutions are maintainable and actively seek ways to reduce downtime.
Ensure solutions can evolve over time as user volumes and requirements grow.
Simplify support and maintenance through traceability and effective error messaging.
Improve solution maturity over time by reducing the frequency of required interventions.
Minimise downtime in the event of failures.
- Implementation – Ensure Effective Security
Ensure solutions are secure and maintain confidentiality of all information and data, including data transmission.
Ensure users and systems have appropriate levels of access according to authorisation requirements.
Maintain high integrity by preventing unauthorised access, modifications, or changes.
Ensure survivability despite third-party attacks, human error, hardware failures, or software faults.
Employ logging and auditing mechanisms to support accountability and non-repudiation.
Ensure actions can be traced to the entity that performed them wherever possible.
Ensure entity identities can be verified accurately wherever possible.
- Implementation – Ensure the Solution is Maintainable
Ensure solutions and code bases support ease of modification for future maintainers.
Apply appropriate standards and methodologies.
Enable support teams to perform maintenance where possible without developer intervention.
Promote modularity so changes to one component have minimal impact on others.
Provide relevant documentation to support teams and reduce development support overhead.
Apply reusable design principles so assets can be used across multiple solutions.
Implement mechanisms that enable solutions to analyse faults and generate reports before critical failures occur.
Develop solutions that support future modifications while minimising defects and preserving system quality.
- Testing, Verification and Deployment
Ensure solutions are test-friendly through effective test data mechanisms, automated testing hooks, and simulations.
Deliver solutions with all required deployment assets to ensure seamless installation and deployment.
Ensure solutions are adaptable to evolving hardware, software, and operational environments.
- Respond to Outages & Failures
Provide proactive support to peers, testing teams, development support teams, and operational teams to reduce escalations.
Support Development Support teams during operational events and assist with the creation of Standard Operating Procedures (SOPs).
Be available to handle emergency outages and failures affecting owned or team solutions.
Troubleshoot and resolve issues effectively to improve stability and reduce future interventions.
Recommend and implement approved improvements to development methods and solutions.
Deliver rapid resolutions to application and system issues to improve stability, efficiency, and effectiveness.
Maintain solutions that have transitioned into operational support.
Develop and maintain technical support documentation where necessary.
Assess the risk and impact of production issues and changes and take appropriate mitigation actions.
- Coaching & Mentoring
Provide guidance, training, and problem-solving assistance to other team members.
Mentor and contribute to the growth of junior and intermediate team members.
Design and deliver end-user training and supporting training materials.
Job Specification
Qualifications & Experience
Bachelor's Degree in Computer Science, Software Engineering, or a related field (advantageous).
Minimum of 5 years' experience within a software development environment.
Knowledge of design principles and architectural fundamentals.
Demonstrated leadership and mentoring skills.
Detailed knowledge of the Software Development Life Cycle (SDLC) and software project management.
Strong written and verbal communication skills.
Strong attention to detail.
Living the Spirit
Actively drive a culture of collaboration and open communication within the team.
Promote authenticity and champion diversity, inclusion, equity, and belonging.
Foster versatility and adaptability by encouraging team members to support one another across the business.
Act as a change agent and promote continuous learning, ensuring the team approaches challenges with enthusiasm and proactivity.
Sign up or log in to apply:
About BET Software

We are the brains behind SyX Software, an application with the incredible ability to result large volumes of transactions in rapid time. This software solution offers customers a fully realised sportsbook with integration into casino betting, virtual games, and live lotteries. SyX was pioneered by BET Software for the renowned Hollywoodbets brand and is designed to run on low-end hardware in locations with limited internet connectivity. SyX has also been launched in Lesotho, Mozambique, Zambia, Zimbabwe and Kenya.
We pride ourselves on our ability to forge close relationships with customers, and on providing leading-edge betting platforms, as well as 24/7 support, customisation, and optimisation that surpasses their expectations while ensuring that our company culture and Team wellbeing comes first!
With offices in Durban, East London and Johannesburg, we boast a Team made up of only the best, most highly-skilled individuals and grant our developers the freedom to work with the tech stack of their choice. If it works for them, it works for us!
If you’re looking to level up then look no further because at BET Software, growth is mandatory! We provide opportunities for our Team to complete formal qualifications, and we aim to cover the costs of courses that benefit both our Team Members and the company. BET is devoted to our All-Star’s development and career growth; we want you to be the best version of yourself!
Our values have been the fundamental building blocks on which we have built this dynamic and culturally diverse Team: At BET Software, as passionate as we are about changing things up in the tech industry, we are also all for making meaningful and sustainable change in the community around us and we do this through various CSI projects, as well as helping young people make their ICT dreams a reality through our Dare to Dream bursary programme.
We believe in constantly going against the grain, breaking the mould, shaking things up and disrupting global markets! Ready to be part of something greater? Apply now to be a part of our All-Star Team!
Perks at BET Software
Tech Stack
application and data











utilities

dev ops





business tool

