Software Engineer

Johannesburg, Gauteng, South Africa

Job Description


Job Summary

Role purpose:

The Software Engineer is responsible for creating prototypes, designing and building modules and solutions in an 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 xe2x80x9cjust enoughxe2x80x9d 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.

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 as level two and level three support
  • Manage problems as level two and level three support
Key performance indicators:
  • Number of new/updated features released per quarter
  • % of users of new features by channel
  • Release frequency
  • Defects per User story points
  • Productivity improvement /Velocity
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
  • 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
  • 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, with the ability to distil difficult technical concepts into simple and actionable modules
  • 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
Must have technical / professional qualifications:
  • Bachelor's Degree in Computer Science, Information Systems, Business Administration, or other related field
  • At least 5 years relevant experience of which a minimum of three years is in programming and/or systems analysis applying agile frameworks
  • 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
  • EE candidates
  • Must have a degree
  • Skills - Agile - Scrum - JAVA - SQL
  • Work experience 4 years and above
  • Ideal candidate must come from the Banking - Telecoms medium size companies
Tower Group

Recruiter

Job Mail

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.


Job Detail

  • Job Id
    JD1248354
  • Industry
    Not mentioned
  • Total Positions
    1
  • Job Type:
    Full Time
  • Salary:
    Not mentioned
  • Employment Status
    Permanent
  • Job Location
    Johannesburg, Gauteng, South Africa
  • Education
    Not mentioned