Job Search and Career Advice Platform

Enable job alerts via email!

Senior Software Developer

BETSoftware

Cape Town

On-site

ZAR 600 000 - 800 000

Full time

21 days ago

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading software development company in Western Cape is looking for a Senior Software Developer who will actively contribute to designing and implementing software solutions. The ideal candidate should have a Bachelor's degree in computer science or Software Engineering and at least 5 years of relevant experience. Responsibilities include mentoring junior team members and ensuring the highest standards of software quality and performance. This role offers a dynamic environment to influence software design and procedures.

Qualifications

  • At least 5 years’ experience within a development environment.
  • Demonstrated leadership and mentoring skills.
  • Good written and verbal communication skills.

Responsibilities

  • Actively contribute to design and planning meetings.
  • Deliver a complete solution covering all specified tasks.
  • Ensure solution is efficient and maintainable.
  • Provide guidance and mentoring to team members.

Skills

Attention to detail
Knowledge of design principles
Leadership/mentoring skills
Knowledge of the SDLC
Good communication skills
Adaptability to change

Education

Bachelor’s degree in computer science or Software Engineering
5 years of experience in a development environment
Job description

Job title : Senior Software Developer

Job Location : Western Cape, Cape Town

Deadline : December 31, 2025

Quick Recommended Links
  • Jobs by Location
  • Job by industries
Skill Set
  • Strong attention to detail.
  • Knowledge of design principles and fundamentals of architecture.
  • Demonstrated leadership / mentoring skills.
  • Detailed knowledge of the SDLC and management of software projects.
  • Good written and verbal communication skills.
  • Develop the solution in a manner which supports modification.
  • Adaptability to change.
Responsibilities
Design Fit for Purpose Solutions & Algorithms & planning.
  • Actively contribute to design and planning meetings, discussions and documentation.
  • Design solutions using most appropriate approved architectural pattern.
  • Ensure design patterns used are increasing the organisational levels of high-volume transactional performance, resilience, automation and innovation.
  • Ensure design meets best practices and are Test, DevOps and Support friendly • Identify and establish objectives for self and team.
  • Set objectives / 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 refactor approach for maximum benefit within the shortest possible time.
  • Formulate supporting plans and communicate with others in terms of dependencies and impact.
  • Publish plan to, peers and stakeholders through agreed methods.
Implementation of a solution that is complete, efficient and compatible
  • Deliver a complete solution which covers all the agreed specified tasks and user objectives
  • Deliver a correct solution which provides the correct results with the needed degree of precision.
  • Deliver an appropriate solution which facilitates the accomplishments of specified tasks and objectives comprehensively yet excluding unnecessary steps.
  • Ensure checked in code is reviewed to ensure standards are met and the code base is sound.
  • Deliver a solution in which throughput rates & response and processing times meet stated requirements.
  • Deliver a solution in which effective / efficient resource utilisation of system resources occurs during operation.
  • Deliver a solution which ensures the maximum operational capacity requirement is achieved or exceeded.
  • Deliver a solution which can effectively / efficiently exchange information with other products, systems or components.
  • Deliver a solution which performs efficiently and can co-exist with other solutions and does not have a detrimental impact on other solutions.
Implementation – Advises on the Solution and / or actions allocated tasks to ensure it has a High Usability Factor
  • Ensure the user /s of the solution can achieve specified goals with effectiveness, efficiency and satisfaction.
  • 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 on how to use the system with effectiveness and efficiency.
  • Ensure the solution protects the user against making errors.
  • Ensure the user interface is pleasing and presents a satisfying interaction for the user.
  • Actions the proposed solution thus ensuring that it is accessible and can be used by people with the widest range of characteristics, capabilities, cultures and languages where appropriate.
