Specialist: 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 Specialist Software Engineer role is based within the Technology Business Unit.

The role of the Specialist Software Engineer is to be responsible for the development of new and existing products and shared micro services by 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.

Your responsibilities will include:

Estimate user and technical stories to help inform and prioritize backlog
Design modules according to user stories and technical stories
Develop solutions according to designs and deploy using continuous integration and deployment pipelines
Develop and execute unit and integration tests; support testing against user and technical story acceptance tests
Integrate image-scanning and signing process to prevent vulnerabilities as part of an enterprise’s continuous integration/continuous delivery (CI/CD) process. 
Ensure applications are scanned during the build and run phases of the software development life cycle, emphasizing the scanning and identification of open-source components, libraries and frameworks.
Set up mandatory access controls, ensure separation of duties and institute a secrets management policy. 
Deploy security products that provide whitelisting, behavioral monitoring and anomaly detection to prevent malicious activity.
Implement strong version control for code and components and by training the developers, QA teams on secure coding practices.
Deploy infrastructure automation tools to ensure that infrastructure provisioning and management is automated and streamlined to account for the dynamic nature of containerized workloads.
Build and test applications in production-like environments by integrating DevOps toolchains with Kubernetes-based container orchestration tools.
Focus on instrumenting applications to enable observability. This will involve deploying tools for additional logging, metrics collections and distributed tracing.
Manage incidents and problems as level two and level three support 

Core competencies, knowledge and experience:

Agile and lean programming and development of software and reporting systems (Eg. Springboot, Angular)
Backlog Grooming and estimation
Unit, performance, integration and static code analysis testing methodologies and tools (eg. JUnit, Jmeter, Loadrunner, Sonarqube)Architectural element documentation and testing (e.g. APIs, Swagger)
Automated testing and tools (e.g. Python, SOAP UI, Postman, Selenium) 
Software incident and problem management
Expertise in multiple programming and mark-up languages, such as Java, .net, HTML, CSS, JavaScript, Ruby, SQL, XML, JSON, YAML, Python, PL SQL, Ab initio, ETL and paradigms such as object-oriented-, even-driven-, procedural-, functional-, and declarative programming
Continuous integration and continuous delivery methodologies and tools (eg. Jira, Gitflow, Nexus, Jenkins, JHipster, Elasticsearch, Logstash, Prometheus, Grafana, Kibana)
DevOps culture, processes, and tools
Cloud-native architectures, including public cloud PaaS / IaaS, micro-services architectures, API
Flexibility to deal with changing projects and priorities in a short space of time
Strong problem solving skills and ability to learn new methods and processes
Strong relationship building, persuasion, and collaboration skills that drives internal-and cross-team constructive feedback and support
Strong communications skills and time-management skills, with the ability to juggle multiple balls, and work well under pressure
Understanding of both the current Telecommunications and digital services market, artificial intelligence, business intelligence, emerging business and technology trends

The ideal candidate for this role will have:

Matric / Grade 12 essential
3-year degree / diploma Bachelor’s Degree or diploma in Computer Science, Information Systems, Business Administration, or other related field is essential
3- 5 years’ relevant experience in programming and systems analysis applying agile frameworks essential

Experience working with agile methodologies, such as SAFe, Scrum, Kanban, XP, LSD, and FDD
Strong knowledge of software architecture principles 

Cloud Development certification (eg. AWS Certified Developer) preferred
Experience working in Continuous Integration and Continuous Deployment environments preferred
Experience and knowledge of Big Data and Analytics technologies preferred
Experience working in cloud-native (private cloud eg. Openshift and public cloud. Eg AWS, Azure Google Cloud) environments is preferred.
Competency in UX principles and practices preferred.

Every great brand stands for something and at Vodafone we exist to connect for a better future. At Vodafone, our people live the brand. Working at Vodafone is all about helping people feel ready to benefit from new technology. We bring the future to even the most remote places, using technology to help families in disaster zones, showing young people that a phone is not just for fun and thinking about technology that doesn’t even exist yet. Over 30 years ago, we made the first ever mobile phone call and sent the first SMS in Britain and have been changing the lives of billions of people ever since. We are taking 4G to the Moon and using big data for social good to intelligent transport systems and emergency drones, we are still shaking things up. We believe being different is good. We’re proud to offer equal opportunities regardless of race, nationality, cultural background, gender, age, marital status, sexual orientation, gender identity, disability, religious or political belief. We can only leverage this diversity by building an inclusive culture where everyone is respected, can be themselves and strive to be their best. Your different perspectives help us to shape the future. No matter where you are, the way we see the future binds us together. We want our people to be at the top of their game by giving them the freedom and the opportunities to make a difference. We want our people to be pioneers, by adopting new technologies and being excited about the future. The future is exciting. Ready?