Senior Software Engineer
1 week ago
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 specification:
- 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.
Job 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 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 down time 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 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.
Please note that only candidates who meet the stipulated minimum requirements will be considered. If you have not been contacted within 30 days, kindly find your application to be unsuccessful.
-
Senior Software Developer
3 days ago
Umhlanga, KwaZulu-Natal, South Africa BET Software Full time R80 000 - R120 000 per yearWe Want You:BET Software seeks a Senior Software Developer to spearhead the creation and integration of complex software solutions. Responsibilities include designing, coding, and testing applications while providing technical leadership to the development team. If you're driven by ensuring BET's software quality and functionality, seize this opportunity to...
-
Intermediate Software Development Engineer
3 days ago
Umhlanga, KwaZulu-Natal, South Africa BET Software Full time R80 000 - R120 000 per yearWe Want You:Are you ready to take on exciting challenges and grow your software engineering career? BET Software is looking for two Intermediate Software Development Engineers (Live) to join our fast-paced team in Durban. In this role, you'll be hands-on with coding, problem-solving, and implementing top-tier software solutions. You'll collaborate with a...
-
Talent Pool: Tech Roles
3 days ago
Umhlanga, KwaZulu-Natal, South Africa BET Software Full time R80 000 - R120 000 per yearAt BETSoftware, we're not just building systems — we're engineering the future of digital entertainment. As a leading Betting and Gaming Software Development Company based in South Africa, with a strong presence in Durban, Johannesburg, East London and Cape Town, we proudly serve high-performance, high-transaction environments across Sub-Saharan Africa and...
-
Software Engineer
1 week ago
Umhlanga, KwaZulu-Natal, South Africa Mergemega Full time R700 000 - R1 500 000 per year**Software Engineer (AI Models & API Development)Location: Umhlanga / South AfricaCompany: Mergemega**Mergemega is building advanced AI systems for real-time customer acquisition. We are looking for a Software Engineer who can train AI models, build enterprise-grade APIs, and develop production-ready applications using modern technologies, including Vibe...
-
Senior Water Engineer
3 days ago
Umhlanga, KwaZulu-Natal, South Africa Hire Resolve Full time R900 000 - R1 200 000 per yearHire Resolve's client, a well-established engineering consulting firm, is seeking a Senior Water Engineer to join their team in Umhlanga. Responsibilities: Design, analyze, and manage water resource systems such as water supply, stormwater, wastewater, and irrigation systems.Conduct hydrologic and hydraulic modeling using software tools such as HEC-HMS,...
-
Senior Software Developer
1 week ago
Umhlanga, KwaZulu-Natal, South Africa BETSoftware Full time R400 000 - R1 200 000 per yearWe Want YouBET Software seeks aSenior Software Developerto spearhead the creation and integration of complex software solutions. Responsibilities include designing, coding, and testing applications while providing technical leadership to the development team. If you're driven by ensuring BET's software quality and functionality, seize this opportunity to...
-
Intermediate Software Development Engineer
1 week ago
Umhlanga, KwaZulu-Natal, South Africa BETSoftware Full time R500 000 - R1 200 000 per yearWe Want YouAre you ready to take on exciting challenges and grow your software engineering career? BET Software is looking for twoIntermediate Software Development Engineers (Live)to join our fast-paced team in Durban. In this role, you'll be hands-on with coding, problem-solving, and implementing top-tier software solutions. You'll collaborate with a...
-
Graduate Structural Engineer
3 days ago
Umhlanga, KwaZulu-Natal, South Africa Hire Resolve Full time R250 000 - R500 000 per yearHire Resolve, a leading recruitment agency, is seeking a Graduate Structural Engineer to join our client's team in Umhlanga. As a Graduate Structural Engineer, you will have the opportunity to work on a wide range of projects and gain valuable experience in the field of structural engineering. You will be involved in the design, analysis, and documentation...
-
Senior Quality Control System
3 days ago
Umhlanga, KwaZulu-Natal, South Africa Sappi Full time R800 000 - R2 500 000 per yearDescriptionDescriptionWe are hiringAt Sappi, we are a leading global provider with a reputation for delivering high-quality sustainable Woodfibre products and solutions for the global markets. We lead through our values centred around safety, integrity, courage, making smart decisions which we execute with speed. We are seeking unique people who believe in...
-
Civil Engineering Draughtsperson
3 days ago
Umhlanga, KwaZulu-Natal, South Africa Hire Resolve Full time R250 000 - R500 000 per yearWe are seeking a skilled and experienced Civil Engineering Draughtsman to join our client's team in Umhlanga. The ideal candidate will collaborate with engineers to produce accurate technical drawings and plans, ensuring compliance with relevant codes and standards. This role requires proficiency in AutoCAD and other design software, strong attention to...