Implementation – Ensure the Solution is Reliable
  • 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 the solution is robust and remains continually available.
  • Respond to outages and failures when and where needed.
  • Improve fault tolerance even when operational conditions are not optimal.
  • Ensure complete data recoverability so that data may be recovered, and the desired state of the solution can be re-established (despite potential attacks).
  • Ensure the solution is maintainable, and actively seeks methods to reduce down-time.
  • 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 support through traceability, and effective error messaging.
  • Ensure over time, the solution becomes more mature where the interval between the interventions to remain operational become less frequent.
  • Ensure in the event of a failure reduce effective downtime is to the minimum possible.
Implementation – Ensure the Solution has Effective Security
  • Ensure the solution is secure, and confidential by protecting all information and data (also data transmission).
  • Ensure persons or other solutions have the degree of access appropriate to their level of authorization and types.
  • Ensure the solution has high integrity where the solution prevents unauthorised access to, 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).
  • Employ logs and records so that actions and events can be proven to have taken place and cannot be disputed / repudiated later Ensure wherever possible actions can be traced uniquely to the entity which performed it.
  • Ensure wherever possible the identify of an entity can be proved to be the correct one.
Implementation - Ensure the Solution is Maintainable.
  • Ensure the solution and its relevant code base supports ease of modification for future maintainers.
  • Ensure the use of appropriate standards and methods.
  • Ensure where possible (without affecting performance / security) the solution caters for maintenance by support teams rather than developers.
  • Ensure modularity where the solution consists of discrete components so that a change in one component has minimal impact on other components.
  • Ensure relevant documentation is provided to support teams to reduce development support burden.
  • Apply a strategy of reusability so an asset can be used in more than one solution or in building other assets.
  • 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 numbers of defects or negatively affecting system quality.
Testing, verification and deploying
  • Ensure the solution is test friendly by creating effective mechanisms for test data, automated testing hooks and simulations.
  • Ensure the solution is delivered completely and with the additional assets which are required to make installation / deployment as seamless and easy as possible.
  • Ensure the adaptable solution delivered is appropriate for different or evolving hardware, software or other operational usage environments.
Respond to Outages & Failures
  • Provide proactive support to Peers, Testing, Dev Support and Operational teams so number of escalations to the development team is reduced, thereby maximising development time.
  • Provide support to the Dev Support when required during operational events and create or assist with the creation of SOP’s.
  • Be available to handle emergency outages and failures for your or your teams’ solutions.
  • Perform trouble shooting and effectively resolve issues to increase solution stability and reduce intervention required over time.
  • Recommend and execute approved improvements to development methods and solutions.
  • Provide quick resolutions to app / system issues, driving stability, efficiency and effectiveness.
  • Maintain solutions which have completed development and are in the operations phase.
  • Develop technical support documentation and where possible / necessary, maintain the documentation.
  • Assess risk and impact of production issues / changes and take appropriate steps to mitigate risk.
Coaching / Mentoring
  • Provides guidance, training, and problem-solving assistance to other Team Members.
  • Mentors and contributes to the growth of junior and intermediate Team Members.
  • Designs and delivers end-user training and training materials.
Living the spirit :
  • Actively drives a culture of collaboration and open communication within the team.
  • Actively promotes authenticity and drives the spirit of diversity, inclusion, equity and belonging within the team.
  • Actively drives a culture of versatility and adaptability by modelling and encouraging Team Members to support each other not only within the department, but within the business as a whole.
  • Actively become a change agent and drive continuous learning within the team thus ensuring that the team approaches all tasks or challenges with enthusiasm and proactivity.
Qualifications
  • Bachelor’s degree in computer science, Software Engineering, or similar field (advantageous).
  • At least 5 years’ experience within a development environment.
  • Knowledge of design principles and fundamentals of architecture.
  • Demonstrated leadership / mentoring skills.
  • Detailed knowledge of the SDLC and management of software projects.
  • Good written and verbal communication skills.
  • Strong attention to detail.
Apply Before 12 / 19 / 2025

Applications should be submitted by this date.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.