Role purpose:
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.
Recommended:
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
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
- 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
- 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
- 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
ertified 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.
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
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
- 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
- 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
- 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
ertified Scrum Developer (CSD) preferred - Competency in UX principles and practices preferred
Key Accountabilities And Decision Ownership
- Review the loyalty requirements, specifications, and technical design documents to ensure adherence to design quality and coding standards
- Design and implement acceptance tests for user and technical stories
- Test and validate the loyalty solution against user story and technical story acceptance criteria, leveraging automation where possible
- Debug tests and provide corrective actions to software engineering
- Identify, record, and monitor testing bugs
- Track quality assurance metrics, such as defect density and early life incidents
- Estimate, prioritize, plan, and coordinate testing activities
- Manage incidents and problems as level two and level three support
- Suggest improvements to user stories and UX
Read Also:
Core Competencies, Knowledge, Qualifications & Experience
- Technical design assessment and evaluation
- End-to-end solution and software test design, execution, and validation, with management of testing scenarios across teams / capabilities
- Unit, integration, smoke and static code analysis testing
- Architectural element testing e.g. APIs
- Performance and security testing
- Automated testing and tools e.g. Selenium
- Code reviewing
- Test report creation
- Software incident and problem management
- Continuous integration and continuous delivery methodologies and tools
- DevOps culture, processes, and tools
- Expertise in multiple programming and mark-up languages, such as HTML, CSS, JavaScript, Java, Ruby, SQL, XML, JSON, YAML, and Python
- Competent working with cloud-native architectures, including public cloud PaaS/ IaaS, micro-services architectures, APIs
- Strong creativity, analysis, and problem solving skills and ability to learn new methods and processes
- Strong relationship building, persuasion, and collaboration skills that drives effective constructive feedback and support
- Strong written and verbal communications skills, with the ability to distil difficult technical concepts into simple and actionable practices
- Strong time-management skills, with the ability to juggle multiple balls, and comfortable working under pressure
- 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
Must have technical / professional qualifications:
- Bachelor’s Degree in Computer Science, Information Systems or other related field
- At least 3 years relevant work experience of with two or more years is in software quality assurance, testing, programming and/or systems analysis
- Experience of software QA methodologies, tools, and processes, with experience writing and executing comprehensive test plans and cases
- Experience of automated testing tools and scripting
- Experience working with agile methodologies, such as Scrum, Kanban,
- 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
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.