Software Engineer II
Shoprite Group
About the role
Purpose of the Job
The role is responsible for system analysis, design, creation and testing of medium to complex applications, in accordance with agreed specifications and standards. Works alongside systems designer(s) to build new and sustainable systems and creative software solutions. Executes technical design, development, maintenance, and support of systems of medium to high complexity. Has specialist technical writing skills for Use case relatives and diagrams.
Job Objectives
• Coordinate, design, develop and implement efficient and effective solutions by creating well engineered business applications for multiple channels
o Liaise with technical and business users to define requirements on medium to large projects and serve as a technical expert in understanding and translating business requirements into the appropriate applications and solutions. o Conduct system analysis of moderate to high complexity and support system designers with related solution(s) and alternatives that address business needs and exceed customer expectations. o Create conceptual, logical, and physical solutions and write clean, scalable code using appropriate coding techniques, methodologies, and programming languages. o Develop solutions, systems, and unit test standards according to organisational frameworks and standards. o Maintain analysis / development principles and quality compliance criteria to deliver according to commitments. o Coordinate requirements with systems designer and other developers. o Participate in the planning and identification of areas for modification and improvement and complete deliverables throughout the system development life cycle for compliance according to agreed plan. o Work within the frameworks of both waterfall SDLC and Agile (SCRUM, Tester & Application Analyst) methodologies. o Plan, organise and control own work effort, including regular progress feedback to own and other relevant areas. Assist in managing work effort of Analyst Programmers I. o Ensure effective solution development and perform quality assurance and testing on moderate to high complexity projects o Create program documentation and scripting on moderate to high complexity projects.
• Support and maintain existing solutions and front-end systems
o Troubleshoot moderate to high complexity channel transactional data and system related issues and Identify problems and propose changes, liaise with technical and business users to resolve issues and coordinate and support implementation of changes to existing systems o Identify problems and propose changes o Liaise with technical and business users to resolve issues o Coordinate and/or implement changes to existing systems
• Analyse, develop, implement, and assist with designing of solutions
o Liaise with Designer and Architect to define requirements, system design and documentation on moderate to high complexity projects. o Conduct system analyses on moderate to high complexity projects. o Coordinate and execute system development and build automation testing for volume and Integration. o Perform quality assurance and code review on moderate to high complexity projects. o Work within and ensure adherence to organisational frameworks, processes, and best practices.
• Integration of new software and systems into existing environment
o Investigate and analyse new software and systems o Plan, design, and support systems designer with integration solutions for medium to high complexity systems integration. Qualifications
• Diploma /Degree in Information Systems / B.Sc Computer Science (or similar)
o "Strong" achievement in IKM assessment for Developers o "Strong" achievement in IKM assessment for Design o Agile Foundation Training completed o Security training (OWASP top 10) completed and advanced o Basic certification in a programming language and related frameworks -or- o Basic certification on software / solution design (depending on position requirements) – (essential). Experience
• +5 years’ experience as a Software Engineer / Analyst Programmer – (essential).
o Extensive Experience with working on highly complex projects within the Software Development Life Cycle – (essential) o Extensive Experience building software using languages and technologies of the .NET framework, .NET Core, as well as testing (unit, system, performance, integration, and volume) - (essential) o Extensive code review and code quality assurance experience - (essential) o Demonstrable experience in System integration & analysis; - (essential) o Expert level experience in database design and development using T-SQL code (essential). o Experience with NoSql will be advantageous. o UI design and basic user experience (UX) principles (essential). o SOLID and OOP practical experience (essential) Knowledge and Skills
Expert level knowledge in distributed source control systems, like GIT or TFS, Application-level architecture and Web services (SOAP and Rest) - (essential) o Extensive UML exposure including sequence and class diagrams - (essential) o Extensive knowledge of networking and security principles and requirements - (essential) o Demonstrable experience working on projects in both Agile and DevOps - (essential) o Experience in a retail environment - (essential) o Agile Development, SCRUM, or Extreme Programming methodologies - (essential) o Automation (Unit and deployment) - (desirable) o Designing user interactions on websites, developing servers, and databases for website functionality - (desirable) o Micro services - (desirable)
Applicant Feedback Policy
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free