Senior Software Engineer

At Vodacom, we’re working hard to build a better future. A more connected, inclusive and sustainable world. As a dynamic global community, it's our human spirit, together with technology, that empowers us to achieve this. 

We challenge and innovate in order to connect people, businesses, and communities across the world. Delighting our customers and earning their loyalty drive us, and we experiment, learn fast and get it done, together.

With us, you can be truly be yourself and belong, share inspiration, embrace new opportunities, thrive, and make a real difference. 

Role Purpose

The Senior Java Software Engineer role based within the Technology Business Unit.

The Software Engineer is responsible for creating prototypes, designing and building modules and solutions in iterative agile cycles, 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 and level three incident and problem management.

Your responsibilities will include:

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 as level two and level three support
Manage problems as level two and level three support

The ideal candidate for this role will have:

Matric / Grade 12 essential
3 year degree / diploma / Bachelor’s Degree in Computer Science, Information Systems, Business Administration, or other related field essential

5+ years relevant experience of which a minimum of three years is in programming and/or systems analysis applying agile frameworks essential
Experience working with agile methodologies, such as Scrum, Kanban, XP, LSD, and FDD
Experience working with multiple programming and markup languages, such as HTML, CSS, JavaScript, Java, 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
Professional experience and knowledge of the Telecommunications industry preferred
Certified Scrum Developer (CSD) preferred
Competency in UX principles and practices preferred

Core competencies and knowledge:
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
Code reviewing
Software incident and problem management
Expertise in multiple programming and markup languages, such as HTML, CSS, JavaScript, Java, Ruby, SQL, XML, JSON, YAML, and Python, and paradigms such as object-oriented-, even-driven-, procedural-, functional-, and declarative programming
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
Highly cross-functional and able to swap and perform adjacent roles at short notice
Flexibility to deal with changing projects and priorities in a short space of time
Willingness to track, assess, and incorporate practice and technology developments into day-to-day working
Good understanding of the business capability / user journey, wider organizational goals, and desired product business outcomes
Understanding of both the current Telecommunications and digital services market and emerging business and technology trends

The base location for this role is, Century City, Cape Town

The Company’s approved Employment Equity Plan and Targets will be considered as part of the recruitment process. As an Equal Opportunities employer, we actively encourage and welcome people with various disabilities to apply.
Vodacom is committed to an organisational culture that recognises, appreciates and values diversity & inclusion.

Vodacom is a leading African communications company providing a wide range of communication services, including data, mobile and fixed voice, messaging, financial services, enterprise IT and converged services to 116 million customers (including Safaricom). From our roots in South Africa, we have grown our mobile network business to include operations in Tanzania, the Democratic Republic of the Congo (the DRC), Mozambique, Lesotho and Kenya. Our mobile networks cover a population of over 289 million people. Joining Vodacom is more than a job, what we do matters. We don’t just carry minutes, texts and data – we carry people’s lives. And that’s a huge responsibility. If you think for a minute about the people you rely on…the likelihood is they rely on us. Customers are at the heart of everything we do and we want to make a difference to the lives of our customers, and the communities in which we live and work. We support our people to give something back to the causes that mean the most to them through helping them give time and money to the charities they love. And what’s it like to work here? We have created an environment where you can look forward to coming to work and are empowered to be at your best. We offer flexibility in how you work that helps you do your job in a way that suits you, opportunities to help you grow and progress throughout your career and a choice of benefits to suit your lifestyle.