Senior Software Developer 1
BET Software|Posted 3 days ago
Sign up or log in to apply:
Skills and experience
Location and salary
Role description
Senior Software Developer 1
Department: IT Software & Development
Reports To: Software Delivery Lead
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 software solutions
- Coding, testing, and maintaining software applications
- Providing technical guidance and leadership to other members of the software development team
Job Responsibilities
Design Fit-for-Purpose Solutions, Algorithms, and Planning
- Actively contribute to design and planning meetings, discussions, and documentation.
- Design solutions using the most appropriate approved architectural patterns.
- Ensure design patterns increase organizational capabilities for:
- High-volume transactional performance
- Resilience
- Automation
- 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.
- Consider all reasonable factors, impediments, and obstacles.
- Identify alternative strategies and refactoring approaches for maximum benefit within the shortest possible timeframe.
- Formulate supporting plans and communicate dependencies and impacts.
- Publish plans to peers and stakeholders through agreed communication methods.
Implementation of a Solution that is Complete, Efficient, and Compatible
- Deliver complete solutions covering all agreed tasks and user objectives.
- Deliver correct solutions that provide accurate results with the required degree of precision.
- Deliver appropriate solutions that facilitate objectives comprehensively while eliminating unnecessary steps.
- Ensure checked-in code is reviewed and meets coding standards.
- Deliver solutions where throughput, response, and processing times meet stated requirements.
- Ensure efficient utilization of system resources during operation.
- Deliver solutions that achieve or exceed maximum operational capacity requirements.
- Ensure, wherever possible, that the identity of an entity can be verified as correct.
Ensure the Solution is Maintainable
- Deliver solutions that perform efficiently and coexist with other solutions without negatively impacting them.
- Ensure the solution and codebase support future modifications and maintenance.
- Use appropriate standards and methodologies.
- Where possible, enable support teams to maintain solutions without developer intervention.
- Ensure modularity so changes to one component have minimal impact on others.
- Provide relevant documentation to support teams.
- Promote reusability so assets can be leveraged across multiple solutions.
- Implement mechanisms for fault analysis and reporting before critical failures occur.
- Develop solutions that support future modifications while minimizing defects and preserving system quality.
Ensure the Solution has a High Usability Factor
- Ensure users can achieve goals effectively, efficiently, and satisfactorily.
- Ensure users can easily recognize system workflows, functions, and capabilities.
- Support intuitive self-learning and usability.
- Protect users from making avoidable errors.
- Deliver user interfaces that provide a satisfying experience.
- Ensure accessibility for people with diverse characteristics, capabilities, cultures, and languages where appropriate.
Ensure the Solution is Reliable
- Ensure solutions perform appropriately under agreed conditions for extended periods without intervention.
- Reduce faults caused by misunderstood requirements, design errors, and implementation defects.
- Ensure solutions remain robust and continuously available.
- Respond to outages and failures when required.
- Improve fault tolerance, even under suboptimal operating conditions.
- Ensure complete data recoverability and restoration capabilities.
- Actively seek methods to reduce downtime.
- Ensure solutions can evolve as user volumes and requirements change.
- Simplify support and maintenance through traceability and effective error messaging.
- Increase solution maturity over time, reducing the frequency of required interventions.
- Minimize downtime in the event of failures.
Ensure the Solution has Effective Security
- Protect information and data, including data transmission.
- Ensure users and systems have access appropriate to their authorization level.
- Prevent unauthorized access, modifications, or changes to programs, data, and settings.
- Ensure a high degree of survivability despite attacks, human error, hardware failures, or software faults.
- Maintain logs and records to provide non-repudiation and auditability.
- Ensure actions can be uniquely traced to the responsible entity.
Testing, Verification, and Deployment
- Ensure solutions are test-friendly by creating:
- Effective test data mechanisms
- Automated testing hooks
- Simulations
- Deliver solutions with all assets required for seamless installation and deployment.
- Ensure solutions can adapt to evolving hardware, software, and operational environments.
Respond to Outages and Failures
- Provide proactive support to peers, QA, Dev Support, and Operations teams.
- Assist Dev Support during operational events and contribute to SOP creation.
- Be available to handle emergency outages and failures affecting team solutions.
- Troubleshoot and resolve issues effectively.
- Recommend and implement approved improvements to development methods and solutions.
- Deliver quick resolutions to application and system issues.
- Maintain solutions that have moved into the operational phase.
- Develop and maintain technical support documentation.
- Assess risks associated with production issues and changes and take appropriate mitigation actions.
Coaching and Mentoring
- Provide guidance, training, and problem-solving assistance to team members.
- Mentor and contribute to the growth of junior and intermediate developers.
- Design and deliver end-user training and training materials.
Job Specification
Qualifications
- Bachelor's Degree in Computer Science, Software Engineering, or a related field (advantageous).
Experience and Skills
- Minimum of 5 years' experience within a software development environment.
- Strong knowledge of software architecture principles and design fundamentals.
- Demonstrated leadership and mentoring skills.
- Detailed knowledge of the Software Development Lifecycle (SDLC).
- Experience with software project delivery and management.
- Strong written and verbal communication skills.
- Excellent attention to detail.
Living the Spirit
- Actively drive a culture of collaboration and open communication within the team.
- Promote authenticity and foster diversity, inclusion, equity, and belonging.
- Encourage versatility and adaptability by supporting team members across departments and the broader business.
- Act as a change agent and promote continuous learning.
- Encourage enthusiasm, proactivity, and a growth mindset when approaching challenges and opportunities.
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

