This position will be accountable for :
- Understanding the product goals and related strategy, and communicating with stakeholders (including clients) to clarify and define requirements.
- Researching, designing, implementing, and maintaining enterprise and business architecture.
- Developing and/or selecting critical components of the overall solution.
- Specifying and designing medium to large and/or moderately complex to complex systems.
- Designing, coding, testing, correcting, and documenting new and amended software components from agreed specifications and subsequent iterations, using agreed standards and tools.
Additional responsibilities include:
- Assisting with the effective allocation of tasks to team members, including coaching and mentoring less experienced developers and/or graduates.
- Participating in the review of own work and that of others.
- Analyzing business processes to identify potential alternative and new approaches, including automation, cost assessment, benefits, and change impacts.
- Assisting with the definition and management of business goals and the scoping of medium to large or relatively complex changes.
- Thoroughly documenting and supporting software components that are deployed, and participating and/or leading in all facets of the software lifecycle.
- Acting as a point of contact for technical issues, creating documentation, and monitoring service levels.
- Ensuring that solution development projects or programs are delivered on time, within budget, meet quality targets, and align with standards, methods, and procedures.
Knowledge, skills, and attributes :
- Knowledge of the regulatory, risk, and compliance environment and requirements, e.g., privacy policies.
- Strong written presentation skills, both technical and verbal, with the ability to structure and articulate complex information to different audiences at all levels.
- Good analytical and problem-solving skills.
- Solid interpersonal skills with the ability to work across different levels in the organization.
- Ability to work independently and as part of a wider team.
- Developing subject matter expertise and able to mentor and coach less experienced team members.
- Proficiency in related software development, collaboration, and testing tools (e.g., GitLab, Slack, Selenium, Chaos Monkey, Postman).
- Understanding and alignment with standard methodologies regarding object-oriented design, coding standards, DevSecOps, RESTful service development and integration, common design patterns, secure application development, test coverage, containerization, and code reviews.
- Active interest in new technology and emerging engineering practices.
- A comprehensive understanding of the software development process, including analysis, design, coding, system and user testing, problem resolution, and planning.