The purpose of this role is to write, modify, refactor, debug, troubleshoot and test new or existing systems of low to medium complexity and scale, ensuring that the code functions reliably and optimally according to Shoprite programming standards. The role works alongside the Programming team to use patterns, libraries, frameworks, and processes for critical activities throughout the entire lifecycle of a solution. The role requires a good understanding of programming concepts, frameworks and languages and will be required to continuously
develop/enhance these skills and competence to enable optimal delivery of code.
Job Objectives
Configure and create technical components and services required to deliver within required business features and frameworks
Analyse and understand business requirements on assigned projects in the context of the current business environment in conjunction with Product Manager, Business Analysts and Solution Architects.
Complete deliverables and develop and maintain documentation according to agreed plan throughout the software/system development life cycle on assigned projects and maintain source base. Understand and confirm system requirements with Systems Analyst and document accordingly.
Create conceptual, logical, and physical solutions and write clean, scalable code on assigned projects using appropriate coding techniques, methodologies, and programming languages.
Support Senior and Lead Programmers the identification and development of suitable coding solution(s) and alternatives according to organisational frameworks, development principles, and quality compliance standards and criteria that address business needs/stakeholder requirements, solution delivery and operations areas.
Coordinate requirements with systems designer and senior and lead developers.
Work within the frameworks of both waterfall SDLC and Agile (SCRUM) methodologies.
Work independently to deliver optimal and reliable solutions and functionalities on assigned projects in line with Shoprite standards.
Work within the frameworks of both waterfall SDLC and Agile (SCRUM) methodologies.
Deliver development projects and changes and manage the release process
Provide technical support to Senior and Lead Developers, IT, and internal stakeholders.
Partner with stakeholders on assigned projects to ensure clear understanding of program and project goals and needs and execute on delivery requirements. Provide support on assigned projects during the deployment and the production stage.
Perform routine code reviews and apply QA changes. Support successful deployment through the respective quality gates.
Detect and escalate critical deficiencies and project risks.
Perform unit testing of developed programs and functions on assigned projects.
Support the setting up of and maintenance of technical infrastructure.
Execute coding according to industry best practice.
Provide teams with technical input and advice and deliver continuous improvement by keeping up to date with relevant technology
Provide technical support to the development team, IT, and the business (external and internal stakeholders).
Actively share insights and information with relevant stakeholders and team to inform collaborative efforts and continuous improvement.
Work within organisational frameworks, processes, and best practices.
Stay updated on the latest research and developments in programming and adjacent fields to ensure the latest technology, techniques and methods are always applied.
Qualifications
Matric with extensive, relevant, and demonstrable job-related experience in technology orientated activities in a Programming capacity - (essential)
Diploma /Degree in Information Systems / B.Sc. Computer Science (or similar) - (preferred)
Fundamental Certification in cloud technologies - (essential)
Experience
+2 years' experience +2 years' experience working with programming languages - (essential).
Knowledge and Skills
Demonstrable practical knowledge of C# and SQL - (essential)
Working knowledge of and exposure to the following:
Coding and building solutions/software using languages and technologies of the .NET framework (ASP.Net, C#) - (essential)
Front and back-end coding - (essential)
Distributed source control systems, like GIT - (essential)
Participation in code review and code quality - (essential)
Web services (SOAP and Rest) - (essential)
UI design and basic user experience principles - (essential)
UML exposure including sequence and class diagrams - (essential)
Experience with working on projects within the Software Development Life Cycle - (essential)
Software testing (unit, system, performance, integration, and volume) - (desired)
System integration & analysis and Restful APIs and API integration - (desired / advantageous)
Database design and development using SQL code - (desired / advantageous)
Internals and architecture of SQL Server - (desired / advantageous)
Cloud Services, preferably AWS (S3, CloudFormation scripts, Lamda's, SES, SQS and step functions) - (desirable)
Working on projects in both Agile and DevOps - (desirable)
Automation (Unit and deployment) - (desirable)
MVC, WPF, WCF and OO principles - (desirable)
Micro services - (desirable)
General networking and security principles and requirements - (desirable)
Experience in a retail environment - (desirable)
Applicant Feedback Policy
Beware of fraud agents! do not pay money to get a job
MNCJobs.co.za will not be responsible for any payment made to a third-party. All Terms of Use are applicable.