Role Description
This role focuses on building software applications, owning services end to end, improving system reliability, and contributing to architecture and process improvements.
Key Responsibilities
- Build software applications using relevant development languages and applying knowledge of systems, services and tools appropriate for the business area.
- Write readable and reusable code by applying standard patterns and using standard libraries.
- Refactor and simplify code by introducing design patterns when necessary.
- Ensure the quality of the application by following standard testing techniques and methods that adhere to the test strategy.
- Maintain data security, integrity and quality by effectively following company standards and best practices.
- Own a service end to end by actively monitoring application health and performance, setting and monitoring relevant metrics, and acting accordingly when thresholds are violated.
- Reduce business continuity risks and bus factor by applying state-of-the-art practices and tools, and writing appropriate documentation such as runbooks and OpDocs.
- Reduce risk and obtain customer feedback by using continuous delivery and experimentation frameworks.
- Independently manage an application or service by working through deployment and operations in production.
- Address and resolve live production issues by mitigating customer impact within SLA.
- Improve the overall reliability of systems by producing long-term solutions through root cause analysis.
- Keep track of incidents by contributing to postmortem processes and logging live issues.
- Advise product teams towards a technical solution that meets functional, nonfunctional and architectural requirements by challenging the rationale for an application design and providing context in the wider architectural landscape.
- Set a clear direction for a technical capability by evaluating and aligning target architecture improvements, reframing architectural designs and decisions for varied stakeholders.
- Evaluate possible architecture solutions by taking into account cost, business requirements, technology requirements and emerging technologies.
- Describe the implications of changing an existing system or adding a new system to a specific area, with a broad, high-level understanding of the infrastructure and architecture of systems.
- Help grow the business and/or accelerate software development by applying engineering techniques such as prototyping, spiking and vendor evaluation, and standards.
- Design solutions that meet current requirements and are adaptable for future enhancements.
- Systematically identify patterns and underlying issues in complex situations, and find solutions by applying logical and analytical thinking.
- Constructively evaluate and develop ideas, plans and solutions by reviewing them, objectively taking into account external knowledge, initiating SMART improvements and articulating their rationale.
- Identify opportunities for process, system and structural improvements by examining and evaluating current process flows, methods and standards.
- Design and implement relevant improvements by defining adapted or new process flows, standards and practices that enable business performance.
- Guide more junior members of the team on data security, integrity and quality.
- Deliver clear, well-structured and meaningful information to a target audience by using suitable communication mediums and language tailored to the audience.
- Achieve mutually agreeable solutions by staying adaptable, communicating ideas in clear coherent language and practising active listening.
- Ask relevant follow-up questions to properly engage with the speaker and understand what they are saying by applying listening and reflection techniques.
- This role may require participation in an on-call rotation.
Stakeholders
- Peers
- Product Owners
- Team Members
Communication Type
- Cooperation - Information
- Cooperation - Persuasion - Information
Communication Frequency
Requirements of special knowledge/skills
- P3 - Proficient at building software applications
- P2 - Experience in End to End System Ownership
- P2 - Experience in Software Systems Design
- P2 - Familiar with Architectural Guidance
- P2 - Experience in Technical Incident Management
- P2 - Experience in Technical Leadership
- P2 - Experience in effective Communication
- P2 - Experience in continuous quality improvement
- P3 - Proficient in critical thinking