Software Engineer: System Integration at Vodacom
The Software Engineer is responsible for creating prototypes, designing and building modules and solutions in an iterative agile cycle, develop, maintain, and optimize the business outcome. This role is responsible for estimating user and technical stories, designing, and developing code, writing and executing unit and integration tests, and supporting testing of deliverables against user and technical story acceptance tests. The incumbent is responsible for performing peer reviews, collaborating with architects and other developers to produce “just enough” design, and ensuring that enough technical documentation and training is provided for reference and operational support. This role is responsible for providing software-related operations support, including managing level two incident and problem management.
Key accountabilities and decision ownership
Estimate user and technical stories to help inform and prioritize backlog
Design modules according to user stories, UX designs, and technical stories
Develop solutions according to module designs and deploy using delivery pipeline
Develop and execute unit and integration tests; support testing against user and technical story acceptance tests
Suggest improvements to user stories and UX
Manage technical debt as part of daily activities
Conduct peer reviews and maintain coding standards
Manage incidents and problems as level two and level three support
Competencies, Knowlege, Qualifications and Experience
Core competencies, knowledge and experience
Agile and lean programming and development of software systems in Web-scale environments
Backlog item estimation
Unit, integration, smoke and static code analysis testing
Architectural element testing e.g. APIs
Automated testing and tools e.g. Selenium
Software incident and problem management
Working knowledge of the following databases i.e. MariaDB, MySQL, MongoDB.
Working knowledge of Operating systems such as LINUX etc.
Continuous integration and continuous delivery methodologies and tools
DevOps culture, processes, and tools
Cloud-native architectures, including public cloud PaaS / IaaS, micro-services architectures, API
Flexibility to deal with changing projects
Strong problem solving skills
Strong communications skills
Strong time-management skills
Understanding of both the current Telecommunications and digital services market and emerging business and technology trends
Must have technical / professional qualifications:
Bachelor’s Degree in Computer Science, Information Systems or other related field
At least 3 years relevant experience of which a minimum of two years is in programming and/or systems analysis applying agile frameworks
Experience working with agile methodologies, such as Scrum, Kanban
Ruby, SQL, XML, JSON, YAML and Python, and paradigms such as object-oriented-, even-driven-, procedural-, functional-, and declarative programming
Strong knowledge of software architecture principles
Experience working in cloud-native environments
Certified Scrum Developer (CSD) preferred
Competency in UX principles and practices preferred
Not a perfect fit?
Worried that you don’t meet all the desired criteria exactly? At Vodafone we are passionate about Inclusion for All and creating a workplace where everyone can thrive, whatever their personal or professional background. If you’re excited about this role but your experience doesn’t align exactly with every part of the job description, we encourage you to apply as you may be the right candidate for this role or another role, and our recruitment team can help you see how your skills fit in.